diff --git a/.bezisidekick/.settings.json b/.bezisidekick/.settings.json
new file mode 100644
index 0000000..02dc042
--- /dev/null
+++ b/.bezisidekick/.settings.json
@@ -0,0 +1 @@
+{"version":"1.0.0","ignored_packages":["com.unity.collab-proxy","com.unity.ide.rider","com.unity.ide.vscode","com.unity.ide.visualstudio","com.unity.visualscripting"]}
\ No newline at end of file
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..ddb6ff8
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,5 @@
+{
+ "recommendations": [
+ "visualstudiotoolsforunity.vstuc"
+ ]
+}
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..da60e25
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,10 @@
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Attach to Unity",
+ "type": "vstuc",
+ "request": "attach"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..ca91b7a
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,61 @@
+{
+ "files.exclude": {
+ "**/.DS_Store": true,
+ "**/.git": true,
+ "**/.vs": true,
+ "**/.gitmodules": true,
+ "**/.vsconfig": true,
+ "**/*.booproj": true,
+ "**/*.pidb": true,
+ "**/*.suo": true,
+ "**/*.user": true,
+ "**/*.userprefs": true,
+ "**/*.unityproj": true,
+ "**/*.dll": true,
+ "**/*.exe": true,
+ "**/*.pdf": true,
+ "**/*.mid": true,
+ "**/*.midi": true,
+ "**/*.wav": true,
+ "**/*.gif": true,
+ "**/*.ico": true,
+ "**/*.jpg": true,
+ "**/*.jpeg": true,
+ "**/*.png": true,
+ "**/*.psd": true,
+ "**/*.tga": true,
+ "**/*.tif": true,
+ "**/*.tiff": true,
+ "**/*.3ds": true,
+ "**/*.3DS": true,
+ "**/*.fbx": true,
+ "**/*.FBX": true,
+ "**/*.lxo": true,
+ "**/*.LXO": true,
+ "**/*.ma": true,
+ "**/*.MA": true,
+ "**/*.obj": true,
+ "**/*.OBJ": true,
+ "**/*.asset": true,
+ "**/*.cubemap": true,
+ "**/*.flare": true,
+ "**/*.mat": true,
+ "**/*.meta": true,
+ "**/*.prefab": true,
+ "**/*.unity": true,
+ "build/": true,
+ "Build/": true,
+ "Library/": true,
+ "library/": true,
+ "obj/": true,
+ "Obj/": true,
+ "Logs/": true,
+ "logs/": true,
+ "ProjectSettings/": true,
+ "UserSettings/": true,
+ "temp/": true,
+ "Temp/": true
+ },
+ "dotnet.defaultSolution": "Map.sln",
+ "dotnet.preferCSharpExtension": true
+}
\ No newline at end of file
diff --git a/Assets/Animation.meta b/Assets/Animation.meta
new file mode 100644
index 0000000..925713e
--- /dev/null
+++ b/Assets/Animation.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1a8f99f15e76c469b9467aafdf9fa47b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Animation/Character.meta b/Assets/Animation/Character.meta
new file mode 100644
index 0000000..38b6a5e
--- /dev/null
+++ b/Assets/Animation/Character.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a22e5d9444fa84b8aa7b1f6fa507ff70
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Animation/Character/CompleteAnimations.meta b/Assets/Animation/Character/CompleteAnimations.meta
new file mode 100644
index 0000000..94c8735
--- /dev/null
+++ b/Assets/Animation/Character/CompleteAnimations.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 758f66d2aee71444980ff01d790e9ebf
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Animation/Character/CompleteAnimations/Body.controller b/Assets/Animation/Character/CompleteAnimations/Body.controller
new file mode 100644
index 0000000..30c16a8
--- /dev/null
+++ b/Assets/Animation/Character/CompleteAnimations/Body.controller
@@ -0,0 +1,246 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1101 &-7392053923566381419
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 2
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -2669982627932022607}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0.98832905
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1101 &-4085430748567574235
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: Speed
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 69123442615276878}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0.25
+ m_TransitionOffset: 0
+ m_ExitTime: 0.75
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &-2669982627932022607
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Idle
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -4085430748567574235}
+ - {fileID: 8113741381071174700}
+ 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: 0}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!91 &9100000
+AnimatorController:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Body
+ serializedVersion: 5
+ m_AnimatorParameters:
+ - m_Name: Speed
+ m_Type: 4
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 0}
+ - m_Name: SwingSpeed
+ m_Type: 4
+ m_DefaultFloat: 0
+ m_DefaultInt: 0
+ m_DefaultBool: 0
+ m_Controller: {fileID: 0}
+ m_AnimatorLayers:
+ - serializedVersion: 5
+ m_Name: Base Layer
+ m_StateMachine: {fileID: 7436749269149861300}
+ 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 &69123442615276878
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Walk
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: -7392053923566381419}
+ 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: b2a39834f863f4d94aabe571f0e0bc56, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1101 &3546339897869372183
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 2
+ m_ConditionEvent: SwingSpeed
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: -2669982627932022607}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0
+ m_TransitionOffset: 0
+ m_ExitTime: 0
+ m_HasExitTime: 1
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
+--- !u!1102 &4436991874779463814
+AnimatorState:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Swing Walk
+ m_Speed: 1
+ m_CycleOffset: 0
+ m_Transitions:
+ - {fileID: 3546339897869372183}
+ 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: 7507cd1aa6d4140a59773b08c394c1f3, type: 2}
+ m_Tag:
+ m_SpeedParameter:
+ m_MirrorParameter:
+ m_CycleOffsetParameter:
+ m_TimeParameter:
+--- !u!1107 &7436749269149861300
+AnimatorStateMachine:
+ serializedVersion: 6
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Base Layer
+ m_ChildStates:
+ - serializedVersion: 1
+ m_State: {fileID: -2669982627932022607}
+ m_Position: {x: 370, y: -870, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 69123442615276878}
+ m_Position: {x: 160, y: -720, z: 0}
+ - serializedVersion: 1
+ m_State: {fileID: 4436991874779463814}
+ m_Position: {x: 460, y: -720, z: 0}
+ m_ChildStateMachines: []
+ m_AnyStateTransitions: []
+ m_EntryTransitions: []
+ m_StateMachineTransitions: {}
+ m_StateMachineBehaviours: []
+ m_AnyStatePosition: {x: 130, y: -860, z: 0}
+ m_EntryPosition: {x: 390, y: -990, z: 0}
+ m_ExitPosition: {x: 640, y: -870, z: 0}
+ m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+ m_DefaultState: {fileID: -2669982627932022607}
+--- !u!1101 &8113741381071174700
+AnimatorStateTransition:
+ m_ObjectHideFlags: 1
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name:
+ m_Conditions:
+ - m_ConditionMode: 1
+ m_ConditionEvent: SwingSpeed
+ m_EventTreshold: 0
+ m_DstStateMachine: {fileID: 0}
+ m_DstState: {fileID: 4436991874779463814}
+ m_Solo: 0
+ m_Mute: 0
+ m_IsExit: 0
+ serializedVersion: 3
+ m_TransitionDuration: 0.25
+ m_TransitionOffset: 0
+ m_ExitTime: 0.75
+ m_HasExitTime: 0
+ m_HasFixedDuration: 1
+ m_InterruptionSource: 0
+ m_OrderedInterruption: 1
+ m_CanTransitionToSelf: 1
diff --git a/Assets/Animation/Character/CompleteAnimations/Body.controller.meta b/Assets/Animation/Character/CompleteAnimations/Body.controller.meta
new file mode 100644
index 0000000..b45dabf
--- /dev/null
+++ b/Assets/Animation/Character/CompleteAnimations/Body.controller.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7243150c60a0b4f2b88c57c1822620c0
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 9100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Animation/Character/CompleteAnimations/Swing_Walk.anim b/Assets/Animation/Character/CompleteAnimations/Swing_Walk.anim
new file mode 100644
index 0000000..94a2932
--- /dev/null
+++ b/Assets/Animation/Character/CompleteAnimations/Swing_Walk.anim
@@ -0,0 +1,60 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Swing_Walk
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ 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: []
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.46666667
+ 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: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events:
+ - time: 0.46666667
+ functionName: PlayStep
+ data:
+ objectReferenceParameter: {fileID: 0}
+ floatParameter: 0
+ intParameter: 0
+ messageOptions: 0
diff --git a/Assets/Animation/Character/CompleteAnimations/Swing_Walk.anim.meta b/Assets/Animation/Character/CompleteAnimations/Swing_Walk.anim.meta
new file mode 100644
index 0000000..f48c9d8
--- /dev/null
+++ b/Assets/Animation/Character/CompleteAnimations/Swing_Walk.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7507cd1aa6d4140a59773b08c394c1f3
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Animation/Character/CompleteAnimations/Walk.anim b/Assets/Animation/Character/CompleteAnimations/Walk.anim
new file mode 100644
index 0000000..0444687
--- /dev/null
+++ b/Assets/Animation/Character/CompleteAnimations/Walk.anim
@@ -0,0 +1,60 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Walk
+ serializedVersion: 6
+ m_Legacy: 0
+ m_Compressed: 0
+ m_UseHighQualityCurve: 1
+ m_RotationCurves: []
+ m_CompressedRotationCurves: []
+ m_EulerCurves: []
+ m_PositionCurves: []
+ m_ScaleCurves: []
+ 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: []
+ pptrCurveMapping: []
+ m_AnimationClipSettings:
+ serializedVersion: 2
+ m_AdditiveReferencePoseClip: {fileID: 0}
+ m_AdditiveReferencePoseTime: 0
+ m_StartTime: 0
+ m_StopTime: 0.46666667
+ 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: []
+ m_EulerEditorCurves: []
+ m_HasGenericRootTransform: 0
+ m_HasMotionFloatCurves: 0
+ m_Events:
+ - time: 0.46666667
+ functionName: PlayStep
+ data:
+ objectReferenceParameter: {fileID: 0}
+ floatParameter: 0
+ intParameter: 0
+ messageOptions: 0
diff --git a/Assets/Animation/Character/CompleteAnimations/Walk.anim.meta b/Assets/Animation/Character/CompleteAnimations/Walk.anim.meta
new file mode 100644
index 0000000..b411388
--- /dev/null
+++ b/Assets/Animation/Character/CompleteAnimations/Walk.anim.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b2a39834f863f4d94aabe571f0e0bc56
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 7400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources.meta b/Assets/Editor Default Resources.meta
new file mode 100644
index 0000000..ec84205
--- /dev/null
+++ b/Assets/Editor Default Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f5636202679509849a226ab727d40af4
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase.meta b/Assets/Editor Default Resources/Firebase.meta
new file mode 100644
index 0000000..9405c0b
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 91390adcde35df145aea78dd0ac0add8
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_analytics.png b/Assets/Editor Default Resources/Firebase/fb_analytics.png
new file mode 100644
index 0000000..c1205ea
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_analytics.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:99c18461e140481172a003b6119f38efb70d27aa7be095c6711e4793b4b28706
+size 134
diff --git a/Assets/Editor Default Resources/Firebase/fb_analytics.png.meta b/Assets/Editor Default Resources/Firebase/fb_analytics.png.meta
new file mode 100644
index 0000000..1025415
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_analytics.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: dc218b335b1d14cd5ae532f65042d829
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_analytics.png
+timeCreated: 1473376337
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_analytics_dark.png b/Assets/Editor Default Resources/Firebase/fb_analytics_dark.png
new file mode 100644
index 0000000..56b8d60
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_analytics_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e164b3e6912be03d19c72ac914652a59651e702a0b18e79dd1f6f2ea1aa85ddd
+size 136
diff --git a/Assets/Editor Default Resources/Firebase/fb_analytics_dark.png.meta b/Assets/Editor Default Resources/Firebase/fb_analytics_dark.png.meta
new file mode 100644
index 0000000..1ffd1d3
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_analytics_dark.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 9fe4b3bd3b7d2477dac92fb7429d1d1b
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_analytics_dark.png
+timeCreated: 1472679008
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_auth.png b/Assets/Editor Default Resources/Firebase/fb_auth.png
new file mode 100644
index 0000000..115e84e
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_auth.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bbcc73ff5543aa9d3b3ea7aaa5d8b805f3c2ddce56be2e728b129baef44fca38
+size 295
diff --git a/Assets/Editor Default Resources/Firebase/fb_auth.png.meta b/Assets/Editor Default Resources/Firebase/fb_auth.png.meta
new file mode 100644
index 0000000..b9cbc33
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_auth.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 394b3ec4d60c24476a12e4ba696d9e5d
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_auth.png
+timeCreated: 1473376335
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_auth_dark.png b/Assets/Editor Default Resources/Firebase/fb_auth_dark.png
new file mode 100644
index 0000000..3946cee
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_auth_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b37da7cc954fa80f837fb7b79c8aa9d04c7d39424179b6a3f64fd7551cbeb310
+size 305
diff --git a/Assets/Editor Default Resources/Firebase/fb_auth_dark.png.meta b/Assets/Editor Default Resources/Firebase/fb_auth_dark.png.meta
new file mode 100644
index 0000000..9e7dca9
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_auth_dark.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 3a9e1ef6287664c389bb09e2ac1b23b7
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_auth_dark.png
+timeCreated: 1472679008
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png b/Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png
new file mode 100644
index 0000000..3ed9c15
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:56f3a48757a445f33ab136e3a0ee556a07b72502a0adb95b4400bae054016b3c
+size 510
diff --git a/Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png.meta b/Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png.meta
new file mode 100644
index 0000000..a67ad74
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 837e8e1f35e334e81931d0857680cebf
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_cloud_messaging.png
+timeCreated: 1473376336
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png b/Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png
new file mode 100644
index 0000000..484399a
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a7a05ff455f634ef48621f53504efce76a660d6b8ef0a846dbbbb13b1861f375
+size 521
diff --git a/Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png.meta b/Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png.meta
new file mode 100644
index 0000000..767c85f
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 20c5b8a1f82cb4aadb77ca20683d2a6e
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_cloud_messaging_dark.png
+timeCreated: 1472679008
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_config.png b/Assets/Editor Default Resources/Firebase/fb_config.png
new file mode 100644
index 0000000..d4e1f82
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_config.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fbf234c21c616f5cfa9df5ae349eb6513e68eac63c85d0c07086fa5a517baa4f
+size 253
diff --git a/Assets/Editor Default Resources/Firebase/fb_config.png.meta b/Assets/Editor Default Resources/Firebase/fb_config.png.meta
new file mode 100644
index 0000000..eec1256
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_config.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 415eaec414af14d11955222a282aca08
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_config.png
+timeCreated: 1473376335
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_config_dark.png b/Assets/Editor Default Resources/Firebase/fb_config_dark.png
new file mode 100644
index 0000000..07e76e4
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_config_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:aba975eac308f5bfe209fd93cf96129221c7df12e457941b5f0adb08b9a90036
+size 253
diff --git a/Assets/Editor Default Resources/Firebase/fb_config_dark.png.meta b/Assets/Editor Default Resources/Firebase/fb_config_dark.png.meta
new file mode 100644
index 0000000..a162bc2
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_config_dark.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 0ad9ef5fff5524355a9670c90a99cbba
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_config_dark.png
+timeCreated: 1472679008
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_crashlytics.png b/Assets/Editor Default Resources/Firebase/fb_crashlytics.png
new file mode 100644
index 0000000..71153d1
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_crashlytics.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8aa576ffef7b7a86a0a50f9f530a1b1d4557d11cbd4c389e32b3dee3312028aa
+size 454
diff --git a/Assets/Editor Default Resources/Firebase/fb_crashlytics.png.meta b/Assets/Editor Default Resources/Firebase/fb_crashlytics.png.meta
new file mode 100644
index 0000000..80a83e7
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_crashlytics.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 008a5e76206e49f9b06d8ba144aabb38
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_crashlytics.png
+timeCreated: 1473376335
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png b/Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png
new file mode 100644
index 0000000..96884e0
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2e240ba7086f66de28606bfbd1fb0ca7f3dc0d8a34f45754ec3cdc23a6b5bdd2
+size 471
diff --git a/Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png.meta b/Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png.meta
new file mode 100644
index 0000000..edeb9e4
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 214009068900439da4a9cded17d58090
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_crashlytics_dark.png
+timeCreated: 1472679008
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_database.png b/Assets/Editor Default Resources/Firebase/fb_database.png
new file mode 100644
index 0000000..b83fa97
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_database.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:568b168296163a7b99af21b83877e783a90aab1dba3320bfc18678f6f39b3fbf
+size 248
diff --git a/Assets/Editor Default Resources/Firebase/fb_database.png.meta b/Assets/Editor Default Resources/Firebase/fb_database.png.meta
new file mode 100644
index 0000000..adc86a8
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_database.png.meta
@@ -0,0 +1,69 @@
+fileFormatVersion: 2
+guid: 3eea7b558c67b48e18acf3c278392e3d
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_database.png
+timeCreated: 1476203961
+licenseType: Free
+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/Assets/Editor Default Resources/Firebase/fb_database_dark.png b/Assets/Editor Default Resources/Firebase/fb_database_dark.png
new file mode 100644
index 0000000..bf590d9
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_database_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5f08de9c4208097a034a28eb92c3bd858bb4f49728391d6fbeb6b18a774d98a9
+size 268
diff --git a/Assets/Editor Default Resources/Firebase/fb_database_dark.png.meta b/Assets/Editor Default Resources/Firebase/fb_database_dark.png.meta
new file mode 100644
index 0000000..97f8f23
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_database_dark.png.meta
@@ -0,0 +1,69 @@
+fileFormatVersion: 2
+guid: 9f6bfa9d8aefb40dc92461c372c73b0f
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_database_dark.png
+timeCreated: 1476203949
+licenseType: Free
+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/Assets/Editor Default Resources/Firebase/fb_dynamic_links.png b/Assets/Editor Default Resources/Firebase/fb_dynamic_links.png
new file mode 100644
index 0000000..dbd409b
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_dynamic_links.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d83a9ad38c800a4be20dddf564ae539859849d853c314cff946d48be7682c645
+size 468
diff --git a/Assets/Editor Default Resources/Firebase/fb_dynamic_links.png.meta b/Assets/Editor Default Resources/Firebase/fb_dynamic_links.png.meta
new file mode 100644
index 0000000..68f8fec
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_dynamic_links.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: df6f219c396f4ad9b5048bae6944cb8e
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_dynamic_links.png
+timeCreated: 1473376335
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_dynamic_links_dark.png b/Assets/Editor Default Resources/Firebase/fb_dynamic_links_dark.png
new file mode 100644
index 0000000..b4a73c1
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_dynamic_links_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:90fc708aafb959972cbcdedcb08d941995d43308cfac3c50631d4c27b65c36ec
+size 470
diff --git a/Assets/Editor Default Resources/Firebase/fb_dynamic_links_dark.png.meta b/Assets/Editor Default Resources/Firebase/fb_dynamic_links_dark.png.meta
new file mode 100644
index 0000000..bc0a359
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_dynamic_links_dark.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 9355a4671cfe4eef90879863318d1a4b
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_dynamic_links_dark.png
+timeCreated: 1472679009
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_functions.png b/Assets/Editor Default Resources/Firebase/fb_functions.png
new file mode 100644
index 0000000..1bdf3b9
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_functions.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:44da005b6fd1a209c39b74422ffc369e43cff46e852ac19cf093a8359a11c754
+size 449
diff --git a/Assets/Editor Default Resources/Firebase/fb_functions.png.meta b/Assets/Editor Default Resources/Firebase/fb_functions.png.meta
new file mode 100644
index 0000000..7f18ed4
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_functions.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 953367231f9e3e22e70e5d1c91a40fe5
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_functions.png
+timeCreated: 1473376335
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_functions_dark.png b/Assets/Editor Default Resources/Firebase/fb_functions_dark.png
new file mode 100644
index 0000000..f29d72b
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_functions_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3c9eafa81d3fda26dc06ccdfb8a1961a728bbd701ce3ed2cc3ba32ae2c626d63
+size 464
diff --git a/Assets/Editor Default Resources/Firebase/fb_functions_dark.png.meta b/Assets/Editor Default Resources/Firebase/fb_functions_dark.png.meta
new file mode 100644
index 0000000..2cdcf2f
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_functions_dark.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: b5aa3e4f7432e1c5698417cc13f85271
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_functions_dark.png
+timeCreated: 1472679008
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_invites.png b/Assets/Editor Default Resources/Firebase/fb_invites.png
new file mode 100644
index 0000000..53d29b9
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_invites.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9acbd821d1ec0a0f05206ecc04e36ca54e595a986132cce85691d23ca0646379
+size 390
diff --git a/Assets/Editor Default Resources/Firebase/fb_invites.png.meta b/Assets/Editor Default Resources/Firebase/fb_invites.png.meta
new file mode 100644
index 0000000..1683e18
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_invites.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 741b269777f30488482ef4937b456b28
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_invites.png
+timeCreated: 1473376335
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_invites_dark.png b/Assets/Editor Default Resources/Firebase/fb_invites_dark.png
new file mode 100644
index 0000000..2b6daf1
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_invites_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4ac9fd2277fb29c19b0b9895e921eb89e691a6f72f3aff63cac9e312c51318f7
+size 424
diff --git a/Assets/Editor Default Resources/Firebase/fb_invites_dark.png.meta b/Assets/Editor Default Resources/Firebase/fb_invites_dark.png.meta
new file mode 100644
index 0000000..f1c014c
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_invites_dark.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: a734ad7414926404e90f8b5be37b7e23
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_invites_dark.png
+timeCreated: 1472679009
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_storage.png b/Assets/Editor Default Resources/Firebase/fb_storage.png
new file mode 100644
index 0000000..6170fa0
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_storage.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e110376715263fad9eef45daa1f092a7e828bdbf58601e4bd41e97f390af1e5a
+size 306
diff --git a/Assets/Editor Default Resources/Firebase/fb_storage.png.meta b/Assets/Editor Default Resources/Firebase/fb_storage.png.meta
new file mode 100644
index 0000000..9429399
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_storage.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 573eb851c99f948f4bf2de49322bfd53
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_storage.png
+timeCreated: 1481243899
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 4
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ 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:
+ filterMode: -1
+ aniso: -1
+ mipBias: -1
+ wrapMode: -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: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/fb_storage_dark.png b/Assets/Editor Default Resources/Firebase/fb_storage_dark.png
new file mode 100644
index 0000000..5b14ea4
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_storage_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e6611343baa5339dc8dccc7d2ab0d1a57e8ca0be1a5f8cc84a553b8863b3dc22
+size 304
diff --git a/Assets/Editor Default Resources/Firebase/fb_storage_dark.png.meta b/Assets/Editor Default Resources/Firebase/fb_storage_dark.png.meta
new file mode 100644
index 0000000..54745f7
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/fb_storage_dark.png.meta
@@ -0,0 +1,78 @@
+fileFormatVersion: 2
+guid: 2955864b938094f579ea9902b65ac10c
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/fb_storage_dark.png
+timeCreated: 1481243898
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 4
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 1
+ sRGBTexture: 1
+ 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:
+ filterMode: -1
+ aniso: -1
+ mipBias: -1
+ wrapMode: -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: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/firebase_lockup.png b/Assets/Editor Default Resources/Firebase/firebase_lockup.png
new file mode 100644
index 0000000..883cd94
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/firebase_lockup.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:91cfc83b08844d40a1ec2ecb649c2dfd401d41a33c810e655781c92af859bb84
+size 2631
diff --git a/Assets/Editor Default Resources/Firebase/firebase_lockup.png.meta b/Assets/Editor Default Resources/Firebase/firebase_lockup.png.meta
new file mode 100644
index 0000000..e6b3f0a
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/firebase_lockup.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: 9f058f25e8e2d47cfb894951d4d7e48a
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/firebase_lockup.png
+timeCreated: 1473376336
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png b/Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png
new file mode 100644
index 0000000..53e5466
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b82d951e1ca8e944039a3673a415e7293c0a27d106b52fd7329b83de6b8dc2bb
+size 2718
diff --git a/Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png.meta b/Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png.meta
new file mode 100644
index 0000000..2a46d3e
--- /dev/null
+++ b/Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png.meta
@@ -0,0 +1,68 @@
+fileFormatVersion: 2
+guid: b93330fc8ea08407dbc514b5101afa14
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Editor Default Resources/Firebase/firebase_lockup_dark.png
+timeCreated: 1472601251
+licenseType: Pro
+TextureImporter:
+ fileIDToRecycleName: {}
+ serializedVersion: 2
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ linearTexture: 1
+ 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: 0
+ 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
+ textureType: 2
+ buildTargetSettings: []
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ spritePackingTag:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager.meta b/Assets/ExternalDependencyManager.meta
new file mode 100644
index 0000000..1676237
--- /dev/null
+++ b/Assets/ExternalDependencyManager.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d87ad576bba24d845a1e7df073c7a57c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor.meta b/Assets/ExternalDependencyManager/Editor.meta
new file mode 100644
index 0000000..e368e27
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3474c8d1abfae57429effdef1c609bb3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.185.meta b/Assets/ExternalDependencyManager/Editor/1.2.185.meta
new file mode 100644
index 0000000..482877f
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.185.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fc984377da028db4a9d400d770446efd
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.dll b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.dll
new file mode 100644
index 0000000..dd0250f
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c94d1fbc635e481e671585110cc1fb725e93ffc5c7b36116cd4b9d32f2004890
+size 74240
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.dll.meta b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.dll.meta
new file mode 100644
index 0000000..0a5757f
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.dll.meta
@@ -0,0 +1,35 @@
+fileFormatVersion: 2
+guid: a1a3cd348b3c4bbc82b68b73893f222a
+labels:
+- gvh
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.dll b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.dll
new file mode 100644
index 0000000..6ca794e
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b20361a000f6d28288062f4c74dbe7a17db457f42d3be13c651e4113b03f2cb
+size 364544
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.dll.meta b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.dll.meta
new file mode 100644
index 0000000..c4905a4
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.dll.meta
@@ -0,0 +1,35 @@
+fileFormatVersion: 2
+guid: 459f2b4255ec498caed1c0aeb1bf03a0
+labels:
+- gvh
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.dll b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.dll
new file mode 100644
index 0000000..c0fba5e
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0d3287172d2685f45ff481df4155cdd1cbd2fb8d51989f763d1931361c62c8ad
+size 74240
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.dll.meta b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.dll.meta
new file mode 100644
index 0000000..c636e89
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.dll.meta
@@ -0,0 +1,38 @@
+fileFormatVersion: 2
+guid: bf27b3f704244da0af729a6737adb7f1
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.dll
+- gvhp_targets-editor
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.dll b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.dll
new file mode 100644
index 0000000..9db8d59
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:10ee7687071395d217632fdb7e01dbdd5ca8b55a9f63d97269c6e40a704a9bc0
+size 119296
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.dll.meta b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.dll.meta
new file mode 100644
index 0000000..68ea47e
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.dll.meta
@@ -0,0 +1,38 @@
+fileFormatVersion: 2
+guid: e2831157d94e4d15998dcb6ad1418057
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.dll
+- gvhp_targets-editor
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 0
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.187.meta b/Assets/ExternalDependencyManager/Editor/1.2.187.meta
new file mode 100644
index 0000000..3cf56b1
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.187.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ad44ac939a5c7544993366333c2532d6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll
new file mode 100644
index 0000000..c2b5355
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:83afccd1b783d27690c29985ee155a32fe03add55681bacfda5095e57c9ac0ed
+size 85504
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll.meta b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll.meta
new file mode 100644
index 0000000..b566dc2
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll.meta
@@ -0,0 +1,38 @@
+fileFormatVersion: 2
+guid: 81a757c73e784317b917c61d213fb409
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll
+- gvhp_targets-editor
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 0
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll
new file mode 100644
index 0000000..7dbedbe
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cb03903d623155df60e76c466ca5e16449bc8915d81853c4b871892bd017c87a
+size 364544
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll.meta b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll.meta
new file mode 100644
index 0000000..56695be
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll.meta
@@ -0,0 +1,38 @@
+fileFormatVersion: 2
+guid: 7f5716a99eb1476d9ee5f077d6b54c11
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll
+- gvhp_targets-editor
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll
new file mode 100644
index 0000000..1ede568
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:187e11307af71110d31e61f455930d07376b0b775b970ad8c35e8c6ac087aab6
+size 74240
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll.meta b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll.meta
new file mode 100644
index 0000000..145c4c4
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll.meta
@@ -0,0 +1,38 @@
+fileFormatVersion: 2
+guid: ebc81d44045a4533903ae8d80e189cd4
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll
+- gvhp_targets-editor
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll
new file mode 100644
index 0000000..59c7242
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:95fb5c94e0850d0035033318c0073aa48f656ac7e234a84109e6f36139b84918
+size 119296
diff --git a/Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll.meta b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll.meta
new file mode 100644
index 0000000..feb62c2
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll.meta
@@ -0,0 +1,38 @@
+fileFormatVersion: 2
+guid: f5fc7702bb5f4ba8a2f5bf02b99beb09
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll
+- gvhp_targets-editor
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/CHANGELOG.md b/Assets/ExternalDependencyManager/Editor/CHANGELOG.md
new file mode 100644
index 0000000..c923c1f
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/CHANGELOG.md
@@ -0,0 +1,1435 @@
+# Version 1.2.187 - Jan 20, 2026
+* General - Enable Editor DLLs by default, to fix initialization errors.
+* Android Resolver - Fix issue with nested m2repository directories. Fixes #716
+* iOS Resolver - Add support for using Swift Package Manager.
+
+# Version 1.2.186 - May 19, 2025
+* iOS Resolver - Set `validateReferences` to off by default,
+ to prevent errors when running without iOS Support installed.
+ Fixes #412 and #622
+
+# Version 1.2.185 - Feb 3, 2025
+* Android Resolver - Reverse conditional checker for `packaging` keyword in maintemplate based on android gradle plugin version. Fixes #715
+
+# Version 1.2.184 - Jan 28, 2025
+* Android Resolver - Update and resolve `packaging` keyword in maintemplate
+ based on android gradle plugin version.
+ Fixes #715
+
+# Version 1.2.183 - Sep 18, 2024
+* Android Resolver - Handle package paths that don't include a version hash,
+ which is no longer present with Unity 6. Fixes #697
+* Android Resolver - Handle packages referenced using local file paths.
+ Fixes #701
+
+# Version 1.2.182 - Aug 2, 2024
+* General - Check for gradle version instead of Unity version when determining
+ the template files to modify.
+
+# Version 1.2.181 - Jun 26, 2024
+* General - Disable `EditorMeasurement` reporting that relied on the
+ Measurement Protocol for Universal Analytics.
+
+# Version 1.2.180 - Jun 4, 2024
+* General - Fix project settings resetting on domain reload.
+ Fixes #524
+
+# Version 1.2.179 - Feb 12, 2024
+* Android Resolver - Added logic to automatically turn on `mainTemplate.gradle`
+ for new projects, and prompt users to enable it on projects that have previously
+ had the resolver run.
+
+# Version 1.2.178 - Dec 20, 2023
+* Added [OpenUPM support](https://openupm.com/packages/com.google.external-dependency-manager/).
+
+# Version 1.2.177 - Aug 14, 2023
+* iOS Resolver - Added `/opt/homebrew/bin` to Cocoapod executable search path.
+ Fixes #627
+
+# Version 1.2.176 - Apr 27, 2023
+* Android Resolver - Added two Android Resolver settings to determine whether
+ EDM4U injects custom local Maven repo path as a relative path or full path.
+ Fixes #537
+* Android Resolver - Inject Maven Repo to `settingTemplate.gradle` from
+ Unity 2022.2+
+ Fixes #594
+* Android Resolver - Jetifier option is enabled by default now.
+* Android Resolver - `Explode Aar` option applies to all cases, whether the
+ project will be exported or not.
+ Fixes #584
+ Fixes #287
+
+# Version 1.2.175 - Nov 16, 2022
+* General - Added tvOS podfile support to the iOS resolver.
+
+# Version 1.2.174 - Oct 06, 2022
+* General - Added tvOS support to the iOS resolver.
+* General - Fixed #484 - Changed `EditorMeasurement` to use secure connection.
+* Android Resolver - Fixed Android Resolver unable to resolve
+ `mainTemplate.gradle` in Unity `2022.2+` or `2023.1+`.
+
+# Version 1.2.173 - Sep 28, 2022
+* General - Added tvOS library support to the export unity package scripts.
+
+# Version 1.2.172 - Jun 23, 2022
+* iOS Resolver - Stop forcing `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` to `YES`,
+ which seems to cause problem for some when submitting apps. See #526 for more
+ information.
+
+# Version 1.2.171 - May 11, 2022
+* iOS Resolver - Change `Enable Swift Framework Support Workaround` setting to
+ be `ON` by default since more pods are using Swift Framework now.
+
+# Version 1.2.170 - Apr 4, 2022
+* Android Resolver - Fixes #498 - Fix the path separator of the Maven repo
+ injected to `mainTemplate.gradle`.
+* iOS Resolver - Fixes #470 - Switch default Cocoapods master repo from Github
+ to CDN.
+* iOS Resolver - `Link Framework Statically` setting is now default to `true`.
+ That is, `use_frameworks! :linkage => static` will be added to `Podfile` by
+ default instead of `use_frameworks!`. This can be changed in iOS Resolver
+ settings. This fixes odd behaviors when pods include static libraries, ex.
+ Firebase Analytics.
+* iOS Resolver - Added a workaround when app crashes on launch due to
+ `Library not loaded: @rpath/libswiftCore.dylib` when some pods includes Swift
+ framework. This is turned `OFF` by default and can be changed in iOS Resolver
+ settings.
+
+# Version 1.2.169 - Jan 20, 2022
+* General - Fixes #425 - Change to save `GvhProjectSettings.xml` without
+ Unicode byte order mark (BoM).
+* Android Resolver - Remove reference to `jcenter()`
+* iOS Resolver - Force setting `LANG` when executing Cocoapods in shell mode on
+ Mac.
+
+# Version 1.2.168 - Dec 9, 2021
+* All - Fixes #472 by removing the use of `System.Diagnostics.Debug.Assert`
+* All - Fixed #477 by properly enabling EDM4U libraries for Unity 2021.2+ when
+ the package is installed through `.tgz`
+
+# Version 1.2.167 - Oct 6, 2021
+* All - Moved versioned `.dll` in EDM4U to a versioned folder and remove their
+ version postfix in their filename. For instance, `IOSResolver.dll` will be
+ placed at `ExternalDependencyManager/Editor/1.2.167/Google.IOSResolver.dll`.
+* Android Resolver - Fixed #243 by only using the highest version in
+ `mainTemplate.gradle` when duplicated dependencies are presented.
+* Android Resolver - Added supports to x86_64 to ABI list for Android apps on
+ Chrome OS.
+
+# Version 1.2.166 - Jun 30, 2021
+* All - Fixed #440 and fixed #447 by specifying the parameter type while calling
+ `GetApplicationIdentifier()` Unity API using reflection, due to a new
+ overloaded method introduced in Unity 2021.2.
+* Android Resolver - Fixed #442 by patching `Dependency.IsGreater()` when the
+ version strings end '+'.
+
+# Version 1.2.165 - Apr 28, 2021
+## Bug Fixes
+* Version Handler - Fixed #431 by replacing the use of `HttpUtility.UrlEncode()`
+ which causes NullReferenceException in certain version of Unity.
+* Android Resolver - Check that androidSdkRootPath directory exists before using
+ as sdkPath.
+* Android Resolver - Fixed Android Resolver integration tests with Unity
+ 2019.3+.
+
+# Version 1.2.164 - Feb 4, 2021
+## New Features
+* Android Resolver - Added support for Android packages with classifier in their
+ namespaces.
+* iOS Resolver - Added new settings in iOS Resolver to configure generated
+ Podfile.
+* iOS Resolver - Added a new attribute `addToAllTargets` in Dependencies.xml.
+
+## Bug Fixes
+* iOS Resolver - Fixed XML parsing for `bitcodeEnabled` attribute in
+ Dependencies.xml.
+
+# Version 1.2.163 - Dec 15, 2020
+## Bug Fixes
+* Version Handler - Fixed measurement reporting
+
+# Version 1.2.162 - Nov 19, 2020
+## Bug Fixes
+* Version Handler - Improved #413 by preventing Version Handler from running
+ from static constructor when it is disabled.
+* Package Manager Resolver - Remove GPR
+
+# Version 1.2.161 - Oct 12, 2020
+## Bug Fixes
+* Android Resolver - Fixed the issue that Android Resolver does not resolve
+ again before build in Unity 2020 if it failed to resolve previously.
+
+# Version 1.2.160 - Sep 30, 2020
+## Bug Fixes
+* Android Resolver - Fixed a regression that gradleResolver can be null until
+ Initialize() is called.
+* Android Resolver - Fixed a regression that Android Resolver failed in Unity
+ 2019.3+ due to `gradleTemplate.properties` not enabled when
+ `mainTemplate.gradle` is not enabled at all.
+
+# Version 1.2.159 - Sep 11, 2020
+## Bug Fixes
+* Android Resolver - Fixed #322 where the Unity editor will lose its target SDK
+ setting between Unity restarts if `>28` is selected in 2019. This is due to
+ Unity AndroidSdkVersions enum does not contain values above 28.
+* Android Resolver - Fixed #360 where building Android app with Untiy 2019.3+
+ may fail due to Jetifier and AndroidX not enabled properly in generated
+ Gradle project. This fix requires the user to enable
+ `Custom Gradle Properties Template` found under
+ `Player Settings > Settings for Android > Publishing Settings`.
+
+# Version 1.2.158 - Sep 3, 2020
+## Bug Fixes
+* Version Handler: Fixed editor freeze when `-executeMethod` is used in
+ non-batch mode.
+* Android Resolver: Normalized file paths when generating local Maven repo
+ since the path may contains a mix of forward and backward slash on Windows.
+* Export Unity Package: Fixed generation of .unitypackage with tarfile on
+ Windows.
+
+# Version 1.2.157 - Aug 6, 2020
+## Bug Fixes
+* Android Resolver: Delay initialization until active build target is Android
+ and the editor is not in play mode.
+* iOS Resolver: Delay initialization until active build target is iOS
+ and the editor is not in play mode.
+* Export Unity Package: Workaround directory creation racy if multiple export
+ operations are spawned at the same time.
+
+# Version 1.2.156 - June 10, 2020
+## Bug Fixes
+* Android Resolver: Fixed that the generated local repo assets contains
+ redundent labels which are causing Version Handler to failed while
+ uninstalling packages.
+* Android Resolver: Fixed that the repo url injected into mainTemplate.gradle
+ is incorrect when Unity is configured to export gradle project.
+* Android Resolver: Limited to only create local Maven repo when the source
+ repo contains ".srcaar" file.
+
+## Changes
+* All: Described EDM4U analytics data usage in readme.
+
+# Version 1.2.155 - May 14, 2020
+## Bug Fixes
+* All: Fixed compiler error when build with Unity 5.4 or below due to the
+ usage of Rect.zero.
+* All: Ignore cases when checking command line arguments.
+
+# Version 1.2.154 - May 14, 2020
+## Bug Fixes
+* All: Make each MultiSelectWindow for different purposes to have its own
+ unique window.
+
+## Changes
+* All: Replace all dialog with DialogWindow which is implemented from
+ EditorWindow.
+* Package Manager Resolver: Clarify how manifest.json will be changed in Package
+ Manager Resolver window.
+
+# Version 1.2.153 - Apr 24, 2020
+## Bug Fixes
+* Android Resolver: Fixed an exception when repainting the Android resolution
+ window in Unity 2019.3.x.
+
+# Version 1.2.152 - Apr 17, 2020
+## Bug Fixes
+* Version Handler: Fixed exception when waiting for enabled editor DLLs to
+ load.
+* Android Resolver: Fixed regression when using a Custom Gradle Template
+ on Windows.
+
+# Version 1.2.151 - Apr 16, 2020
+## Bug Fixes
+* Version Handler: When waiting for newly enabled editor DLLs to load, ignore
+ all DLLs that do not have a file-system location.
+* Android Resolver: Fixed resolution when using a Custom Gradle Template with
+ libraries stored in a local maven repository distributed with a plugin
+ installed with the Unity Package Manager.
+
+# Version 1.2.150 - Apr 9, 2020
+## Bug Fixes
+* All: The new packaging script when run on MacOS was generating a
+ .unitypackage archive that could not be read by Unity on Windows.
+ This release simply repackages the plugin with tar/gzip to fix the problem.
+
+# Version 1.2.149 - Apr 8, 2020
+## Bug Fixes
+* Package Manager Resolver: Fixed spurious error message when resuming
+ migration after installing a UPM package.
+
+# Version 1.2.148 - Apr 8, 2020
+## Bug Fixes
+* Package Manager Resolver: Fixed an exception when resuming migration
+ after installing a UPM package.
+
+# Version 1.2.147 - Apr 8, 2020
+## Bug Fixes
+* Version Handler: Fixed alias traversal bug which caused problems when
+ migrating from installed .unitypackage files to UPM packages.
+
+# Version 1.2.146 - Apr 8, 2020
+## Bug Fixes
+* Version Handler: Fixed exception in manifest parsing when a manifest is
+ detected with no aliases.
+
+# Version 1.2.145 - Apr 2, 2020
+## New Features
+* Package Manager Resolver: Added a method to migrate Version Handler
+ managed packages installed via `.unitypackage` to Unity Package Manager
+ packages. This is initially used to migrate the External Dependency Manager
+ to UPM.
+
+## Changes
+* All: Verbose logging is now no longer automatically enabled in batch mode
+ across all components. Instead logging can be configured using each
+ component's verbose logging setting or by using the `-gvh_log_debug` command
+ line flag when starting Unity.
+* Version Handler: Sped up version handler updates when the app domain isn't
+ reloaded.
+
+## Bug Fixes
+* Version Handler: Fixed the display of the obsolete files clean up dialog
+ when the asset database refreshes.
+* Version Handler: Improved reliability of callback from
+ the VersionHandler.UpdateCompleteMethods event when an asset database
+ refresh occurs.
+* Version Handler: Fixed duplicate exportPath labels when 'Assets/' is the
+ root of paths assigned to files.
+* Version Handler: Handle empty lines in manifest files.
+
+# Version 1.2.144 - Mar 23, 2020
+## Changed
+* iOS Resolver: Removed the ability to configure the Xcode target a Cocoapod
+ is added to.
+
+## Bug Fixes
+* iOS Resolver: Reverted support for adding Cocoapods to multiple targets as
+ it caused a regression (exception thrown during post-build step) in some
+ versions of Unity.
+
+# Version 1.2.143 - Mar 20, 2020
+## Bug Fixes
+* Android Resolver: Fixed caching of resolution state which was causing
+ the resolver to always run when no dependencies had changed.
+
+# Version 1.2.142 - Mar 19, 2020
+## Changes
+* Package Manager Resolver: Enabled auto-add by default.
+
+# Version 1.2.141 - Mar 19, 2020
+## Bug Fixes
+* Fixed a bug when retrieving project settings. If a plugin was configured
+ to fetch project settings, if a setting was fetched (e.g "foo") and this
+ setting existed in the system settings but not the project settings the
+ system value would override the default value leading to unexpected
+ behavior.
+* Fixed a warning when caching web request classes in Unity 5.6.
+
+# Version 1.2.140 - Mar 19, 2020
+## Bug Fixes
+* Fixed measurement reporting in Unity 5.x.
+* Version Handler: Fixed NullReferenceException when an asset doesn't have
+ an AssetImporter.
+
+# Version 1.2.139 - Mar 18, 2020
+## Changed
+* Added documentation to the built plugin.
+
+# Version 1.2.138 - Mar 17, 2020
+## New Features
+* Package Manager Resolver: Added the Package Manager Resolver
+ component that allows developers to easily boostrap Unity Package Manager
+ (UPM) registry addition using unitypackage plugins.
+* Version Handler: Added a window that allows plugins to managed by the
+ Version Handler to be uninstalled.
+* Version Handler: Added support for displaying installed plugins.
+* Version Handler: Added support for moving files in plugins to their install
+ locations (if the plugin has been configured to support this).
+* iOS Resolver: Added the ability to configure the Xcode target a Cocoapod is
+ added to.
+
+## Bug Fixes
+* Fixed upgrade from version 1.2.137 and below after the plugin rename to
+ EDM4U broke the upgrade process.
+* Android Resolver: Worked around PlayerSettings.Android.targetSdkVersion
+ returning empty names for some values in 2019.x.
+* Version Handler: Fixed the display of the obsolete files clean up window.
+* Version Handler: Fixed managed file check when assets are modified in the
+ project after plugin import.
+
+# Version 1.2.137 - Mar 6, 2020
+## Changed
+* Renamed package to External Package Manager for Unity (EDM4U).
+ We changed this to reflect what this plugin is doing today which is far more
+ than the original scope which just consisted of importing jar files from the
+ Android SDK maven repository.
+ Scripts that used to pull `play-services-resolver*.unitypackage` will now have
+ to request `external-dependency-manager*.unitypackage` instead.
+ We'll still be shipping a `play-services-resolver*_manifest.txt` file to
+ handle upgrading from older versions of the plugin.
+
+## New Features
+* All Components: Added reporting of usage so that we can remotely detect
+ errors and target improvements.
+* Android Resolver: Added support for *Dependencies.xml files in Unity Package
+ Manager packages.
+* iOS Resolver: Added support for *Dependencies.xml files in Unity Package
+ Manager packages.
+
+## Bug Fixes
+* Version Handler: Disabled attempts to disable asset metadata modification
+ when assets are in a Unity Package Manager managed package.
+
+# Version 1.2.136 - Feb 19, 2019
+## Bug Fixes
+* Android Resolver: Fixed OpenJDK path discovery in Unity 2019.3.1.
+
+# Version 1.2.135 - Dec 5, 2019
+## Bug Fixes
+* All Components: Fixed stack overflow when loading project settings.
+
+# Version 1.2.134 - Dec 4, 2019
+## Bug Fixes
+* All Components: Fixed an issue which caused project settings to be cleared
+ when running in batch mode.
+
+# Version 1.2.133 - Nov 18, 2019
+## Bug Fixes
+* All Components: Failure to save project settings will now report an error
+ to the log rather than throwing an exception.
+
+# Version 1.2.132 - Nov 11, 2019
+## Bug Fixes
+* Android Resolver: Worked around expansion of DIR_UNITYPROJECT on Windows
+ breaking Gradle builds when used as part of a file URI.
+* Android Resolver: mainTemplate.gradle is only written if it needs to be
+ modified.
+
+# Version 1.2.131 - Oct 29, 2019
+## Bug Fixes
+* Version Handler: Improved execution of events on the main thread in batch
+ mode.
+* Version Handler: Improved log level configuration at startup.
+* Version Handler: Improved performance of class lookup in deferred method
+ calls.
+* Version Handler: Fixed rename to enable / disable for editor assets.
+* iOS Resolver: Improved log level configuration at startup.
+* Android Resolver: Improved local maven repo path reference in
+ mainTemplate.gradle using DIR_UNITYPROJECT. DIR_UNITYPROJECT by Unity
+ to point to the local filesystem path of the Unity project when Unity
+ generates the Gradle project.
+
+# Version 1.2.130 - Oct 23, 2019
+## New Features
+* iOS Resolver: Added support for modifying the Podfile before `pod install`
+ is executed.
+
+## Bug Fixes
+* Version Handler: Fixed invalid classname error when calling
+ `VersionHandler.UpdateVersionedAssets()`.
+
+# Version 1.2.129 - Oct 2, 2019
+## Bug Fixes
+* iOS Resolver: Changed Cocoapod integration in Unity 2019.3+ to
+ only add Pods to the UnityFramework target.
+
+# Version 1.2.128 - Oct 1, 2019
+## Bug Fixes
+* iOS Resolver: Fixed Cocoapod project integration mode with Unity
+ 2019.3+.
+
+# Version 1.2.127 - Sep 30, 2019
+## Changes
+* Android Resolver: All Android Resolver settings File paths are now
+ serialized with POSIX directory separators.
+
+# Version 1.2.126 - Sep 27, 2019
+## Changes
+* Android Resolver: File paths are now serialized with POSIX directory
+ separators.
+## Bug Fixes
+* Android Resolver: Fixed resolution when the parent directory of a Unity
+ project contains a Gradle project (i.e `settings.gradle` file).
+
+# Version 1.2.125 - Sep 23, 2019
+## Bug Fixes
+* All components: Silenced a warning about not being able to set the console
+ encoding to UTF8.
+* Android Resolver: Worked around broken AndroidSDKTools class in some
+ versions of Unity.
+* iOS Resolver: Fixed iOS target SDK version check
+* Version Handler: Changed clean up obsolete files window so that it doesn't
+ exceed the screen size.
+
+# Version 1.2.124 - Jul 28, 2019
+## Bug Fixes
+* All components: Fixed regression with source control integration when using
+ Unity 2019.1+.
+
+# Version 1.2.123 - Jul 23, 2019
+## New Features
+* All components: Source control integration for project settings.
+## Changes
+* Android Resolver: Removed AAR cache as it now makes little difference to
+ incremental resolution performance.
+* Android Resolver: Improved embedded resource management so that embedded
+ resources should upgrade when the plugin is updated without restarting
+ the Unity editor.
+## Bug Fixes
+* Version Handler: Fixed InvokeMethod() and InvokeStaticMethod() when calling
+ methods that have interface typed arguments.
+
+# Version 1.2.122 - Jul 2, 2019
+## Bug Fixes
+* iOS Resolver: Worked around Unity not loading the iOS Resolver DLL as it
+ referenced the Xcode extension in a public interface. The iOS Resolver
+ DLL still references the Xcode extension internally and just handles
+ missing type exceptions dynamically.
+
+# Version 1.2.121 - Jun 27, 2019
+## Bug Fixes
+* Android Resolver: Fixed warning about missing Packages folder when loading
+ XML dependencies files in versions of Unity without the package manager.
+* Android Resolver: Fixed resolution window progress bar exceeding 100%.
+* Android Resolver: If AndroidX is detected in the set of resolved libraries,
+ the user will be prompted to enable the Jetifier.
+* Android Resolver: Improved text splitting in text area windows.
+* iOS Resolver: Added support for Unity's breaking changes to the Xcode API
+ in 2019.3.+. Cocoapods are now added to build targets, Unity-iPhone and
+ UnityFramework in Unity 2019.3+.
+
+# Version 1.2.120 - Jun 26, 2019
+## New Features
+* Android Resolver: Added support for loading *Dependencies.xml files from
+ Unity Package Manager packages.
+* Android Resolver: Resolution window is now closed if resolution runs as
+ a pre-build step.
+* iOS Resolver: Added support for loading *Dependencies.xml files from
+ Unity Package Manager packages.
+## Bug Fixes
+* Android Resolver: Fixed generation of relative repo paths when using
+ mainTemplate.gradle resolver.
+* Android Resolver: Fixed copy of .srcaar to .aar files in repos embedded in a
+ project when a project path has characters (e.g whitespace) that are escaped
+ during conversion to URIs.
+* Android Resolver: Fixed auto-resolution always running if the Android SDK
+ is managed by Unity Hub.
+
+# Version 1.2.119 - Jun 19, 2019
+## Bug Fixes
+* Android Resolver: Fixed error reported when using Jetifier integration
+ in Unity 2018+ if the target SDK is set to "highest installed".
+
+# Version 1.2.118 - Jun 18, 2019
+## New Features
+* Android Resolver: Added initial
+ [Jetifier](https://developer.android.com/studio/command-line/jetifier)
+ integration which simplifies
+ [migration](ttps://developer.android.com/jetpack/androidx/migrate)
+ to Jetpack ([AndroidX](https://developer.android.com/jetpack/androidx))
+ libraries in cases where all dependencies are managed by the Android
+ Resolver.
+ This can be enabled via the `Use Jetifier` option in the
+ `Assets > Play Services Resolver > Android Resolver > Settings` menu.
+ Caveats:
+ - If your project contains legacy Android Support Library .jar and .aar
+ files, these files will need to be removed and replaced with references to
+ artifacts on Maven via `*Dependencies.xml` files so that the Jetifier
+ can map them to Jetpack (AndroidX) libraries.
+ For example, remove the file `support-v4-27.0.2.jar` and replace it with
+ `` in a
+ `*Dependencies.xml` file.
+ - If your project contains .jar or .aar files that use the legacy Android
+ Support Libraries, these will need to be moved into a local Maven repo
+ [See this guide](https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html)
+ and then these files should be removed from your Unity project and instead
+ referenced via `*Dependencies.xml` files so that the Jetifier can
+ patch them to reference the Jetpack lirbaries.
+
+## Bug Fixes
+* Android Resolver: Disabled version locking of com.android.support:multidex
+ does not use the same versioning scheme as other legacy Android support
+ libraries.
+* Version Handler: Made Google.VersionHandler.dll's asset GUID stable across
+ releases. This faciliates error-free import into projects where
+ Google.VersionHandler.dll is moved from the default install location.
+
+# Version 1.2.117 - Jun 12, 2019
+## Bug Fixes
+* Android Resolver: Fix copying of .srcaar to .aar files for
+ mainTemplate.gradle resolution. PluginImporter configuration was previously
+ not being applied to .aar files unless the Unity project was saved.
+
+# Version 1.2.116 - Jun 7, 2019
+## Bug Fixes
+* Android Resolver: Fixed resolution of Android dependencies without version
+ specifiers.
+* Android Resolver: Fixed Maven repo not found warning in Android Resolver.
+* Android Resolver: Fixed Android Player directory not found exception in
+ Unity 2019.x when the Android Player isn't installed.
+
+# Version 1.2.115 - May 28, 2019
+## Bug Fixes
+* Android Resolver: Fixed exception due to Unity 2019.3.0a4 removing
+ x86 from the set of supported ABIs.
+
+# Version 1.2.114 - May 27, 2019
+## New Features
+* Android Resolver: Added support for ABI stripping when using
+ mainTemplate.gradle. This only works with AARs stored in repos
+ on the local filesystem.
+
+# Version 1.2.113 - May 24, 2019
+## New Features
+* Android Resolver: If local repos are moved, the plugin will search the
+ project for matching directories in an attempt to correct the error.
+* Version Handler: Files can be now targeted to multiple build targets
+ using multiple "gvh_" asset labels.
+## Bug Fixes
+* Android Resolver: "implementation" or "compile" are now added correctly
+ to mainTemplate.gradle in Unity versions prior to 2019.
+
+# Version 1.2.112 - May 22, 2019
+## New Features
+* Android Resolver: Added option to disable addition of dependencies to
+ mainTemplate.gradle.
+ See `Assets > Play Services Resolver > Android Resolver > Settings`.
+* Android Resolver: Made paths to local maven repositories in
+ mainTemplate.gradle relative to the Unity project when a project is not
+ being exported.
+## Bug Fixes
+* Android Resolver: Fixed builds with mainTemplate.gradle integration in
+ Unity 2019.
+* Android Resolver: Changed dependency inclusion in mainTemplate.gradle to
+ use "implementation" or "compile" depending upon the version of Gradle
+ included with Unity.
+* Android Resolver: Gracefully handled exceptions if the console encoding
+ can't be modified.
+* Android Resolver: Now gracefully fails if the AndroidPlayer directory
+ can't be found.
+
+# Version 1.2.111 - May 9, 2019
+## Bug Fixes
+* Version Handler: Fixed invocation of methods with named arguments.
+* Version Handler: Fixed occasional hang when the editor is compiling
+ while activating plugins.
+
+# Version 1.2.110 - May 7, 2019
+## Bug Fixes
+* Android Resolver: Fixed inclusion of some srcaar artifacts in builds with
+ Gradle builds when using mainTemplate.gradle.
+
+# Version 1.2.109 - May 6, 2019
+## New Features:
+* Added links to documentation from menu.
+* Android Resolver: Added option to auto-resolve Android libraries on build.
+* Android Resolver: Added support for packaging specs of Android libraries.
+* Android Resolver: Pop up a window when displaying Android dependencies.
+
+## Bug Fixes
+* Android Resolver: Support for Unity 2019 Android SDK and JDK install locations
+* Android Resolver: e-enable AAR explosion if internal builds are enabled.
+* Android Resolver: Gracefully handle exceptions on file deletion.
+* Android Resolver: Fixed Android Resolver log spam on load.
+* Android Resolver: Fixed save of Android Resolver PromptBeforeAutoResolution
+ setting.
+* Android Resolver: Fixed AAR processing failure when an AAR without
+ classes.jar is found.
+* Android Resolver: Removed use of EditorUtility.DisplayProgressBar which
+ was occasionally left displayed when resolution had completed.
+* Version Handler: Fixed asset rename to disable when a disabled file exists.
+
+# Version 1.2.108 - May 3, 2019
+## Bug Fixes:
+* Version Handler: Fixed occasional hang on startup.
+
+# Version 1.2.107 - May 3, 2019
+## New Features:
+* Version Handler: Added support for enabling / disabling assets that do not
+ support the PluginImporter, based upon build target selection.
+* Android Resolver: Added support for the global specification of maven repos.
+* iOS Resolver: Added support for the global specification of Cocoapod sources.
+
+# Version 1.2.106 - May 1, 2019
+## New Features
+* iOS Resolver: Added support for development pods in Xcode project integration
+ mode.
+* iOS Resolver: Added support for source pods with resources in Xcode project
+ integration mode.
+
+# Version 1.2.105 - Apr 30, 2019
+## Bug fixes
+* Android Resolver: Fixed reference to Java tool path in logs.
+* Android and iOS Resolvers: Changed command line execution to emit a warning
+ rather than throwing an exception and failing, when it is not possible to
+ change the console input and output encoding to UTF-8.
+* Android Resolver: Added menu option and API to delete resolved libraries.
+* Android Resolver: Added menu option and API to log the repos and libraries
+ currently included in the project.
+* Android Resolver: If Plugins/Android/mainTemplate.gradle file is present and
+ Gradle is selected as the build type, resolution will simply patch the file
+ with Android dependencies specified by plugins in the project.
+
+# Version 1.2.104 - Apr 10, 2019
+## Bug Fixes
+* Android Resolver: Changed Android ABI selection method from using whitelisted
+ Unity versions to type availability. This fixes an exception on resolution
+ in some versions of Unity 2017.4.
+
+# Version 1.2.103 - Apr 2, 2019
+## Bug Fixes
+* Android Resolver: Whitelisted Unity 2017.4 and above with ARM64 support.
+* Android Resolver: Fixed Java version check to work with Java SE 12 and above.
+
+# Version 1.2.102 - Feb 13, 2019
+## Bug Fixes
+* Android Resolver: Fixed the text overflow on the Android Resolver
+ prompt before initial run to fit inside the buttons for
+ smaller screens.
+
+# Version 1.2.101 - Feb 12, 2019
+## New Features
+* Android Resolver: Prompt the user before the resolver runs for the
+ first time and allow the user to elect to disable from the prompt.
+* Android Resolver: Change popup warning when resolver is disabled
+ to be a console warning.
+
+# Version 1.2.100 - Jan 25, 2019
+## Bug Fixes
+* Android Resolver: Fixed AAR processing sometimes failing on Windows
+ due to file permissions.
+
+# Version 1.2.99 - Jan 23, 2019
+## Bug Fixes
+* Android Resolver: Improved performance of project property polling.
+* Version Handler: Fixed callback of VersionHandler.UpdateCompleteMethods
+ when the update process is complete.
+
+# Version 1.2.98 - Jan 9, 2019
+## New Features
+* iOS Resolver: Pod declaration properties can now be set via XML pod
+ references. For example, this can enable pods for a subset of build
+ configurations.
+## Bug Fixes
+* iOS Resolver: Fixed incremental builds after local pods support caused
+ regression in 1.2.96.
+
+# Version 1.2.97 - Dec 17, 2018
+## Bug Fixes
+* Android Resolver: Reduced memory allocation for logic that monitors build
+ settings when auto-resolution is enabled. If auto-resolution is disabled,
+ almost all build settings are no longer polled for changes.
+
+# Version 1.2.96 - Dec 17, 2018
+## Bug Fixes
+* Android Resolver: Fixed repacking of AARs to exclude .meta files.
+* Android Resolver: Only perform auto-resolution on the first scene while
+ building.
+* Android Resolver: Fixed parsing of version ranges that include whitespace.
+* iOS Resolver: Added support for local development pods.
+* Version Handler: Fixed Version Handler failing to rename some files.
+
+# Version 1.2.95 - Oct 23, 2018
+## Bug Fixes:
+* Android Resolver: Fixed auto-resolution running in a loop in some scenarios.
+
+# Version 1.2.94 - Oct 22, 2018
+## Bug Fixes
+* iOS Resolver: Added support for PODS_TARGET_SRCROOT in source Cocoapods.
+
+# Version 1.2.93 - Oct 22, 2018
+## Bug Fixes
+* Android Resolver: Fixed removal of Android libraries on auto-resolution when
+ `*Dependencies.xml` files are deleted.
+
+# Version 1.2.92 - Oct 2, 2018
+## Bug Fixes
+* Android Resolver: Worked around auto-resolution hang on Windows if
+ resolution starts before compilation is finished.
+
+# Version 1.2.91 - Sep 27, 2018
+## Bug Fixes
+* Android Resolver: Fixed Android Resolution when the selected build target
+ isn't Android.
+* Added C# assembly symbols the plugin to simplify debugging bug reports.
+
+# Version 1.2.90 - Sep 21, 2018
+## Bug Fixes
+* Android Resolver: Fixed transitive dependency selection of version locked
+ packages.
+
+# Version 1.2.89 - Aug 31, 2018
+## Bug Fixes
+* Fixed FileLoadException in ResolveUnityEditoriOSXcodeExtension an assembly
+ can't be loaded.
+
+# Version 1.2.88 - Aug 29, 2018
+## Changed
+* Improved reporting of resolution attempts and conflicts found in the Android
+ Resolver.
+## Bug Fixes
+* iOS Resolver now correctly handles sample code in CocoaPods. Previously it
+ would add all sample code to the project when using project level
+ integration.
+* Android Resolver now correctly handles Gradle conflict resolution when the
+ resolution results in a package that is compatible with all requested
+ dependencies.
+
+# Version 1.2.87 - Aug 23, 2018
+## Bug Fixes
+* Fixed Android Resolver "Processing AARs" dialog getting stuck in Unity 5.6.
+
+# Version 1.2.86 - Aug 22, 2018
+## Bug Fixes
+* Fixed Android Resolver exception in OnPostProcessScene() when the Android
+ platform isn't selected.
+
+# Version 1.2.85 - Aug 17, 2018
+## Changes
+* Added support for synchronous resolution in the Android Resolver.
+ PlayServicesResolver.ResolveSync() now performs resolution synchronously.
+* Auto-resolution in the Android Resolver now results in synchronous resolution
+ of Android dependencies before the Android application build starts via
+ UnityEditor.Callbacks.PostProcessSceneAttribute.
+
+# Version 1.2.84 - Aug 16, 2018
+## Bug Fixes
+* Fixed Android Resolver crash when the AndroidResolverDependencies.xml
+ file can't be written.
+* Reduced log spam when a conflicting Android library is pinned to a
+ specific version.
+
+# Version 1.2.83 - Aug 15, 2018
+## Bug Fixes
+* Fixed Android Resolver failures due to an in-accessible AAR / JAR explode
+ cache file. If the cache can't be read / written the resolver now continues
+ with reduced performance following recompilation / DLL reloads.
+* Fixed incorrect version number in plugin manifest on install.
+ This was a minor issue since the version handler rewrote the metadata
+ after installation.
+
+# Version 1.2.82 - Aug 14, 2018
+## Changed
+* Added support for alphanumeric versions in the Android Resolver.
+
+## Bug Fixes
+* Fixed Android Resolver selection of latest duplicated library.
+* Fixed Android Resolver conflict resolution when version locked and non-version
+ locked dependencies are specified.
+* Fixed Android Resolver conflict resolution when non-existent artifacts are
+ referenced.
+
+# Version 1.2.81 - Aug 9, 2018
+## Bug Fixes
+* Fixed editor error that would occur when when
+ `PlayerSettings.Android.targetArchitectures` was set to
+ `AndroidArchitecture.All`.
+
+# Version 1.2.80 - Jul 24, 2018
+## Bug Fixes
+* Fixed project level settings incorrectly falling back to system wide settings
+ when default property values were set.
+
+# Version 1.2.79 - Jul 23, 2018
+## Bug Fixes
+* Fixed AndroidManifest.xml patching on Android Resolver load in Unity 2018.x.
+
+# Version 1.2.78 - Jul 19, 2018
+## Changed
+* Added support for overriding conflicting dependencies.
+
+# Version 1.2.77 - Jul 19, 2018
+## Changed
+* Android Resolver now supports Unity's 2018 ABI filter (i.e arm64-v8a).
+* Reduced Android Resolver build option polling frequency.
+* Disabled Android Resolver auto-resolution in batch mode. Users now need
+ to explicitly kick off resolution through the API.
+* All Android Resolver and Version Handler dialogs are now disabled in batch
+ mode.
+* Verbose logging for all plugins is now enabled by default in batch mode.
+* Version Handler bootstrapper has been improved to no longer call
+ UpdateComplete multiple times. However, since Unity can still reload the
+ app domain after plugins have been enabled, users still need to store their
+ plugin state to persistent storage to handle reloads.
+
+## Bug Fixes
+* Android Resolver no longer incorrectly adds MANIFEST.MF files to AARs.
+* Android Resolver auto-resolution jobs are now unscheduled when an explicit
+ resolve job is started.
+
+# Version 1.2.76 - Jul 16, 2018
+## Bug Fixes
+* Fixed variable replacement in AndroidManifest.xml files in the Android
+ Resolver.
+ Version 1.2.75 introduced a regression which caused all variable replacement
+ to replace the *entire* property value rather than the component of the
+ property that referenced a variable. For example,
+ given "applicationId = com.my.app", "${applicationId}.foo" would be
+ incorrectly expanded as "com.my.app" rather than "com.my.app.foo". This
+ resulted in numerous issues for Android builds where content provider
+ initialization would fail and services may not start.
+
+## Changed
+* Gradle prebuild experimental feature has been removed from the Android
+ Resolver. The feature has been broken for some time and added around 8MB
+ to the plugin size.
+* Added better support for execution of plugin components in batch mode.
+ In batch mode UnityEditor.update is sometimes never called - like when a
+ single method is executed - so the new job scheduler will execute all jobs
+ synchronously from the main thread.
+
+# Version 1.2.75 - Jun 20, 2018
+## New Features
+* Android Resolver now monitors the Android SDK path when
+ auto-resolution is enabled and triggers resolution when the path is
+ modified.
+
+## Changed
+* Android auto-resolution is now delayed by 3 seconds when the following build
+ settings are changed:
+ - Target ABI.
+ - Gradle build vs. internal build.
+ - Project export.
+* Added a progress bar display when AARs are being processed during Android
+ resolution.
+
+## Bug Fixes
+* Fixed incorrect Android package version selection when a mix of
+ version-locked and non-version-locked packages are specified.
+* Fixed non-deterministic Android package version selection to select
+ the highest version of a specified package rather than the last
+ package specification passed to the Gradle resolution script.
+
+# Version 1.2.74 - Jun 19, 2018
+## New Features
+* Added workaround for broken AndroidManifest.xml variable replacement in
+ Unity 2018.x. By default ${applicationId} variables will be replaced by
+ the bundle ID in the Plugins/Android/AndroidManifest.xml file. The
+ behavior can be disabled via the Android Resolver settings menu.
+
+# Version 1.2.73 - May 30, 2018
+## Bug Fixes
+* Fixed spurious warning message about missing Android plugins directory on
+ Windows.
+
+# Version 1.2.72 - May 23, 2018
+## Bug Fixes
+* Fixed spurious warning message about missing Android plugins directory.
+
+# Version 1.2.71 - May 10, 2018
+## Bug Fixes
+* Fixed resolution of Android dependencies when the `Assets/Plugins/Android`
+ directory is named in a different case e.g `Assets/plugins/Android`.
+
+# Version 1.2.70 - May 7, 2018
+## Bug Fixes
+* Fixed bitcode flag being ignored for iOS pods.
+
+# Version 1.2.69 - May 7, 2018
+## Bug Fixes
+* Fixed escaping of local repository paths in Android Resolver.
+
+# Version 1.2.68 - May 3, 2018
+## Changes
+* Added support for granular builds of Google Play Services.
+
+# Version 1.2.67 - May 1, 2018
+## Changes
+* Improved support for iOS source-only pods in Unity 5.5 and below.
+
+# Version 1.2.66 - April 27, 2018
+## Bug Fixes
+* Fixed Version Handler renaming of Linux libraries with hyphens in filenames.
+ Previously, libraries named Foo-1.2.3.so were not being renamed to
+ libFoo-1.2.3.so on Linux which could break native library loading on some
+ versions of Unity.
+
+# Version 1.2.65 - April 26, 2018
+## Bug Fixes
+* Fix CocoaPods casing in logs and comments.
+
+# Version 1.2.64 - Mar 16, 2018
+## Bug Fixes
+* Fixed bug in download_artifacts.gradle (used by Android Resolver) which
+ reported a failure if required artifacts already exist.
+
+# Version 1.2.63 - Mar 15, 2018
+## Bug Fixes
+* Fixed iOS Resolver include search paths taking precedence over system headers
+ when using project level resolution.
+* Fixed iOS Resolver includes relative to library root, when using project level
+ resolution.
+
+# Version 1.2.62 - Mar 12, 2018
+## Changes
+* Improved error reporting when a file can't be moved to trash by the
+ Version Handler.
+## Bug Fixes
+* Fixed Android Resolver throwing NullReferenceException when the Android SDK
+ path isn't set.
+* Fixed Version Handler renaming files with underscores if the
+ "Rename to Canonical Filenames" setting is enabled.
+
+# Version 1.2.61 - Jan 22, 2018
+## Bug Fixes
+* Fixed Android Resolver reporting non-existent conflicting dependencies when
+ Gradle build system is enabled.
+
+# Version 1.2.60 - Jan 12, 2018
+## Changes
+* Added support for Maven / Ivy version specifications for Android packages.
+* Added support for Android SNAPSHOT packages.
+
+## Bug Fixes
+* Fixed Openjdk version check.
+* Fixed non-deterministic Android package resolution when two packages contain
+ an artifact with the same name.
+
+# Version 1.2.59 - Oct 19, 2017
+## Bug Fixes
+* Fixed execution of Android Gradle resolution script when it's located
+ in a path with whitespace.
+
+# Version 1.2.58 - Oct 19, 2017
+## Changes
+* Removed legacy resolution method from Android Resolver.
+ It is now only possible to use the Gradle or Gradle prebuild resolution
+ methods.
+
+# Version 1.2.57 - Oct 18, 2017
+## Bug Fixes
+* Updated Gradle wrapper to 4.2.1 to fix issues using Gradle with the
+ latest Openjdk.
+* Android Gradle resolution now also uses gradle.properties to pass
+ parameters to Gradle in an attempt to workaround problems with
+ command line argument parsing on Windows 10.
+
+# Version 1.2.56 - Oct 12, 2017
+## Bug Fixes
+* Fixed Gradle artifact download with non-version locked artifacts.
+* Changed iOS resolver to only load dependencies at build time.
+
+# Version 1.2.55 - Oct 4, 2017
+## Bug Fixes
+* Force Android Resolution when the "Install Android Packages" setting changes.
+
+# Version 1.2.54 - Oct 4, 2017
+## Bug Fixes
+* Fixed execution of command line tools on Windows when the path to the tool
+ contains a single quote (apostrophe). In this case we fallback to executing
+ the tool via the system shell.
+
+# Version 1.2.53 - Oct 2, 2017
+## New Features
+* Changed Android Resolver "resolution complete" dialog so that it now displays
+ failures.
+* Android Resolver now detects conflicting libraries that it does not manage
+ warning the user if they're newer than the managed libraries and prompting
+ the user to clean them up if they're older or at the same version.
+
+## Bug Fixes
+* Improved Android Resolver auto-resolution speed.
+* Fixed bug in the Gradle Android Resolver which would result in resolution
+ succeeding when some dependencies are not found.
+
+# Version 1.2.52 - Sep 25, 2017
+## New Features
+* Changed Android Resolver's Gradle resolution to resolve conflicting
+ dependencies across Google Play services and Android Support library packages.
+
+# Version 1.2.51 - Sep 20, 2017
+## Changes
+* Changed iOS Resolver to execute the CocoaPods "pod" command via the shell
+ by default. Some developers customize their shell environment to use
+ custom ssh certs to access internal git repositories that host pods so
+ executing "pod" via the shell will work for these scenarios.
+ The drawback of executing "pod" via the shell could potentially cause
+ users problems if they break their shell environment. Though users who
+ customize their shell environments will be able to resolve these issues.
+
+# Version 1.2.50 - Sep 18, 2017
+## New Features
+* Added option to disable the Gradle daemon in the Android Resolver.
+ This daemon is now disabled by default as some users are getting into a state
+ where multiple daemon instances are being spawned when changing dependencies
+ which eventually results in Android resolution failing until all daemon
+ processes are manually killed.
+
+## Bug Fixes
+* Android resolution is now always executed if the user declines the update
+ of their Android SDK. This ensure users can continue to use out of date
+ Android SDK packages if they desire.
+
+# Version 1.2.49 - Sep 18, 2017
+## Bug Fixes
+* Removed modulemap parsing in iOS Resolver.
+ The framework *.modulemap did not need to be parsed by the iOS Resolver
+ when injecting Cocoapods into a Xcode project. Simply adding a modular
+ framework to a Xcode project results in Xcode's Clang parsing the associated
+ modulemap and injecting any compile and link flags into the build process.
+
+# Version 1.2.48 - Sep 12, 2017
+## New Features
+* Changed settings to be per-project by default.
+
+## Bug Fixes
+* Added Google maven repository to fix GradlePrebuild resolution with Google
+ components.
+* Fixed Android Resolution failure with spaces in paths.
+
+# Version 1.2.47 - Aug 29, 2017
+## New Features
+* Android and iOS dependencies can now be specified using *Dependencies.xml
+ files. This is now the preferred method for registering dependencies,
+ we may remove the API for dependency addition in future.
+* Added "Reset to Defaults" button to each settings dialog to restore default
+ settings.
+* Android Resolver now validates the configured JDK is new enough to build
+ recently released Android libraries.
+## Bug Fixes
+* Fixed a bug that caused dependencies with the "LATEST" version specification
+ to be ignored when using the Gradle mode of the Android Resolver.
+* Fixed a race condition when running Android Resolution.
+* Fixed Android Resolver logging if a PlayServicesSupport instance is created
+ with no logging enabled before the Android Resolver is initialized.
+* Fixed iOS resolver dialog in Unity 4.
+* Fixed iOS Cocoapod Xcode project integration in Unity 4.
+
+# Version 1.2.46 - Aug 22, 2017
+## Bug Fixes
+* GradlePrebuild Android resolver on Windows now correctly locates dependent
+ data files.
+
+# Version 1.2.45 - Aug 22, 2017
+## Bug Fixes
+* Improved Android package auto-resolution and fixed clean up of stale
+ dependencies when using Gradle dependency resolution.
+
+# Version 1.2.44 - Aug 21, 2017
+## Bug Fixes
+* Enabled autoresolution for Gradle Prebuild.
+* Made the command line dialog windows have selectable text.
+* Fixed incorrect "Android Settings" dialog disabled groups.
+* Updated PlayServicesResolver android platform detection to use the package
+ manager instead of the 'android' tool.
+* UnityCompat reflection methods 'GetAndroidPlatform' and
+ 'GetAndroidBuildToolsVersion' are now Obsolete due to dependence on the
+ obsolete 'android' build tool.
+
+# Version 1.2.43 - Aug 18, 2017
+## Bug Fixes
+* Fixed Gradle resolution in the Android Resolver when running
+ PlayServicesResolver.Resolve() in parallel or spawning multiple
+ resolutions before the previous resolve completed.
+
+# Version 1.2.42 - Aug 17, 2017
+## Bug Fixes
+* Fixed Xcode project level settings not being applied by IOS Resolver when
+ Xcode project pod integration is enabled.
+
+# Version 1.2.41 - Aug 15, 2017
+## Bug Fixes
+* IOS Resolver's Xcode workspace pod integration is now disabled when Unity
+ Cloud Build is detected. Unity Cloud Build does not follow the same build
+ process as the Unity editor and fails to open the generated xcworkspace at
+ this time.
+
+# Version 1.2.40 - Aug 15, 2017
+## Bug Fixes
+* Moved Android Resolver Gradle Prebuild scripts into Google.JarResolver.dll.
+ They are now extracted from the DLL when required.
+* AARs / JARs are now cleaned up when switching the Android resolution
+ strategy.
+
+# Version 1.2.39 - Aug 10, 2017
+## New Features
+* Android Resolver now supports resolution with Gradle. This enables support
+ for non-local artifacts.
+## Bug Fixes
+* Android Resolver's Gradle Prebuild now uses Android build tools to determine
+ the Android platform tools version rather than relying upon internal Unity
+ APIs.
+* Android Resolver's Gradle Prebuild now correctly strips binaries that are
+ not required for the target ABI.
+
+# Version 1.2.38 - Aug 7, 2017
+## Bug Fixes
+* Fixed an issue in VersionHandler where disabled targets are ignored if
+ the "Any Platform" flag is set on a plugin DLL.
+
+# Version 1.2.37 - Aug 3, 2017
+## New Features
+* Exposed GooglePlayServices.PlayServicesResolver.Resolve() so that it's
+ possible for a script to be notified when AAR / Jar resolution is complete.
+ This makes it easier to setup a project to build from the command line.
+
+# Version 1.2.36 - Aug 3, 2017
+## New Features
+* VersionHandler.UpdateCompleteMethods allows a user to provide a list of
+ methods to be called when VersionHandlerImpl has completed an update.
+ This makes it easier to import a plugin and wait for VersionHandler to
+ execute prior executing a build.
+
+# Version 1.2.35 - Jul 28, 2017
+## New Features
+* VersionHandler will now rename Linux libraries so they can target Unity
+ versions that require different file naming. Libraries need to be labelled
+ gvh_linuxlibname-${basename} in order to be considered for renaming.
+ e.g gvh\_linuxlibname-MyLib will be named MyLib.so in Unity 5.5 and below and
+ libMyLib.so in Unity 5.6 and above.
+
+# Version 1.2.34 - Jul 28, 2017
+## Bug Fixes
+* Made VersionHandler bootstrap module more robust when calling static
+ methods before the implementation DLL is loaded.
+
+# Version 1.2.33 - Jul 27, 2017
+## New Features
+* Added a bootstrap module for VersionHandler so the implementation
+ of the VersionHandler module can be versioned without resulting in
+ a compile error when imported at different versions across multiple
+ plugins.
+
+# Version 1.2.32 - Jul 20, 2017
+## New Features
+* Added support for build target selection based upon .NET framework
+ version in the VersionHandler.
+ When applying either gvh\_dotnet-3.5 or gvh\_dotnet-4.5 labels to
+ assets, the VersionHandler will only enable the asset for the
+ specified set of build targets when the matching .NET framework version
+ is selected in Unity 2017's project settings. This allows assets
+ to be provided in a plugin that need to differ based upon .NET version.
+
+# Version 1.2.31 - Jul 5, 2017
+## Bug Fixes
+* Force expansion of AARs with native components when using Unity 2017
+ with the internal build system. In contrast to Unity 5.x, Unity 2017's
+ internal build system does not include native libraries included in AARs.
+ Forcing expansion of AARs with native components generates an
+ Ant / Eclipse project for each AAR which is correctly included by Unity
+ 2017's internal build system.
+
+# Version 1.2.30 - Jul 5, 2017
+## Bug Fixes
+* Fixed Cocoapods being installed when the build target isn't iOS.
+* Added support for malformed AARs with missing classes.jar.
+
+# Version 1.2.29 - Jun 16, 2017
+## New Features
+* Added support for the Android sdkmanager tool.
+
+# Version 1.2.28 - Jun 8, 2017
+## Bug Fixes
+* Fixed non-shell command line execution (regression from
+ Cocoapod installation patch).
+
+# Version 1.2.27 - Jun 7, 2017
+## Bug Fixes
+* Added support for stdout / stderr redirection when executing
+ commands in shell mode.
+ This fixes CocoaPod tool installation when shell mode is
+ enabled.
+* Fixed incremental builds when additional sources are specified
+ in the Podfile.
+
+# Version 1.2.26 - Jun 7, 2017
+## Bug Fixes
+* Fixed a crash when importing Version Handler into Unity 4.7.x.
+
+# Version 1.2.25 - Jun 7, 2017
+## Bug Fixes
+* Fixed an issue in the Jar Resolver which incorrectly notified
+ event handlers of bundle ID changes when the currently selected
+ (not active) build target changed in Unity 5.6 and above.
+
+# Version 1.2.24 - Jun 6, 2017
+## New Features
+* Added option to control file renaming in Version Handler settings.
+ Disabling file renaming (default option) significantly increases
+ the speed of file version management operations with the downside
+ that any files that are referenced directly by canonical filename
+ rather than asset ID will no longer be valid.
+* Improved logging in the Version Handler.
+## Bug Fixes
+* Fixed an issue in the Version Handler which caused it to not
+ re-enable plugins when re-importing a custom package with disabled
+ version managed files.
+
+# Version 1.2.23 - May 26, 2017
+## Bug Fixes
+* Fixed a bug with gradle prebuild resolver on windows.
+
+# Version 1.2.22 - May 19, 2017
+## Bug Fixes
+* Fixed a bug in the iOS resolver with incremental builds.
+* Fixed misdetection of Cocoapods support with Unity beta 5.6.
+
+# Version 1.2.21 - May 8, 2017
+## Bug Fixes
+* Fix for https://github.com/googlesamples/unity-jar-resolver/issues/48
+ Android dependency version number parsing when "-alpha" (etc.) are
+ included in dependency (AAR / JAR) versions.
+
+# Version 1.2.20 - May 8, 2017
+## Bug Fixes
+* Attempted to fix
+ https://github.com/googlesamples/unity-jar-resolver/issues/48
+ where a NullReferenceException could occur if a target file does not
+ have a valid version string.
+
+# Version 1.2.19 - May 4, 2017
+## Bug Fixes
+* Fixed Jar Resolver exploding and deleting AAR files it isn't managing.
+
+# Version 1.2.18 - May 4, 2017
+## New Features
+* Added support for preserving Unity pods such as when GVR is enabled.
+
+# Version 1.2.17 - Apr 20, 2017
+## Bug Fixes
+* Fixed auto-resolution when an Android application ID is modified.
+
+# Version 1.2.16 - Apr 17, 2017
+## Bug Fixes
+* Fixed Unity version number parsing on machines with a locale that uses
+ "," for decimal points.
+* Fixed null reference exception if JDK path isn't set.
+
+# Version 1.2.15 - Mar 17, 2017
+## New Features
+* Added warning when the Jar Resolver's background resolution is disabled.
+## Bug Fixes
+* Fixed support of AARs with native libraries when using Gradle.
+* Fixed extra repository paths when resolving dependencies.
+
+# Version 1.2.14 - Mar 7, 2017
+## New Features
+* Added experimental Android resolution using Gradle.
+ This alternative resolver supports proguard stripping with Unity's
+ internal build system.
+* Added Android support for single ABI builds when using AARs include
+ native libraries.
+* Disabled Android resolution on changes to all .cs and .js files.
+ File patterns that are monitored for auto-resolution can be added
+ using PlayServicesResolver.AddAutoResolutionFilePatterns().
+* Added tracking of resolved AARs and JARs so they can be cleaned up
+ if they're no longer referenced by a project.
+* Added persistence of AAR / JAR version replacement for each Unity
+ session.
+* Added settings dialog to the iOS resolver.
+* Integrated Cocoapod tool installation in the iOS resolver.
+* Added option to run pod tool via the shell.
+## Bug Fixes
+* Fixed build of some source Cocoapods (e.g Protobuf).
+* VersionHandler no longer prompts to delete obsolete manifests.
+* iOS resolver handles Cocoapod installation when using Ruby < 2.2.2.
+* Added workaround for package version selection when including
+ Google Play Services on Android.
+* Fixed support for pods that reference static libraries.
+* Fixed support for resource-only pods.
+
+# Version 1.2.12 - Feb 14, 2017
+## Bug Fixes
+* Fixed re-explosion of AARs when the bundle ID is modified.
+
+# Version 1.2.11 - Jan 30, 2017
+## New Features
+* Added support for Android Studio builds.
+* Added support for native (C/C++) shared libraries in AARs.
+
+# Version 1.2.10 - Jan 11, 2017
+## Bug Fixes
+* Fixed SDK manager path retrieval.
+* Also, report stderr when it's not possible to run the "pod" tool.
+* Handle exceptions thrown by Unity.Cecil on asset rename
+* Fixed IOSResolver to handle PlayerSettings.iOS.targetOSVersionString
+
+# Version 1.2.9 - Dec 7, 2016
+## Bug Fixes
+* Improved error reporting when "pod repo update" fails.
+* Added detection of xml format xcode projects generated by old Cocoapods
+ installations.
+
+# Version 1.2.8 - Dec 6, 2016
+## Bug Fixes
+* Increased speed of JarResolver resolution.
+* Fixed JarResolver caches getting out of sync with requested dependencies
+ by removing the caches.
+* Fixed JarResolver explode cache always being rewritten even when no
+ dependencies change.
+
+# Version 1.2.7 - Dec 2, 2016
+## Bug Fixes
+* Fixed VersionHandler build errors with Unity 5.5, due to the constantly
+ changing BuildTarget enum.
+* Added support for Unity configured JDK Path rather than requiring
+ JAVA_HOME to be set in the Jar Resolver.
+
+# Version 1.2.6 - Nov 15, 2016
+## Bug Fixes
+* Fixed IOSResolver errors when iOS support is not installed.
+* Added fallback to "pod" executable search which queries the Ruby Gems
+ package manager for the binary install location.
+
+# Version 1.2.5 - Nov 3, 2016
+## Bug Fixes
+* Added crude support for source only Cocoapods to the IOSResolver.
+
+# Version 1.2.4 - Oct 27, 2016
+## Bug Fixes
+* Automated resolution of out of date pod repositories.
+
+# Version 1.2.3 - Oct 25, 2016
+## Bug Fixes
+* Fixed exception when reporting conflicting dependencies.
+
+# Version 1.2.2 - Oct 17, 2016
+## Bug Fixes
+* Fixed issue working with Unity 5.5
+* Fixed issue with PlayServicesResolver corrupting other iOS dependencies.
+* Updated build script to use Unity distributed tools for building.
+
+# Version 1.2.1 - Jul 25, 2016
+## Bug Fixes
+* Removed 1.2 Resolver and hardcoded whitelist of AARs to expand.
+* Improved error reporting when the "jar" executable can't be found.
+* Removed the need to set JAVA_HOME if "jar" is in the user's path.
+* Fixed spurious copying of partially matching AARs.
+* Changed resolver to only copy / expand when source AARs change.
+* Auto-resolution of dependencies is now performed when the Android
+ build target is selected.
+
+## New Features
+* Expand AARs that contain manifests with variable expansion like
+ ${applicationId}.
+* Added optional logging in the JarResolverLib module.
+* Integration with the Android SDK manager for dependencies that
+ declare required Android SDK packages.
+
+# Version 1.2.0 - May 11 2016
+## Bug Fixes
+* Handles resolving dependencies when the artifacts are split across 2 repos.
+* #4 Misdetecting version for versions like 1.2-alpha. These are now string
+ compared if alphanumeric
+* Removed resolver creation via reflection since it did not work all the time.
+ Now a resolver needs to be loaded externally (which is existing behavior).
+
+## New Features
+* Expose PlayServicesResolver properties to allow for script access.
+* Explodes firebase-common and firebase-measurement aar files to support
+ ${applicationId} substitution.
+
+# Version 1.1.1 - 25 Feb 2016
+## Bug Fixes
+* #1 Spaces in project path not handled when exploding Aar file.
+* #2 Script compilation error: TypeLoadException.
+
+# Version 1.1.0 - 5 Feb 2016
+## New Features
+* Adds friendly alert when JAVA_HOME is not set on Windows platforms.
+* Adds flag for disabling background resolution.
+* Expands play-services-measurement and replaces ${applicationId} with the
+ bundle Id.
+
+ ## Bug Fixes
+* Fixes infinite loop of resolution triggered by resolution.
diff --git a/Assets/ExternalDependencyManager/Editor/CHANGELOG.md.meta b/Assets/ExternalDependencyManager/Editor/CHANGELOG.md.meta
new file mode 100644
index 0000000..7d27625
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/CHANGELOG.md.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ff38baa7337e404f8a2bb7852f8f731a
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-ExternalDependencyManager/Editor/CHANGELOG.md
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll b/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
new file mode 100644
index 0000000..852545b
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9fafa3d247736a5b48d46a28d62c502c747dfc77fdcacb229a3e8b2eb3c8082e
+size 15360
diff --git a/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta b/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta
new file mode 100644
index 0000000..67a912e
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll.meta
@@ -0,0 +1,38 @@
+fileFormatVersion: 2
+guid: e2c97f7cb0534972a32514c0bf4b4f48
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-ExternalDependencyManager/Editor/Google.VersionHandler.dll
+- gvhp_targets-editor
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 1
+ platformData:
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ DefaultValueInitialized: true
+ - first:
+ Windows Store Apps: WindowsStoreApps
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/LICENSE b/Assets/ExternalDependencyManager/Editor/LICENSE
new file mode 100644
index 0000000..6258cc4
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/LICENSE
@@ -0,0 +1,245 @@
+Copyright (C) 2014 Google Inc.
+
+ 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.
+
+ 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.
+
+====================================================================================================
+This package uses MiniJSON
+
+Copyright (c) 2013 Calvin Rien
+
+Based on the JSON parser by Patrick van Bergen
+http://techblog.procurios.nl/k/618/news/view/14605/14863/How-do-I-write-my-own-parser-for-JSON.html
+
+Simplified it so that it doesn't throw exceptions
+and can be used in Unity iPhone with maximum code stripping.
+
+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/Assets/ExternalDependencyManager/Editor/LICENSE.meta b/Assets/ExternalDependencyManager/Editor/LICENSE.meta
new file mode 100644
index 0000000..3220b41
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/LICENSE.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: eca58a95d98c4fc297d3ad17b7bf24c6
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-ExternalDependencyManager/Editor/LICENSE
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/README.md b/Assets/ExternalDependencyManager/Editor/README.md
new file mode 100644
index 0000000..207c6b1
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/README.md
@@ -0,0 +1,936 @@
+# External Dependency Manager for Unity
+
+[](https://openupm.com/packages/com.google.external-dependency-manager/)
+[](https://openupm.com/packages/com.google.external-dependency-manager/)
+
+## Overview
+
+The External Dependency Manager for Unity (EDM4U) (formerly Play Services
+Resolver/Jar Resolver) is intended to be used by any Unity package or user that
+requires:
+
+* Android specific libraries (e.g
+ [AARs](https://developer.android.com/studio/projects/android-library.html))
+
+* iOS [CocoaPods](https://cocoapods.org/)
+
+* Version management of transitive dependencies
+
+* Management of Package Manager (PM) Registries
+
+If you want to add and use iOS/Android dependencies directly in your project,
+then you should to install EDM4U in your project.
+
+If you are a package user and the plugin you are using depends on EDM4U, *and*
+the package does not include EDM4U as a package dependency already, then you
+should to install EDM4U in your project.
+
+If you are a UPM package maintainer and your package requires EDM4U, then you
+should add EDM4U as a
+[package dependency](https://docs.unity3d.com/2019.3/Documentation/Manual/upm-dependencies.html)
+in your package manifest (`package.json`):
+
+```json
+{
+ "dependencies": {
+ "com.google.external-dependency-manager": "1.2.178"
+ }
+}
+```
+
+You should still install EDM4U to test out the package during development.
+
+If you are a legacy `.unitypackage` package maintainer and your package requires
+EDM4U, please ask the user to install EDM4U separately. You should install EDM4U
+to test out the package during development.
+
+Updated releases are available on
+[GitHub](https://github.com/googlesamples/unity-jar-resolver)
+
+## Requirements
+
+The *Android Resolver* and *iOS Resolver* components of the plugin only work
+with Unity version 4.6.8 or higher.
+
+The *Version Handler* component only works with Unity 5.x or higher as it
+depends upon the `PluginImporter` UnityEditor API.
+
+The *Package Manager Resolver* component only works with Unity 2018.4 or above,
+when [scoped registry](https://docs.unity3d.com/Manual/upm-scoped.html) support
+was added to the Package Manager.
+
+## Getting Started
+
+Check out [troubleshooting](troubleshooting-faq.md) if you need help.
+
+### Install via OpenUPM
+
+EDM4U is available on
+[OpenUPM](https://openupm.com/packages/com.google.external-dependency-manager/):
+
+```shell
+openupm add com.google.external-dependency-manager
+```
+
+### Install via git URL
+1. Open Package Manager
+2. Click on the + icon on the top left corner of the "Package Manager" screen
+3. Click on "Install package from git url..."
+4. Paste: https://github.com/googlesamples/unity-jar-resolver.git?path=upm
+
+### Install via Google APIs for Unity
+
+EDM4U is available both in UPM and legacy `.unitypackage` formats on
+[Google APIs for Unity](https://developers.google.com/unity/archive#external_dependency_manager_for_unity).
+
+You may install the UPM version (.tgz) as a
+[local UPM package](https://docs.unity3d.com/Manual/upm-ui-local.html).
+
+You can also install EDM4U in your project as a `.unitypackage`. This is not
+recommended due to potential conflicts.
+
+### Conflict Resolution
+
+For historical reasons, a package maintainer may choose to embed EDM4U in their
+package for ease of installation. This will create a conflict when you try to
+install EDM4U with the steps above, or with another package with embedded EDM4U.
+If your project imported a `.unitypackage` that has a copy of EDM4U embedded in
+it, you may safely delete it from your Assets folder. If your project depends on
+another UPM package with EDM4U, please reach out to the package maintainer and
+ask them to replace it with a dependency to this package. In the meantime, you
+can workaround the issue by copying the package to your Packages folder (to
+create an
+[embedded package](https://docs.unity3d.com/Manual/upm-concepts.html#Embedded))
+and perform the steps yourself to avoid a dependency conflict.
+
+### Config file
+
+To start adding dependencies to your project, copy and rename the
+[SampleDependencies.xml](https://github.com/googlesamples/unity-jar-resolver/blob/master/sample/Assets/ExternalDependencyManager/Editor/SampleDependencies.xml)
+file into your plugin and add the dependencies your project requires.
+
+The XML file needs to be under an `Editor` directory and match the name
+`*Dependencies.xml`. For example, `MyPlugin/Editor/MyPluginDependencies.xml`.
+
+## Usages
+
+### Android Resolver
+
+The Android Resolver copies specified dependencies from local or remote Maven
+repositories into the Unity project when a user selects Android as the build
+target in the Unity editor.
+
+For example, to add the Google Play Games library
+(`com.google.android.gms:play-services-games` package) at version `9.8.0` to the
+set of a plugin's Android dependencies:
+
+```xml
+
+
+
+
+ extra-google-m2repository
+
+
+
+
+```
+
+The version specification (last component) supports:
+
+* Specific versions e.g `9.8.0`
+
+* Partial matches e.g `9.8.+` would match 9.8.0, 9.8.1 etc. choosing the most
+ recent version
+
+* Latest version using `LATEST` or `+`. We do *not* recommend using this
+ unless you're 100% sure the library you depend upon will not break your
+ Unity plugin in future
+
+The above example specifies the dependency as a component of the Android SDK
+manager such that the Android SDK manager will be executed to install the
+package if it's not found. If your Android dependency is located on Maven
+central it's possible to specify the package simply using the `androidPackage`
+element:
+
+```xml
+
+
+
+
+
+```
+
+#### Auto-resolution
+
+By default the Android Resolver automatically monitors the dependencies you have
+specified and the `Plugins/Android` folder of your Unity project. The resolution
+process runs when the specified dependencies are not present in your project.
+
+The *auto-resolution* process can be disabled via the `Assets > External
+Dependency Manager > Android Resolver > Settings` menu.
+
+Manual resolution can be performed using the following menu options:
+
+* `Assets > External Dependency Manager > Android Resolver > Resolve`
+
+* `Assets > External Dependency Manager > Android Resolver > Force Resolve`
+
+#### Deleting libraries
+
+Resolved packages are tracked via asset labels by the Android Resolver. They can
+easily be deleted using the `Assets > External Dependency Manager > Android
+Resolver > Delete Resolved Libraries` menu item.
+
+#### Android Manifest Variable Processing
+
+Some AAR files (for example play-services-measurement) contain variables that
+are processed by the Android Gradle plugin. Unfortunately, Unity does not
+perform the same processing when using Unity's Internal Build System, so the
+Android Resolver plugin handles known cases of this variable substitution by
+exploding the AAR into a folder and replacing `${applicationId}` with the
+`bundleID`.
+
+Disabling AAR explosion and therefore Android manifest processing can be done
+via the `Assets > External Dependency Manager > Android Resolver > Settings`
+menu. You may want to disable explosion of AARs if you're exporting a project to
+be built with Gradle/Android Studio.
+
+#### ABI Stripping
+
+Some AAR files contain native libraries (.so files) for each ABI supported by
+Android. Unfortunately, when targeting a single ABI (e.g x86), Unity does not
+strip native libraries for unused ABIs. To strip unused ABIs, the Android
+Resolver plugin explodes an AAR into a folder and removes unused ABIs to reduce
+the built APK size. Furthermore, if native libraries are not stripped from an
+APK (e.g you have a mix of Unity's x86 library and some armeabi-v7a libraries)
+Android may attempt to load the wrong library for the current runtime ABI
+completely breaking your plugin when targeting some architectures.
+
+AAR explosion and therefore ABI stripping can be disabled via the `Assets >
+External Dependency Manager > Android Resolver > Settings` menu. You may want to
+disable explosion of AARs if you're exporting a project to be built with
+Gradle/Android Studio.
+
+#### Resolution Strategies
+
+By default the Android Resolver will use Gradle to download dependencies prior
+to integrating them into a Unity project. This works with Unity's internal build
+system and Gradle/Android Studio project export.
+
+It's possible to change the resolution strategy via the `Assets > External
+Dependency Manager > Android Resolver > Settings` menu.
+
+##### Download Artifacts with Gradle
+
+Using the default resolution strategy, the Android resolver executes the
+following operations:
+
+- Remove the result of previous Android resolutions. E.g Delete all files and
+ directories labeled with "gpsr" under `Plugins/Android` from the project.
+
+- Collect the set of Android dependencies (libraries) specified by a project's
+ `*Dependencies.xml` files.
+
+- Run `download_artifacts.gradle` with Gradle to resolve conflicts and, if
+ successful, download the set of resolved Android libraries (AARs, JARs).
+
+- Process each AAR/JAR so that it can be used with the currently selected
+ Unity build system (e.g Internal vs. Gradle, Export vs. No Export). This
+ involves patching each reference to `applicationId` in the
+ `AndroidManifest.xml` with the project's bundle ID. This means resolution
+ must be run again if the bundle ID has changed.
+
+- Move the processed AARs to `Plugins/Android` so they will be included when
+ Unity invokes the Android build.
+
+##### Integrate into mainTemplate.gradle
+
+Unity 5.6 introduced support for customizing the `build.gradle` used to build
+Unity projects with Gradle. When the *Patch mainTemplate.gradle* setting is
+enabled, rather than downloading artifacts before the build, Android resolution
+results in the execution of the following operations:
+
+- Remove the result of previous Android resolutions. E.g Delete all files and
+ directories labeled with "gpsr" under `Plugins/Android` from the project and
+ remove sections delimited with `// Android Resolver * Start` and `// Android
+ Resolver * End` lines.
+
+- Collect the set of Android dependencies (libraries) specified by a project's
+ `*Dependencies.xml` files.
+
+- Rename any `.srcaar` files in the build to `.aar` and exclude them from
+ being included directly by Unity in the Android build as
+ `mainTemplate.gradle` will be patched to include them instead from their
+ local maven repositories.
+
+- Inject the required Gradle repositories into `mainTemplate.gradle` at the
+ line matching the pattern `.*apply plugin:
+ 'com\.android\.(application|library)'.*` or the section starting at the line
+ `// Android Resolver Repos Start`. If you want to control the injection
+ point in the file, the section delimited by the lines `// Android Resolver
+ Repos Start` and `// Android Resolver Repos End` should be placed in the
+ global scope before the `dependencies` section.
+
+- Inject the required Android dependencies (libraries) into
+ `mainTemplate.gradle` at the line matching the pattern `***DEPS***` or the
+ section starting at the line `// Android Resolver Dependencies Start`. If
+ you want to control the injection point in the file, the section delimited
+ by the lines `// Android Resolver Dependencies Start` and `// Android
+ Resolver Dependencies End` should be placed in the `dependencies` section.
+
+- Inject the packaging options logic, which excludes architecture specific
+ libraries based upon the selected build target, into `mainTemplate.gradle`
+ at the line matching the pattern `android +{` or the section starting at the
+ line `// Android Resolver Exclusions Start`. If you want to control the
+ injection point in the file, the section delimited by the lines `// Android
+ Resolver Exclusions Start` and `// Android Resolver Exclusions End` should
+ be placed in the global scope before the `android` section.
+
+#### Dependency Tracking
+
+The Android Resolver creates the
+`ProjectSettings/AndroidResolverDependencies.xml` to quickly determine the set
+of resolved dependencies in a project. This is used by the auto-resolution
+process to only run the expensive resolution process when necessary.
+
+#### Displaying Dependencies
+
+It's possible to display the set of dependencies the Android Resolver would
+download and process in your project via the `Assets > External Dependency
+Manager > Android Resolver > Display Libraries` menu item.
+
+### iOS Resolver
+
+The iOS resolver component of this plugin supports both [Swift Packages](https://www.swift.org/packages/) and
+[CocoaPods](https://cocoapods.org/).
+
+#### Swift Package Manager Support
+Swift Packages are a newer way to add dependencies on iOS+ platforms. EDM4U uses Unity's built in ability to add Packages to the generated Xcode project, parsing from the library's Dependencies xml file.
+
+For example, to add the Firebase Analytics package:
+
+```xml
+
+
+
+
+
+```
+
+##### Replacing Cocoapods
+
+In the Dependencies xml files, libraries can reference both Swift Packages, and Cocoapods. This is useful to give developers the option to fallback to the previous Cocoapods behavior if they want to. To specify which Pods the Package is meant to be replacing in the xml file, so that when the resolution runs, it knows not to add both.
+
+For example, to add the AdMob package to replace the Pod example provided below:
+
+```xml
+
+
+
+
+
+```
+
+#### CocoaPods Support
+A CocoaPods `Podfile` is generated and the
+`pod` tool is executed as a post build process step to add dependencies to the
+Xcode project exported by Unity.
+
+Dependencies for iOS are added by referring to CocoaPods.
+
+For example, to add the AdMob pod, version 7.0 or greater with bitcode enabled:
+
+```xml
+
+
+
+
+
+```
+
+##### Integration Strategies
+
+The `CocoaPods` are either:
+
+* Downloaded and injected into the Xcode project file directly, rather than
+ creating a separate xcworkspace. We call this `Xcode project` integration.
+
+* If the Unity version supports opening a xcworkspace file, the `pod` tool is
+ used as intended to generate a xcworkspace which references the CocoaPods.
+ We call this `Xcode workspace` integration.
+
+The resolution strategy can be changed via the `Assets > External Dependency
+Manager > iOS Resolver > Settings` menu.
+
+##### Appending text to generated Podfile
+
+In order to modify the generated Podfile you can create a script like this:
+
+```csharp
+using System.IO;
+
+using UnityEditor;
+using UnityEditor.Callbacks;
+using UnityEngine;
+
+public class PostProcessIOS
+{
+ // Must be between 40 and 50 to ensure that it's not overriden by Podfile generation (40) and
+ // that it's added before "pod install" (50).
+ [PostProcessBuildAttribute(45)]
+ private static void PostProcessBuild_iOS(BuildTarget target, string buildPath)
+ {
+ if (target == BuildTarget.iOS)
+ {
+ using (StreamWriter sw = File.AppendText(buildPath + "/Podfile"))
+ {
+ // E.g. add an app extension
+ sw.WriteLine("\ntarget 'NSExtension' do\n pod 'Firebase/Messaging', '6.6.0'\nend");
+ }
+ }
+ }
+}
+```
+
+### Package Manager Resolver
+
+Adding registries to the
+[Package Manager](https://docs.unity3d.com/Manual/Packages.html) (PM) is a
+manual process. The Package Manager Resolver (PMR) component of this plugin
+makes it easy for plugin maintainers to distribute new PM registry servers and
+easy for plugin users to manage PM registry servers.
+
+#### Adding Registries
+
+For example, to add a registry for plugins in the scope `com.coolstuff`:
+
+```xml
+
+
+
+ com.coolstuff
+
+
+
+```
+
+When PMR is loaded it will prompt the developer to add the registry to their
+project if it isn't already present in the `Packages/manifest.json` file.
+
+For more information, see Unity's documentation on
+[scoped package registries](https://docs.unity3d.com/Manual/upm-scoped.html).
+
+#### Managing Registries
+
+It's possible to add and remove registries that are specified via PMR XML
+configuration files via the following menu options:
+
+* `Assets > External Dependency Manager > Package Manager Resolver > Add
+ Registries` will prompt the user with a window which allows them to add
+ registries discovered in the project to the Package Manager.
+
+* `Assets > External Dependency Manager > Package Manager Resolver > Remove
+ Registries` will prompt the user with a window which allows them to remove
+ registries discovered in the project from the Package Manager.
+
+* `Assets > External Dependency Manager > Package Manager Resolver > Modify
+ Registries` will prompt the user with a window which allows them to add or
+ remove registries discovered in the project.
+
+#### Migration
+
+PMR can migrate Version Handler packages installed in the `Assets` folder to PM
+packages. This requires the plugins to implement the following:
+
+* `.unitypackage` must include a Version Handler manifests that describes the
+ components of the plugin. If the plugin has no dependencies the manifest
+ would just include the files in the plugin.
+
+* The PM package JSON provided by the registry must include a keyword (in the
+ `versions.VERSION.keyword` list) that maps the PM package to a Version
+ Handler package using the format `vh-name:VERSION_HANDLER_MANIFEST_NAME`
+ where `VERSION_HANDLER_MANIFEST_NAME` is the name of the manifest defined in
+ the `.unitypackage`. For more information see the description of the
+ `gvhp_manifestname` asset label in the [Version Handler](#version-handler)
+ section.
+
+When using the `Assets > External Dependency Manager > Package Manager
+Resolver > Migrate Packages` menu option, PMR then will:
+
+* List all Version Handler manager packages in the project.
+
+* Search all available packages in the PM registries and fetch keywords
+ associated with each package parsing the Version Handler manifest names for
+ each package.
+
+* Map each installed Version Handler package to a PM package.
+
+* Prompt the user to migrate the discovered packages.
+
+* Perform package migration for all selected packages if the user clicks the
+ `Apply` button.
+
+#### Configuration
+
+PMR can be configured via the `Assets > External Dependency Manager > Package
+Manager Resolver > Settings` menu option:
+
+* `Add package registries` when enabled, when the plugin loads or registry
+ configuration files change, this will prompt the user to add registries that
+ are not present in the Package Manager.
+
+* `Prompt to add package registries` will cause a developer to be prompted
+ with a window that will ask for confirmation before adding registries. When
+ this is disabled registries are added silently to the project.
+
+* `Prompt to migrate packages` will cause a developer to be prompted with a
+ window that will ask for confirmation before migrating packages installed in
+ the `Assets` directory to PM packages.
+
+* `Enable Analytics Reporting` when enabled, reports the use of the plugin to
+ the developers so they can make imrpovements.
+
+* `Verbose logging` when enabled prints debug information to the console which
+ can be useful when filing bug reports.
+
+### Version Handler
+
+The Version Handler component of this plugin manages:
+
+* Shared Unity plugin dependencies.
+
+* Upgrading Unity plugins by cleaning up old files from previous versions.
+
+* Uninstallation of plugins that are distributed with manifest files.
+
+* Restoration of plugin assets to their original install locations if assets
+ are tagged with the `exportpath` label.
+
+Since the Version Handler needs to modify Unity asset metadata (`.meta` files),
+to enable/disable components, rename and delete asset files it does not work
+with Package Manager installed packages. It's still possible to include EDM4U in
+Package Manager packages, the Version Handler component simply won't do anything
+to PM plugins in this case.
+
+#### Using Version Handler Managed Plugins
+
+If a plugin is imported at multiple different versions into a project, if the
+Version Handler is enabled, it will automatically check all managed assets to
+determine the set of assets that are out of date and assets that should be
+removed. To disable automatic checking managed assets disable the `Enable
+version management` option in the `Assets > External Dependency Manager >
+Version Handler > Settings` menu.
+
+If version management is disabled, it's possible to check managed assets
+manually using the `Assets > External Dependency Manager > Version Handler >
+Update` menu option.
+
+##### Listing Managed Plugins
+
+Plugins managed by the Version Handler, those that ship with manifest files, can
+displayed using the `Assets > External Dependency Manager > Version Handler >
+Display Managed Packages` menu option. The list of plugins are written to the
+console window along with the set of files used by each plugin.
+
+##### Uninstalling Managed Plugins
+
+Plugins managed by the Version Handler, those that ship with manifest files, can
+be removed using the `Assets > External Dependency Manager > Version Handler >
+Uninstall Managed Packages` menu option. This operation will display a window
+that allows a developer to select a set of plugins to remove which will remove
+all files owned by each plugin excluding those that are in use by other
+installed plugins.
+
+Files managed by the Version Handler, those labeled with the `gvh` asset label,
+can be checked to see whether anything needs to be upgraded, disabled or removed
+using the `Assets > External Dependency Manager > Version Handler > Update` menu
+option.
+
+##### Restore Install Paths
+
+Some developers move assets around in their project which can make it harder for
+plugin maintainers to debug issues if this breaks Unity's
+[special folders](https://docs.unity3d.com/Manual/SpecialFolders.html) rules. If
+assets are labeled with their original install/export path (see
+`gvhp_exportpath` below), Version Handler can restore assets to their original
+locations when using the `Assets > External Dependency Manager > Version
+Handler > Move Files To Install Locations` menu option.
+
+##### Settings
+
+Some behavior of the Version Handler can be configured via the `Assets >
+External Dependency Manager > Version Handler > Settings` menu option.
+
+* `Enable version management` controls whether the plugin should automatically
+ check asset versions and apply changes. If this is disabled the process
+ should be run manually when installing or upgrading managed plugins using
+ `Assets > External Dependency Manager > Version Handler > Update`.
+
+* `Rename to canonical filenames` is a legacy option that will rename files to
+ remove version numbers and other labels from filenames.
+
+* `Prompt for obsolete file deletion` enables the display of a window when
+ obsolete files are deleted allowing the developer to select which files to
+ delete and those to keep.
+
+* `Allow disabling files via renaming` controls whether obsolete or disabled
+ files should be disabled by renaming them to `myfilename_DISABLED`. Renaming
+ to disable files is required in some scenarios where Unity doesn't support
+ removing files from the build via the PluginImporter.
+
+* `Enable Analytics Reporting` enables/disables usage reporting to plugin
+ developers to improve the product.
+
+* `Verbose logging` enables *very* noisy log output that is useful for
+ debugging while filing a bug report or building a new managed plugin.
+
+* `Use project settings` saves settings for the plugin in the project rather
+ than system-wide.
+
+#### Redistributing a Managed Plugin
+
+The Version Handler employs a couple of methods for managing version selection,
+upgrade and removal of plugins.
+
+* Each plugin can ship with a manifest file that lists the files it includes.
+ This makes it possible for Version Handler to calculate the difference in
+ assets between the most recent release of a plugin and the previous release
+ installed in a project. If a files are removed the Version Handler will
+ prompt the user to clean up obsolete files.
+
+* Plugins can ship using assets with unique names, unique GUIDs and version
+ number labels. Version numbers can be attached to assets using labels or
+ added to the filename (e.g `myfile.txt` would be `myfile_version-x.y.z.txt).
+ This allows the Version Handler to determine which set of files are the same
+ file at different versions, select the most recent version and prompt the
+ developer to clean up old versions.
+
+Unity plugins can be managed by the Version Handler using the following steps:
+
+1. Add the `gvh` asset label to each asset (file) you want Version Handler to
+ manage.
+
+1. Add the `gvh_version-VERSION` label to each asset where `VERSION` is the
+ version of the plugin you're releasing (e.g 1.2.3).
+
+1. Add the `gvhp_exportpath-PATH` label to each asset where `PATH` is the
+ export path of the file when the `.unitypackage` is created. This is used to
+ track files if they're moved around in a project by developers.
+
+1. Optional: Add `gvh_targets-editor` label to each editor DLL in your plugin
+ and disable `editor` as a target platform for the DLL. The Version Handler
+ will enable the most recent version of this DLL when the plugin is imported.
+
+1. Optional: If your plugin is included in other Unity plugins, you should add
+ the version number to each filename and change the GUID of each asset. This
+ allows multiple versions of your plugin to be imported into a Unity project,
+ with the Version Handler component activating only the most recent version.
+
+1. Create a manifest text file named `MY_UNIQUE_PLUGIN_NAME_VERSION.txt` that
+ lists all the files in your plugin relative to the project root. Then add
+ the `gvh_manifest` label to the asset to indicate this file is a plugin
+ manifest.
+
+1. Optional: Add a `gvhp_manifestname-NAME` label to your manifest file to
+ provide a human readable name for your package. If this isn't provided the
+ name of the manifest file will be used as the package name. NAME can match
+ the pattern `[0-9]+[a-zA-Z -]` where a leading integer will set the priority
+ of the name where `0` is the highest priority and preferably used as the
+ display name. The lowest value (i.e highest priority name) will be used as
+ the display name and all other specified names will be aliases of the
+ display name. Aliases can refer to previous names of the package allowing
+ renaming across published versions.
+
+1. Redistribute EDM4U Unity plugin with your plugin. See the
+ [Plugin Redistribution](#plugin-redistribution) section for details.
+
+If you follow these steps:
+
+* When users import a newer version of your plugin, files referenced by the
+ older version's manifest are cleaned up.
+
+* The latest version of the plugin will be selected when users import multiple
+ packages that include your plugin, assuming the steps in
+ [Plugin Redistribution](#plugin-redistribution) are followed.
+
+## Background
+
+Many Unity plugins have dependencies upon Android specific libraries, iOS
+CocoaPods, and sometimes have transitive dependencies upon other Unity plugins.
+This causes the following problems:
+
+* Integrating platform specific (e.g Android and iOS) libraries within a Unity
+ project can be complex and a burden on a Unity plugin maintainer.
+* The process of resolving conflicting dependencies on platform specific
+ libraries is pushed to the developer attempting to use a Unity plugin. The
+ developer trying to use your plugin is very likely to give up when faced
+ with Android or iOS specific build errors.
+* The process of resolving conflicting Unity plugins (due to shared Unity
+ plugin components) is pushed to the developer attempting to use your Unity
+ plugin. In an effort to resolve conflicts, the developer will very likely
+ attempt to resolve problems by deleting random files in your plugin, report
+ bugs when that doesn't work and finally give up.
+
+EDM4U provides solutions for each of these problems.
+
+### Android Dependency Management
+
+The *Android Resolver* component of this plugin will download and integrate
+Android library dependencies and handle any conflicts between plugins that share
+the same dependencies.
+
+Without the Android Resolver, typically Unity plugins bundle their AAR and JAR
+dependencies, e.g. a Unity plugin `SomePlugin` that requires the Google Play
+Games Android library would redistribute the library and its transitive
+dependencies in the folder `SomePlugin/Android/`. When a user imports
+`SomeOtherPlugin` that includes the same libraries (potentially at different
+versions) in `SomeOtherPlugin/Android/`, the developer using `SomePlugin` and
+`SomeOtherPlugin` will see an error when building for Android that can be hard
+to interpret.
+
+Using the Android Resolver to manage Android library dependencies:
+
+* Solves Android library conflicts between plugins.
+* Handles all of the various processing steps required to use Android
+ libraries (AARs, JARs) in Unity 4.x and above projects. Almost all versions
+ of Unity have - at best - partial support for AARs.
+* (Experimental) Supports minification of included Java components without
+ exporting a project.
+
+### iOS Dependency Management
+
+The *iOS Resolver* component of this plugin integrates with
+[CocoaPods](https://cocoapods.org/) to download and integrate iOS libraries and
+frameworks into the Xcode project Unity generates when building for iOS. Using
+CocoaPods allows multiple plugins to utilize shared components without forcing
+developers to fix either duplicate or incompatible versions of libraries
+included through multiple Unity plugins in their project.
+
+### Package Manager Registry Setup
+
+The [Package Manager](https://docs.unity3d.com/Manual/Packages.html) (PM) makes
+use of [NPM](https://www.npmjs.com/) registry servers for package hosting and
+provides ways to discover, install, upgrade and uninstall packages. This makes
+it easier for developers to manage plugins within their projects.
+
+However, installing additional package registries requires a few manual steps
+that can potentially be error prone. The *Package Manager Resolver* component of
+this plugin integrates with [PM](https://docs.unity3d.com/Manual/Packages.html)
+to provide a way to auto-install PM package registries when a `.unitypackage` is
+installed which allows plugin maintainers to ship a `.unitypackage` that can
+provide access to their own PM registry server to make it easier for developers
+to manage their plugins.
+
+### Unity Plugin Version Management
+
+Finally, the *Version Handler* component of this plugin simplifies the process
+of managing transitive dependencies of Unity plugins and each plugin's upgrade
+process.
+
+For example, without the Version Handler plugin, if:
+
+* Unity plugin `SomePlugin` includes `EDM4U` plugin at version 1.1.
+* Unity plugin `SomeOtherPlugin` includes `EDM4U` plugin at version 1.2.
+
+The version of `EDM4U` included in the developer's project depends upon the
+order the developer imports `SomePlugin` or `SomeOtherPlugin`.
+
+This results in:
+
+* `EDM4U` at version 1.2, if `SomePlugin` is imported then `SomeOtherPlugin`
+ is imported.
+* `EDM4U` at version 1.1, if `SomeOtherPlugin` is imported then `SomePlugin`
+ is imported.
+
+The Version Handler solves the problem of managing transitive dependencies by:
+
+* Specifying a set of packaging requirements that enable a plugin at different
+ versions to be imported into a Unity project.
+* Providing activation logic that selects the latest version of a plugin
+ within a project.
+
+When using the Version Handler to manage `EDM4U` included in `SomePlugin` and
+`SomeOtherPlugin`, from the prior example, version 1.2 will always be the
+version activated in a developer's Unity project.
+
+Plugin creators are encouraged to adopt this library to ease integration for
+their customers. For more information about integrating EDM4U into your own
+plugin, see the [Plugin Redistribution](#plugin-redistribution) section of this
+document.
+
+## Analytics
+
+The External Dependency Manager for Unity plugin by default logs usage to Google
+Analytics. The purpose of the logging is to quantitatively measure the usage of
+functionality, to gather reports on integration failures and to inform future
+improvements to the developer experience of the External Dependency Manager
+plugin. Note that the analytics collected are limited to the scope of the EDM4U
+plugin’s usage.
+
+For details of what is logged, please refer to the usage of
+`EditorMeasurement.Report()` in the source code.
+
+## Plugin Redistribution
+
+If you are a package maintainer and your package depends on EDM4U, it is highly
+recommended to use the UPM format and add EDM4U as a dependency. If you must
+include it in your `.unitypackage`, redistributing `EDM4U` inside your own
+plugin might ease the integration process for your users.
+
+If you wish to redistribute `EDM4U` inside your plugin, you **must** follow
+these steps when importing the `external-dependency-manager-*.unitypackage`, and
+when exporting your own plugin package:
+
+1. Import the `external-dependency-manager-*.unitypackage` into your plugin
+ project by
+ [running Unity from the command line](https://docs.unity3d.com/Manual/CommandLineArguments.html),
+ ensuring that you add the `-gvh_disable` option.
+1. Export your plugin by
+ [running Unity from the command line](https://docs.unity3d.com/Manual/CommandLineArguments.html),
+ ensuring that you:
+ - Include the contents of the `Assets/PlayServicesResolver` and
+ `Assets/ExternalDependencyManager` directory.
+ - Add the `-gvh_disable` option.
+
+You **must** specify the `-gvh_disable` option in order for the Version Handler
+to work correctly!
+
+For example, the following command will import the
+`external-dependency-manager-1.2.46.0.unitypackage` into the project
+`MyPluginProject` and export the entire Assets folder to
+`MyPlugin.unitypackage`:
+
+```shell
+Unity -gvh_disable \
+ -batchmode \
+ -importPackage external-dependency-manager-1.2.46.0.unitypackage \
+ -projectPath MyPluginProject \
+ -exportPackage Assets MyPlugin.unitypackage \
+ -quit
+```
+
+### Background
+
+The *Version Handler* component relies upon deferring the load of editor DLLs so
+that it can run first and determine the latest version of a plugin component to
+activate. The build of `EDM4U` plugin has Unity asset metadata that is
+configured so that the editor components are not initially enabled when it's
+imported into a Unity project. To maintain this configuration when importing the
+`external-dependency-manager.unitypackage` into a Unity plugin project, you
+*must* specify the command line option `-gvh_disable` which will prevent the
+Version Handler component from running and changing the Unity asset metadata.
+
+## Building from Source
+
+To build this plugin from source you need the following tools installed: * Unity
+2021 and below (with iOS and Android modules installed) * Java 11
+
+You can build the plugin by running the following from your shell (Linux / OSX):
+
+```shell
+./gradlew build
+
+```
+
+or Windows:
+
+```shell
+./gradlew.bat build
+```
+
+If Java 11 is not your default Java command, add
+`-Dorg.gradle.java.home=` to the command above.
+
+## Testing
+
+You can run the tests by running the following from your shell (Linux / OSX):
+
+```shell
+./gradlew test
+```
+
+or Windows:
+
+```shell
+./gradlew.bat test
+```
+
+The following properties can be set to narrow down the tests to run or change
+the test run behavior.
+
+* `INTERACTIVE_MODE_TESTS_ENABLED` - Default to `1`. Set to `1` to enable
+ interactive mode tests, which requires GPU on the machine. Otherwise, only
+ run tests in the batch mode.
+* `INCLUDE_TEST_TYPES` - Default to empty string, which means to include every
+ type of the test. To narrow down the types of test to run, set this
+ properties with a list of case-insensitive type strings separated by comma.
+ For instance, `-PINCLUDE_TEST_TYPES="Python,NUnit"` means to include only
+ Python tests and NUnit tests. See `TestTypeEnum` in `build.gradle` for
+ available options.
+* `EXCLUDE_TEST_TYPES` - Default to empty string, which means to exclude none.
+ To add types of tests to exclude, set this properties with a list of
+ case-insensitive type strings separated by comma. For instance,
+ `-PEXCLUDE_TEST_TYPES="Python,NUnit"` means to exclude Python tests and
+ NUnit tests. See `TestTypeEnum` in `build.gradle` for available options.
+* `INCLUDE_TEST_MODULES` - Default to empty string, which means to include the
+ tests for every modules. To narrow down modules to test, set this properties
+ with a list of case-insensitive module strings separated by comma. For
+ instance, `-PINCLUDE_TEST_MODULES="Tool,AndroidResolver"` means to run tests
+ for tools and Android Resolver only. See `TestModuleEnum` in `build.gradle`
+ for available options.
+* `EXCLUDE_TEST_MODULES` - Default to empty string, which means to exclude
+ none. To add modules to exclude, set this properties with a list of
+ case-insensitive module strings separated by comma. For instance,
+ `-PEXCLUDE_TEST_MODULES="Tool,AndroidResolver"` means to run tests for any
+ modules other than tools and Android Resolver. See `TestModuleEnum` in
+ `build.gradle` for available options.
+* `EXCLUDE_TESTS` - Default to empty string, which means to exclude none. To
+ add tests to exclude, set this properties with a list of case-insensitive
+ test names separated by comma. For instance,
+ `-PEXCLUDE_TESTS="testGenGuids,testDownloadArtifacts"` means to run tests
+ except the tests with name of `testGenGuids` and `testDownloadArtifacts`.
+* `CONTINUE_ON_FAIL_FOR_TESTS_ENABLED` - Default to `1`. Set to `1` to
+ continue running the next test when the current one fails. Otherwise, the
+ build script stops whenever any test fails.
+
+For instance, by running the following command, it only runs the Unity
+integration tests that does not requires GPU, but exclude tests for Android
+Resolver module and iOS Resolver module.
+
+```shell
+./gradlew test \
+ -PINTERACTIVE_MODE_TESTS_ENABLED=0 \
+ -PINCLUDE_TEST_TYPES="Integration" \
+ -PEXCLUDE_TEST_MODULES="AndroidResolver,iOSResolver"
+```
+
+## Releasing
+
+Each time a new build of this plugin is checked into the source tree you need to
+do the following:
+
+* Bump the plugin version variable `pluginVersion` in `build.gradle`
+* Update `CHANGELOG.md` with the new version number and changes included in
+ the release.
+* Build the release using `./gradlew release` which performs the following:
+ * Updates `external-dependency-manager-*.unitypackage`
+ * Copies the unpacked plugin to the `exploded` directory.
+ * Updates template metadata files in the `plugin` directory. The GUIDs of
+ all asset metadata is modified due to the version number change. Each
+ file within the plugin is versioned to allow multiple versions of the
+ plugin to be imported into a Unity project which allows the most recent
+ version to be activated by the Version Handler component.
+* Create release commit using `./gradlew gitCreateReleaseCommit` which
+ performs `git commit -a -m "description from CHANGELOG.md"`
+* Once the release commit is merge, tag the release using `./gradlew
+ gitTagRelease` which performs the following:
+ * `git tag -a pluginVersion -m "version RELEASE"` to tag the release.
+* Update tags on remote branch using `git push --tag REMOTE HEAD:master`
diff --git a/Assets/ExternalDependencyManager/Editor/README.md.meta b/Assets/ExternalDependencyManager/Editor/README.md.meta
new file mode 100644
index 0000000..0feb2d6
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/README.md.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: db858ca0dc4e44d79fe00e9d1a428eba
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-ExternalDependencyManager/Editor/README.md
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.185_manifest.txt b/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.185_manifest.txt
new file mode 100644
index 0000000..de0a48c
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.185_manifest.txt
@@ -0,0 +1,13 @@
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.pdb
+Assets/ExternalDependencyManager/Editor/CHANGELOG.md
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.pdb
+Assets/ExternalDependencyManager/Editor/LICENSE
+Assets/ExternalDependencyManager/Editor/README.md
diff --git a/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.185_manifest.txt.meta b/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.185_manifest.txt.meta
new file mode 100644
index 0000000..d924d6c
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.185_manifest.txt.meta
@@ -0,0 +1,14 @@
+fileFormatVersion: 2
+guid: de14403f051e49a4a8b255f2137eed89
+labels:
+- gvh
+- gvh_manifest
+- gvh_version-1.2.185
+- gvhp_exportpath-ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.185_manifest.txt
+- gvhp_manifestname-0External Dependency Manager
+- gvhp_manifestname-play-services-resolver
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.187_manifest.txt b/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.187_manifest.txt
new file mode 100644
index 0000000..ef42ce8
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.187_manifest.txt
@@ -0,0 +1,13 @@
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.pdb
+Assets/ExternalDependencyManager/Editor/CHANGELOG.md
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.pdb
+Assets/ExternalDependencyManager/Editor/LICENSE
+Assets/ExternalDependencyManager/Editor/README.md
diff --git a/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.187_manifest.txt.meta b/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.187_manifest.txt.meta
new file mode 100644
index 0000000..9ddf94d
--- /dev/null
+++ b/Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.187_manifest.txt.meta
@@ -0,0 +1,14 @@
+fileFormatVersion: 2
+guid: 5fb8a7aa9dba440483d41094ce520bd5
+labels:
+- gvh
+- gvh_manifest
+- gvh_version-1.2.187
+- gvhp_exportpath-ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.187_manifest.txt
+- gvhp_manifestname-0External Dependency Manager
+- gvhp_manifestname-play-services-resolver
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase.meta b/Assets/Firebase.meta
new file mode 100644
index 0000000..74367cc
--- /dev/null
+++ b/Assets/Firebase.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5935254a2ecf32c45b75cca4b05b0ff5
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor.meta b/Assets/Firebase/Editor.meta
new file mode 100644
index 0000000..44e1f1a
--- /dev/null
+++ b/Assets/Firebase/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 12f76656f0194194cab80aa6ef4d9c4d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor/AppDependencies.xml b/Assets/Firebase/Editor/AppDependencies.xml
new file mode 100644
index 0000000..b9ec092
--- /dev/null
+++ b/Assets/Firebase/Editor/AppDependencies.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assets/Firebase/m2repository
+
+
+
+
diff --git a/Assets/Firebase/Editor/AppDependencies.xml.meta b/Assets/Firebase/Editor/AppDependencies.xml.meta
new file mode 100644
index 0000000..18c110c
--- /dev/null
+++ b/Assets/Firebase/Editor/AppDependencies.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9b63af95d9364af4a3d8ce58738b6223
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/AppDependencies.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor/AuthDependencies.xml b/Assets/Firebase/Editor/AuthDependencies.xml
new file mode 100644
index 0000000..4629af9
--- /dev/null
+++ b/Assets/Firebase/Editor/AuthDependencies.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assets/Firebase/m2repository
+
+
+
+
diff --git a/Assets/Firebase/Editor/AuthDependencies.xml.meta b/Assets/Firebase/Editor/AuthDependencies.xml.meta
new file mode 100644
index 0000000..b81c40b
--- /dev/null
+++ b/Assets/Firebase/Editor/AuthDependencies.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2bec2bf8d84d4997ba2dd66263781f3d
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/AuthDependencies.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor/DatabaseDependencies.xml b/Assets/Firebase/Editor/DatabaseDependencies.xml
new file mode 100644
index 0000000..7cffcbf
--- /dev/null
+++ b/Assets/Firebase/Editor/DatabaseDependencies.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assets/Firebase/m2repository
+
+
+
+
diff --git a/Assets/Firebase/Editor/DatabaseDependencies.xml.meta b/Assets/Firebase/Editor/DatabaseDependencies.xml.meta
new file mode 100644
index 0000000..00cad68
--- /dev/null
+++ b/Assets/Firebase/Editor/DatabaseDependencies.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6f0764197a37428ba5aa9658907d1b56
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Editor/DatabaseDependencies.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor/Firebase.Editor.dll b/Assets/Firebase/Editor/Firebase.Editor.dll
new file mode 100644
index 0000000..0adffd2
--- /dev/null
+++ b/Assets/Firebase/Editor/Firebase.Editor.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:33678cc708646a51897c36687b0868c71a345e36e30fec8d2ec85b5b2c5e4741
+size 91648
diff --git a/Assets/Firebase/Editor/Firebase.Editor.dll.meta b/Assets/Firebase/Editor/Firebase.Editor.dll.meta
new file mode 100644
index 0000000..ad7193b
--- /dev/null
+++ b/Assets/Firebase/Editor/Firebase.Editor.dll.meta
@@ -0,0 +1,118 @@
+fileFormatVersion: 2
+guid: 9f2edbf81053418f879076c05f816dc2
+labels:
+- gvh
+- gvh_targets-editor
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/Firebase.Editor.dll
+PluginImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ iconMap: {}
+ executionOrder: {}
+ defineConstraints: []
+ isPreloaded: 0
+ isOverridable: 0
+ isExplicitlyReferenced: 0
+ validateReferences: 0
+ platformData:
+ - first:
+ : Linux
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - first:
+ : LinuxUniversal
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - first:
+ : OSXIntel
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - first:
+ : OSXIntel64
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - first:
+ : Web
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ : WebStreamed
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Android: Android
+ second:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ - first:
+ Any:
+ second:
+ enabled: 0
+ settings: {}
+ - first:
+ Editor: Editor
+ second:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ - first:
+ Standalone: Linux64
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - first:
+ Standalone: OSXUniversal
+ second:
+ enabled: 0
+ settings:
+ CPU: None
+ - 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: 0
+ settings:
+ CPU: AnyCPU
+ - first:
+ iPhone: iOS
+ second:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ - first:
+ tvOS: tvOS
+ second:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor/FirebaseAuth_version-12.8.0_manifest.txt b/Assets/Firebase/Editor/FirebaseAuth_version-12.8.0_manifest.txt
new file mode 100644
index 0000000..a02e662
--- /dev/null
+++ b/Assets/Firebase/Editor/FirebaseAuth_version-12.8.0_manifest.txt
@@ -0,0 +1,73 @@
+Assets/Editor Default Resources/Firebase/fb_analytics.png
+Assets/Editor Default Resources/Firebase/fb_analytics_dark.png
+Assets/Editor Default Resources/Firebase/fb_auth.png
+Assets/Editor Default Resources/Firebase/fb_auth_dark.png
+Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png
+Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png
+Assets/Editor Default Resources/Firebase/fb_config.png
+Assets/Editor Default Resources/Firebase/fb_config_dark.png
+Assets/Editor Default Resources/Firebase/fb_crashlytics.png
+Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png
+Assets/Editor Default Resources/Firebase/fb_database.png
+Assets/Editor Default Resources/Firebase/fb_database_dark.png
+Assets/Editor Default Resources/Firebase/fb_dynamic_links.png
+Assets/Editor Default Resources/Firebase/fb_dynamic_links_dark.png
+Assets/Editor Default Resources/Firebase/fb_functions.png
+Assets/Editor Default Resources/Firebase/fb_functions_dark.png
+Assets/Editor Default Resources/Firebase/fb_invites.png
+Assets/Editor Default Resources/Firebase/fb_invites_dark.png
+Assets/Editor Default Resources/Firebase/fb_storage.png
+Assets/Editor Default Resources/Firebase/fb_storage_dark.png
+Assets/Editor Default Resources/Firebase/firebase_lockup.png
+Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.pdb
+Assets/ExternalDependencyManager/Editor/CHANGELOG.md
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.pdb
+Assets/ExternalDependencyManager/Editor/LICENSE
+Assets/ExternalDependencyManager/Editor/README.md
+Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.185_manifest.txt
+Assets/Firebase/Editor/AppDependencies.xml
+Assets/Firebase/Editor/AuthDependencies.xml
+Assets/Firebase/Editor/Firebase.Editor.dll
+Assets/Firebase/Editor/Firebase.Editor.pdb
+Assets/Firebase/Editor/generate_xml_from_google_services_json.exe
+Assets/Firebase/Editor/generate_xml_from_google_services_json.py
+Assets/Firebase/Editor/network_request.exe
+Assets/Firebase/Editor/network_request.py
+Assets/Firebase/Plugins/Firebase.App.dll
+Assets/Firebase/Plugins/Firebase.App.pdb
+Assets/Firebase/Plugins/Firebase.Auth.dll
+Assets/Firebase/Plugins/Firebase.Auth.pdb
+Assets/Firebase/Plugins/Firebase.Platform.dll
+Assets/Firebase/Plugins/Firebase.Platform.pdb
+Assets/Firebase/Plugins/Firebase.TaskExtension.dll
+Assets/Firebase/Plugins/Firebase.TaskExtension.pdb
+Assets/Firebase/Plugins/Google.MiniJson.dll
+Assets/Firebase/Plugins/iOS/Firebase.App.dll
+Assets/Firebase/Plugins/iOS/Firebase.App.pdb
+Assets/Firebase/Plugins/iOS/Firebase.Auth.dll
+Assets/Firebase/Plugins/iOS/Firebase.Auth.pdb
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.so
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.so
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml
+Assets/Plugins/iOS/Firebase/libFirebaseCppApp.a
+Assets/Plugins/iOS/Firebase/libFirebaseCppAuth.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppApp.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppAuth.a
diff --git a/Assets/Firebase/Editor/FirebaseAuth_version-12.8.0_manifest.txt.meta b/Assets/Firebase/Editor/FirebaseAuth_version-12.8.0_manifest.txt.meta
new file mode 100644
index 0000000..8bf74f0
--- /dev/null
+++ b/Assets/Firebase/Editor/FirebaseAuth_version-12.8.0_manifest.txt.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: d9ddf1d55a4449e5b420ff57624c9eac
+labels:
+- gvh
+- gvh_manifest
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Editor/FirebaseAuth_version-12.8.0_manifest.txt
+- gvhp_manifestname-0Firebase Authentication
+- gvhp_manifestname-1FirebaseAuth
+timeCreated: 0
diff --git a/Assets/Firebase/Editor/FirebaseAuth_version-13.10.0_manifest.txt b/Assets/Firebase/Editor/FirebaseAuth_version-13.10.0_manifest.txt
new file mode 100644
index 0000000..4843f5c
--- /dev/null
+++ b/Assets/Firebase/Editor/FirebaseAuth_version-13.10.0_manifest.txt
@@ -0,0 +1,72 @@
+Assets/Editor Default Resources/Firebase/fb_analytics.png
+Assets/Editor Default Resources/Firebase/fb_analytics_dark.png
+Assets/Editor Default Resources/Firebase/fb_auth.png
+Assets/Editor Default Resources/Firebase/fb_auth_dark.png
+Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png
+Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png
+Assets/Editor Default Resources/Firebase/fb_config.png
+Assets/Editor Default Resources/Firebase/fb_config_dark.png
+Assets/Editor Default Resources/Firebase/fb_crashlytics.png
+Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png
+Assets/Editor Default Resources/Firebase/fb_database.png
+Assets/Editor Default Resources/Firebase/fb_database_dark.png
+Assets/Editor Default Resources/Firebase/fb_functions.png
+Assets/Editor Default Resources/Firebase/fb_functions_dark.png
+Assets/Editor Default Resources/Firebase/fb_storage.png
+Assets/Editor Default Resources/Firebase/fb_storage_dark.png
+Assets/Editor Default Resources/Firebase/firebase_lockup.png
+Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.pdb
+Assets/ExternalDependencyManager/Editor/CHANGELOG.md
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.pdb
+Assets/ExternalDependencyManager/Editor/LICENSE
+Assets/ExternalDependencyManager/Editor/README.md
+Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.187_manifest.txt
+Assets/Firebase/Editor/AppDependencies.xml
+Assets/Firebase/Editor/AuthDependencies.xml
+Assets/Firebase/Editor/Firebase.Editor.dll
+Assets/Firebase/Editor/Firebase.Editor.pdb
+Assets/Firebase/Editor/generate_xml_from_google_services_json.exe
+Assets/Firebase/Editor/generate_xml_from_google_services_json.py
+Assets/Firebase/Editor/network_request.exe
+Assets/Firebase/Editor/network_request.py
+Assets/Firebase/FirebaseApp/Internal/FirebaseInterops.cs
+Assets/Firebase/FirebaseApp/Internal/HttpHelpers.cs
+Assets/Firebase/FirebaseApp/Internal/link.xml
+Assets/Firebase/Plugins/Firebase.App.dll
+Assets/Firebase/Plugins/Firebase.App.pdb
+Assets/Firebase/Plugins/Firebase.Auth.dll
+Assets/Firebase/Plugins/Firebase.Auth.pdb
+Assets/Firebase/Plugins/Firebase.Platform.dll
+Assets/Firebase/Plugins/Firebase.Platform.pdb
+Assets/Firebase/Plugins/Firebase.TaskExtension.dll
+Assets/Firebase/Plugins/Firebase.TaskExtension.pdb
+Assets/Firebase/Plugins/Google.MiniJson.dll
+Assets/Firebase/Plugins/iOS/Firebase.App.dll
+Assets/Firebase/Plugins/iOS/Firebase.App.pdb
+Assets/Firebase/Plugins/iOS/Firebase.Auth.dll
+Assets/Firebase/Plugins/iOS/Firebase.Auth.pdb
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.so
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.so
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml
+Assets/Plugins/iOS/Firebase/libFirebaseCppApp.a
+Assets/Plugins/iOS/Firebase/libFirebaseCppAuth.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppApp.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppAuth.a
diff --git a/Assets/Firebase/Editor/FirebaseAuth_version-13.10.0_manifest.txt.meta b/Assets/Firebase/Editor/FirebaseAuth_version-13.10.0_manifest.txt.meta
new file mode 100644
index 0000000..b4aaf7f
--- /dev/null
+++ b/Assets/Firebase/Editor/FirebaseAuth_version-13.10.0_manifest.txt.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: fd06d3d8c6034a32858b9c53ccd4f5af
+labels:
+- gvh
+- gvh_manifest
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/FirebaseAuth_version-13.10.0_manifest.txt
+- gvhp_manifestname-0Firebase Authentication
+- gvhp_manifestname-1FirebaseAuth
+timeCreated: 0
diff --git a/Assets/Firebase/Editor/FirebaseDatabase_version-12.8.0_manifest.txt b/Assets/Firebase/Editor/FirebaseDatabase_version-12.8.0_manifest.txt
new file mode 100644
index 0000000..5ce5edc
--- /dev/null
+++ b/Assets/Firebase/Editor/FirebaseDatabase_version-12.8.0_manifest.txt
@@ -0,0 +1,86 @@
+Assets/Editor Default Resources/Firebase/fb_analytics.png
+Assets/Editor Default Resources/Firebase/fb_analytics_dark.png
+Assets/Editor Default Resources/Firebase/fb_auth.png
+Assets/Editor Default Resources/Firebase/fb_auth_dark.png
+Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png
+Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png
+Assets/Editor Default Resources/Firebase/fb_config.png
+Assets/Editor Default Resources/Firebase/fb_config_dark.png
+Assets/Editor Default Resources/Firebase/fb_crashlytics.png
+Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png
+Assets/Editor Default Resources/Firebase/fb_database.png
+Assets/Editor Default Resources/Firebase/fb_database_dark.png
+Assets/Editor Default Resources/Firebase/fb_dynamic_links.png
+Assets/Editor Default Resources/Firebase/fb_dynamic_links_dark.png
+Assets/Editor Default Resources/Firebase/fb_functions.png
+Assets/Editor Default Resources/Firebase/fb_functions_dark.png
+Assets/Editor Default Resources/Firebase/fb_invites.png
+Assets/Editor Default Resources/Firebase/fb_invites_dark.png
+Assets/Editor Default Resources/Firebase/fb_storage.png
+Assets/Editor Default Resources/Firebase/fb_storage_dark.png
+Assets/Editor Default Resources/Firebase/firebase_lockup.png
+Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.IOSResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.JarResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.PackageManagerResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.dll
+Assets/ExternalDependencyManager/Editor/1.2.185/Google.VersionHandlerImpl.pdb
+Assets/ExternalDependencyManager/Editor/CHANGELOG.md
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.pdb
+Assets/ExternalDependencyManager/Editor/LICENSE
+Assets/ExternalDependencyManager/Editor/README.md
+Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.185_manifest.txt
+Assets/Firebase/Editor/AppDependencies.xml
+Assets/Firebase/Editor/AuthDependencies.xml
+Assets/Firebase/Editor/DatabaseDependencies.xml
+Assets/Firebase/Editor/Firebase.Editor.dll
+Assets/Firebase/Editor/Firebase.Editor.pdb
+Assets/Firebase/Editor/generate_xml_from_google_services_json.exe
+Assets/Firebase/Editor/generate_xml_from_google_services_json.py
+Assets/Firebase/Editor/network_request.exe
+Assets/Firebase/Editor/network_request.py
+Assets/Firebase/Plugins/Firebase.App.dll
+Assets/Firebase/Plugins/Firebase.App.pdb
+Assets/Firebase/Plugins/Firebase.Auth.dll
+Assets/Firebase/Plugins/Firebase.Auth.pdb
+Assets/Firebase/Plugins/Firebase.Database.dll
+Assets/Firebase/Plugins/Firebase.Database.pdb
+Assets/Firebase/Plugins/Firebase.Platform.dll
+Assets/Firebase/Plugins/Firebase.Platform.pdb
+Assets/Firebase/Plugins/Firebase.TaskExtension.dll
+Assets/Firebase/Plugins/Firebase.TaskExtension.pdb
+Assets/Firebase/Plugins/Google.MiniJson.dll
+Assets/Firebase/Plugins/iOS/Firebase.App.dll
+Assets/Firebase/Plugins/iOS/Firebase.App.pdb
+Assets/Firebase/Plugins/iOS/Firebase.Auth.dll
+Assets/Firebase/Plugins/iOS/Firebase.Auth.pdb
+Assets/Firebase/Plugins/iOS/Firebase.Database.dll
+Assets/Firebase/Plugins/iOS/Firebase.Database.pdb
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.so
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.so
+Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.so
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml
+Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/maven-metadata.xml
+Assets/Plugins/iOS/Firebase/libFirebaseCppApp.a
+Assets/Plugins/iOS/Firebase/libFirebaseCppAuth.a
+Assets/Plugins/iOS/Firebase/libFirebaseCppDatabase.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppApp.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppAuth.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppDatabase.a
diff --git a/Assets/Firebase/Editor/FirebaseDatabase_version-12.8.0_manifest.txt.meta b/Assets/Firebase/Editor/FirebaseDatabase_version-12.8.0_manifest.txt.meta
new file mode 100644
index 0000000..5630b95
--- /dev/null
+++ b/Assets/Firebase/Editor/FirebaseDatabase_version-12.8.0_manifest.txt.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: c598a4d0a32a45b8a00c685e4a4f418e
+labels:
+- gvh
+- gvh_manifest
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Editor/FirebaseDatabase_version-12.8.0_manifest.txt
+- gvhp_manifestname-0Firebase Realtime Database
+- gvhp_manifestname-1FirebaseDatabase
+timeCreated: 0
diff --git a/Assets/Firebase/Editor/FirebaseFirestore_version-13.10.0_manifest.txt b/Assets/Firebase/Editor/FirebaseFirestore_version-13.10.0_manifest.txt
new file mode 100644
index 0000000..5146397
--- /dev/null
+++ b/Assets/Firebase/Editor/FirebaseFirestore_version-13.10.0_manifest.txt
@@ -0,0 +1,72 @@
+Assets/Editor Default Resources/Firebase/fb_analytics.png
+Assets/Editor Default Resources/Firebase/fb_analytics_dark.png
+Assets/Editor Default Resources/Firebase/fb_auth.png
+Assets/Editor Default Resources/Firebase/fb_auth_dark.png
+Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png
+Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png
+Assets/Editor Default Resources/Firebase/fb_config.png
+Assets/Editor Default Resources/Firebase/fb_config_dark.png
+Assets/Editor Default Resources/Firebase/fb_crashlytics.png
+Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png
+Assets/Editor Default Resources/Firebase/fb_database.png
+Assets/Editor Default Resources/Firebase/fb_database_dark.png
+Assets/Editor Default Resources/Firebase/fb_functions.png
+Assets/Editor Default Resources/Firebase/fb_functions_dark.png
+Assets/Editor Default Resources/Firebase/fb_storage.png
+Assets/Editor Default Resources/Firebase/fb_storage_dark.png
+Assets/Editor Default Resources/Firebase/firebase_lockup.png
+Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.pdb
+Assets/ExternalDependencyManager/Editor/CHANGELOG.md
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.pdb
+Assets/ExternalDependencyManager/Editor/LICENSE
+Assets/ExternalDependencyManager/Editor/README.md
+Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.187_manifest.txt
+Assets/Firebase/Editor/AppDependencies.xml
+Assets/Firebase/Editor/Firebase.Editor.dll
+Assets/Firebase/Editor/Firebase.Editor.pdb
+Assets/Firebase/Editor/FirestoreDependencies.xml
+Assets/Firebase/Editor/generate_xml_from_google_services_json.exe
+Assets/Firebase/Editor/generate_xml_from_google_services_json.py
+Assets/Firebase/Editor/network_request.exe
+Assets/Firebase/Editor/network_request.py
+Assets/Firebase/FirebaseApp/Internal/FirebaseInterops.cs
+Assets/Firebase/FirebaseApp/Internal/HttpHelpers.cs
+Assets/Firebase/FirebaseApp/Internal/link.xml
+Assets/Firebase/Plugins/Firebase.App.dll
+Assets/Firebase/Plugins/Firebase.App.pdb
+Assets/Firebase/Plugins/Firebase.Firestore.dll
+Assets/Firebase/Plugins/Firebase.Firestore.pdb
+Assets/Firebase/Plugins/Firebase.Platform.dll
+Assets/Firebase/Plugins/Firebase.Platform.pdb
+Assets/Firebase/Plugins/Firebase.TaskExtension.dll
+Assets/Firebase/Plugins/Firebase.TaskExtension.pdb
+Assets/Firebase/Plugins/Google.MiniJson.dll
+Assets/Firebase/Plugins/iOS/Firebase.App.dll
+Assets/Firebase/Plugins/iOS/Firebase.App.pdb
+Assets/Firebase/Plugins/iOS/Firebase.Firestore.dll
+Assets/Firebase/Plugins/iOS/Firebase.Firestore.pdb
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.so
+Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.so
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml
+Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/maven-metadata.xml
+Assets/Plugins/iOS/Firebase/libFirebaseCppApp.a
+Assets/Plugins/iOS/Firebase/libFirebaseCppFirestore.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppApp.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppFirestore.a
diff --git a/Assets/Firebase/Editor/FirebaseFirestore_version-13.10.0_manifest.txt.meta b/Assets/Firebase/Editor/FirebaseFirestore_version-13.10.0_manifest.txt.meta
new file mode 100644
index 0000000..fdf3802
--- /dev/null
+++ b/Assets/Firebase/Editor/FirebaseFirestore_version-13.10.0_manifest.txt.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 4cf3893949f7461686a5df3342fe6a85
+labels:
+- gvh
+- gvh_manifest
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/FirebaseFirestore_version-13.10.0_manifest.txt
+- gvhp_manifestname-0Cloud Firestore
+- gvhp_manifestname-1FirebaseFirestore
+timeCreated: 0
diff --git a/Assets/Firebase/Editor/FirebaseStorage_version-13.10.0_manifest.txt b/Assets/Firebase/Editor/FirebaseStorage_version-13.10.0_manifest.txt
new file mode 100644
index 0000000..d719b4d
--- /dev/null
+++ b/Assets/Firebase/Editor/FirebaseStorage_version-13.10.0_manifest.txt
@@ -0,0 +1,85 @@
+Assets/Editor Default Resources/Firebase/fb_analytics.png
+Assets/Editor Default Resources/Firebase/fb_analytics_dark.png
+Assets/Editor Default Resources/Firebase/fb_auth.png
+Assets/Editor Default Resources/Firebase/fb_auth_dark.png
+Assets/Editor Default Resources/Firebase/fb_cloud_messaging.png
+Assets/Editor Default Resources/Firebase/fb_cloud_messaging_dark.png
+Assets/Editor Default Resources/Firebase/fb_config.png
+Assets/Editor Default Resources/Firebase/fb_config_dark.png
+Assets/Editor Default Resources/Firebase/fb_crashlytics.png
+Assets/Editor Default Resources/Firebase/fb_crashlytics_dark.png
+Assets/Editor Default Resources/Firebase/fb_database.png
+Assets/Editor Default Resources/Firebase/fb_database_dark.png
+Assets/Editor Default Resources/Firebase/fb_functions.png
+Assets/Editor Default Resources/Firebase/fb_functions_dark.png
+Assets/Editor Default Resources/Firebase/fb_storage.png
+Assets/Editor Default Resources/Firebase/fb_storage_dark.png
+Assets/Editor Default Resources/Firebase/firebase_lockup.png
+Assets/Editor Default Resources/Firebase/firebase_lockup_dark.png
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.IOSResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.JarResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.PackageManagerResolver.pdb
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.dll
+Assets/ExternalDependencyManager/Editor/1.2.187/Google.VersionHandlerImpl.pdb
+Assets/ExternalDependencyManager/Editor/CHANGELOG.md
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.dll
+Assets/ExternalDependencyManager/Editor/Google.VersionHandler.pdb
+Assets/ExternalDependencyManager/Editor/LICENSE
+Assets/ExternalDependencyManager/Editor/README.md
+Assets/ExternalDependencyManager/Editor/external-dependency-manager_version-1.2.187_manifest.txt
+Assets/Firebase/Editor/AppDependencies.xml
+Assets/Firebase/Editor/AuthDependencies.xml
+Assets/Firebase/Editor/Firebase.Editor.dll
+Assets/Firebase/Editor/Firebase.Editor.pdb
+Assets/Firebase/Editor/StorageDependencies.xml
+Assets/Firebase/Editor/generate_xml_from_google_services_json.exe
+Assets/Firebase/Editor/generate_xml_from_google_services_json.py
+Assets/Firebase/Editor/network_request.exe
+Assets/Firebase/Editor/network_request.py
+Assets/Firebase/FirebaseApp/Internal/FirebaseInterops.cs
+Assets/Firebase/FirebaseApp/Internal/HttpHelpers.cs
+Assets/Firebase/FirebaseApp/Internal/link.xml
+Assets/Firebase/Plugins/Firebase.App.dll
+Assets/Firebase/Plugins/Firebase.App.pdb
+Assets/Firebase/Plugins/Firebase.Auth.dll
+Assets/Firebase/Plugins/Firebase.Auth.pdb
+Assets/Firebase/Plugins/Firebase.Platform.dll
+Assets/Firebase/Plugins/Firebase.Platform.pdb
+Assets/Firebase/Plugins/Firebase.Storage.dll
+Assets/Firebase/Plugins/Firebase.Storage.pdb
+Assets/Firebase/Plugins/Firebase.TaskExtension.dll
+Assets/Firebase/Plugins/Firebase.TaskExtension.pdb
+Assets/Firebase/Plugins/Google.MiniJson.dll
+Assets/Firebase/Plugins/iOS/Firebase.App.dll
+Assets/Firebase/Plugins/iOS/Firebase.App.pdb
+Assets/Firebase/Plugins/iOS/Firebase.Auth.dll
+Assets/Firebase/Plugins/iOS/Firebase.Auth.pdb
+Assets/Firebase/Plugins/iOS/Firebase.Storage.dll
+Assets/Firebase/Plugins/iOS/Firebase.Storage.pdb
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.so
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.so
+Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.bundle
+Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.dll
+Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.so
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml
+Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.pom
+Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.srcaar
+Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/maven-metadata.xml
+Assets/Plugins/iOS/Firebase/libFirebaseCppApp.a
+Assets/Plugins/iOS/Firebase/libFirebaseCppAuth.a
+Assets/Plugins/iOS/Firebase/libFirebaseCppStorage.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppApp.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppAuth.a
+Assets/Plugins/tvOS/Firebase/libFirebaseCppStorage.a
diff --git a/Assets/Firebase/Editor/FirebaseStorage_version-13.10.0_manifest.txt.meta b/Assets/Firebase/Editor/FirebaseStorage_version-13.10.0_manifest.txt.meta
new file mode 100644
index 0000000..340bae1
--- /dev/null
+++ b/Assets/Firebase/Editor/FirebaseStorage_version-13.10.0_manifest.txt.meta
@@ -0,0 +1,10 @@
+fileFormatVersion: 2
+guid: 9371c7ab79ca43eea0a786e34688f1ca
+labels:
+- gvh
+- gvh_manifest
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/FirebaseStorage_version-13.10.0_manifest.txt
+- gvhp_manifestname-0Cloud Storage for Firebase
+- gvhp_manifestname-1FirebaseStorage
+timeCreated: 0
diff --git a/Assets/Firebase/Editor/FirestoreDependencies.xml b/Assets/Firebase/Editor/FirestoreDependencies.xml
new file mode 100644
index 0000000..42937c7
--- /dev/null
+++ b/Assets/Firebase/Editor/FirestoreDependencies.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assets/Firebase/m2repository
+
+
+
+
diff --git a/Assets/Firebase/Editor/FirestoreDependencies.xml.meta b/Assets/Firebase/Editor/FirestoreDependencies.xml.meta
new file mode 100644
index 0000000..3485ad7
--- /dev/null
+++ b/Assets/Firebase/Editor/FirestoreDependencies.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3b9f1461a6c64af7bbb9a59b09ebdc7e
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/FirestoreDependencies.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor/StorageDependencies.xml b/Assets/Firebase/Editor/StorageDependencies.xml
new file mode 100644
index 0000000..819afa4
--- /dev/null
+++ b/Assets/Firebase/Editor/StorageDependencies.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Assets/Firebase/m2repository
+
+
+
+
diff --git a/Assets/Firebase/Editor/StorageDependencies.xml.meta b/Assets/Firebase/Editor/StorageDependencies.xml.meta
new file mode 100644
index 0000000..e20fb10
--- /dev/null
+++ b/Assets/Firebase/Editor/StorageDependencies.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0bfc0ce50b9348c49a64ece970fb71e8
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/StorageDependencies.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor/generate_xml_from_google_services_json.exe b/Assets/Firebase/Editor/generate_xml_from_google_services_json.exe
new file mode 100644
index 0000000..2d31b04
Binary files /dev/null and b/Assets/Firebase/Editor/generate_xml_from_google_services_json.exe differ
diff --git a/Assets/Firebase/Editor/generate_xml_from_google_services_json.exe.meta b/Assets/Firebase/Editor/generate_xml_from_google_services_json.exe.meta
new file mode 100644
index 0000000..b3c83b0
--- /dev/null
+++ b/Assets/Firebase/Editor/generate_xml_from_google_services_json.exe.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: ae88c0972b7448b5b36def1716f1d711
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/generate_xml_from_google_services_json.exe
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor/generate_xml_from_google_services_json.py b/Assets/Firebase/Editor/generate_xml_from_google_services_json.py
new file mode 100644
index 0000000..789dceb
--- /dev/null
+++ b/Assets/Firebase/Editor/generate_xml_from_google_services_json.py
@@ -0,0 +1,498 @@
+#!/usr/bin/python
+
+# Copyright 2016 Google LLC
+#
+# 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.
+
+"""Stand-alone implementation of the Gradle Firebase plugin.
+
+Converts the services json file to xml:
+https://googleplex-android.googlesource.com/platform/tools/base/+/studio-master-dev/build-system/google-services/src/main/groovy/com/google/gms/googleservices
+"""
+
+__author__ = 'Wouter van Oortmerssen'
+
+import argparse
+import ctypes
+import json
+import os
+import platform
+import sys
+from xml.etree import ElementTree
+
+if platform.system().lower() == 'windows':
+ import ctypes.wintypes # pylint: disable=g-import-not-at-top
+
+# Map Python 2's unicode method to encode a string as bytes in python 3.
+try:
+ unicode('') # See whether unicode class is available (Python < 3)
+except NameError:
+ unicode = str # pylint: disable=redefined-builtin,invalid-name
+
+# Input filename if it isn't set.
+DEFAULT_INPUT_FILENAME = 'app/google-services.json'
+# Output filename if it isn't set.
+DEFAULT_OUTPUT_FILENAME = 'res/values/googleservices.xml'
+# Input filename for .plist files, if it isn't set.
+DEFAULT_PLIST_INPUT_FILENAME = 'GoogleService-Info.plist'
+# Output filename for .json files, if it isn't set.
+DEFAULT_JSON_OUTPUT_FILENAME = 'google-services-desktop.json'
+
+OAUTH_CLIENT_TYPE_ANDROID_APP = 1
+OAUTH_CLIENT_TYPE_WEB = 3
+
+
+def read_xml_value(xml_node):
+ """Utility method for reading values from the plist XML.
+
+ Args:
+ xml_node: An ElementTree node, that contains a value.
+
+ Returns:
+ The value of the node, or None, if it could not be read.
+ """
+ if xml_node.tag == 'string':
+ return xml_node.text
+ elif xml_node.tag == 'integer':
+ return int(xml_node.text)
+ elif xml_node.tag == 'real':
+ return float(xml_node.text)
+ elif xml_node.tag == 'false':
+ return 0
+ elif xml_node.tag == 'true':
+ return 1
+ else:
+ # other types of input are ignored. (data, dates, arrays, etc.)
+ return None
+
+
+def construct_plist_dictionary(xml_root):
+ """Constructs a dictionary of values based on the contents of a plist file.
+
+ Args:
+ xml_root: An ElementTree node, that represents the root of the xml file
+ that is to be parsed. (Which should be a dictionary containing
+ key-value pairs of the properties that need to be extracted.)
+
+ Returns:
+ A dictionary, containing key-value pairs for all (supported) entries in the
+ node.
+ """
+ xml_dict = xml_root.find('dict')
+
+ if xml_dict is None:
+ return None
+
+ plist_dict = {}
+ i = 0
+ while i < len(xml_dict):
+ if xml_dict[i].tag == 'key':
+ key = xml_dict[i].text
+ i += 1
+ if i < len(xml_dict):
+ value = read_xml_value(xml_dict[i])
+ if value is not None:
+ plist_dict[key] = value
+ i += 1
+
+ return plist_dict
+
+
+def update_dict_keys(key_map, input_dict):
+ """Creates a dict from input_dict with the same values but new keys.
+
+ Two dictionaries are passed to this function: the key_map that represents a
+ mapping of source keys to destination keys, and the input_dict that is the
+ dictionary that is to be duplicated, replacing any key that matches a source
+ key with a destination key. Source keys that are not present in the
+ input_dict will not have their destination key represented in the result.
+
+ In other words, if key_map is `{'old': 'new', 'foo': 'bar'}`, and input_dict
+ is `{'old': 10}`, the result will be `{'new': 10}`.
+
+ Args:
+ key_map (dict): A dictionary of strings to strings that maps source keys to
+ destination keys.
+ input_dict (dict): The dictionary of string keys to any value type, which
+ is to be duplicated, replacing source keys with the corresponding
+ destination keys from key_map.
+
+ Returns:
+ dict: A new dictionary with updated keys.
+ """
+ return {
+ new_key: input_dict[old_key]
+ for (old_key, new_key) in key_map.items()
+ if old_key in input_dict
+ }
+
+
+def construct_google_services_json(xml_dict):
+ """Constructs a google services json file from a dictionary.
+
+ Args:
+ xml_dict: A dictionary of all the key/value pairs that are needed for the
+ output json file.
+ Returns:
+ A string representing the output json file.
+ """
+
+ try:
+ json_struct = {
+ 'project_info':
+ update_dict_keys(
+ {
+ 'GCM_SENDER_ID': 'project_number',
+ 'DATABASE_URL': 'firebase_url',
+ 'PROJECT_ID': 'project_id',
+ 'STORAGE_BUCKET': 'storage_bucket'
+ }, xml_dict),
+ 'client': [{
+ 'client_info': {
+ 'mobilesdk_app_id': xml_dict['GOOGLE_APP_ID'],
+ 'android_client_info': {
+ 'package_name': xml_dict['BUNDLE_ID']
+ }
+ },
+ 'api_key': [{
+ 'current_key': xml_dict['API_KEY']
+ }],
+ 'services': {
+ 'analytics_service': {
+ 'status': xml_dict['IS_ANALYTICS_ENABLED']
+ },
+ 'appinvite_service': {
+ 'status': xml_dict['IS_APPINVITE_ENABLED']
+ }
+ }
+ },],
+ 'configuration_version':
+ '1'
+ }
+ # OAuth client is optional, but include it if present.
+ if 'CLIENT_ID' in xml_dict:
+ json_struct['client'][0]['oauth_client'] = [{
+ 'client_id': xml_dict['CLIENT_ID'],
+ }]
+ return json.dumps(json_struct, indent=2)
+ except KeyError as e:
+ sys.stderr.write('Could not find key in plist file: [%s]\n' % (e.args[0]))
+ return None
+
+
+def convert_plist_to_json(plist_string, input_filename):
+ """Converts an input plist string into a .json file and saves it.
+
+ Args:
+ plist_string: The contents of the loaded plist file.
+
+ input_filename: The file name that the plist data was read from.
+ Returns:
+ the converted string, or None if there were errors.
+ """
+
+ try:
+ root = ElementTree.fromstring(plist_string)
+ except ElementTree.ParseError:
+ sys.stderr.write('Error parsing file %s.\n'
+ 'It does not appear to be valid XML.\n' % (input_filename))
+ return None
+
+ plist_dict = construct_plist_dictionary(root)
+ if plist_dict is None:
+ sys.stderr.write('In file %s, could not locate a top-level \'dict\' '
+ 'element.\n'
+ 'File format should be plist XML, with a top-level '
+ 'dictionary containing project settings as key-value '
+ 'pairs.\n' % (input_filename))
+ return None
+
+ json_string = construct_google_services_json(plist_dict)
+ return json_string
+
+
+def gen_string(parent, name, text):
+ """Generate one element and put into the list of keeps.
+
+ Args:
+ parent: The object that will hold the string.
+ name: The name to store the string under.
+ text: The text of the string.
+ """
+ if text:
+ prev = parent.get('tools:keep', '')
+ if prev:
+ prev += ','
+ parent.set('tools:keep', prev + '@string/' + name)
+ child = ElementTree.SubElement(parent, 'string', {
+ 'name': name,
+ 'translatable': 'false'
+ })
+ child.text = text
+
+
+def indent(elem, level=0):
+ """Recurse through XML tree and add indentation.
+
+ Args:
+ elem: The element to recurse over
+ level: The current indentation level.
+ """
+ i = '\n' + level*' '
+ if elem is not None:
+ if not elem.text or not elem.text.strip():
+ elem.text = i + ' '
+ if not elem.tail or not elem.tail.strip():
+ elem.tail = i
+ for elem in elem:
+ indent(elem, level+1)
+ if not elem.tail or not elem.tail.strip():
+ elem.tail = i
+ else:
+ if level and (not elem.tail or not elem.tail.strip()):
+ elem.tail = i
+
+
+def argv_as_unicode_win32():
+ """Returns unicode command line arguments on windows.
+ """
+
+ get_command_line_w = ctypes.cdll.kernel32.GetCommandLineW
+ get_command_line_w.restype = ctypes.wintypes.LPCWSTR
+
+ # CommandLineToArgvW parses the Unicode command line
+ command_line_to_argv_w = ctypes.windll.shell32.CommandLineToArgvW
+ command_line_to_argv_w.argtypes = [
+ ctypes.wintypes.LPCWSTR,
+ ctypes.POINTER(ctypes.c_int)
+ ]
+ command_line_to_argv_w.restype = ctypes.POINTER(
+ ctypes.wintypes.LPWSTR)
+
+ argc = ctypes.c_int(0)
+ argv = command_line_to_argv_w(get_command_line_w(), argc)
+
+ # Strip the python executable from the arguments if it exists
+ # (It would be listed as the first argument on the windows command line, but
+ # not in the arguments to the python script)
+ sys_argv_len = len(sys.argv)
+ return [unicode(argv[i]) for i in
+ range(argc.value - sys_argv_len, argc.value)]
+
+
+def main():
+ parser = argparse.ArgumentParser(
+ description=((
+ 'Converts a Firebase %s into %s similar to the Gradle plugin, or '
+ 'converts a Firebase %s into a %s suitible for use on desktop apps.' %
+ (DEFAULT_INPUT_FILENAME, DEFAULT_OUTPUT_FILENAME,
+ DEFAULT_PLIST_INPUT_FILENAME, DEFAULT_JSON_OUTPUT_FILENAME))))
+ parser.add_argument('-i', help='Override input file name',
+ metavar='FILE', required=False)
+ parser.add_argument('-o', help='Override destination file name',
+ metavar='FILE', required=False)
+ parser.add_argument('-p', help=('Package ID to select within the set of '
+ 'packages in the input file. If this is '
+ 'not specified, the first package in the '
+ 'input file is selected.'))
+ parser.add_argument('-l', help=('List all package IDs referenced by the '
+ 'input file. If this is specified, '
+ 'the output file is not created.'),
+ action='store_true', default=False, required=False)
+ parser.add_argument('-f', help=('Print project fields from the input file '
+ 'in the form \'name=value\\n\' for each '
+ 'field. If this is specified, the output '
+ 'is not created.'),
+ action='store_true', default=False, required=False)
+ parser.add_argument(
+ '--plist',
+ help=(
+ 'Specifies a plist file to convert to a JSON configuration file. '
+ 'If this is enabled, the script will expect a .plist file as input, '
+ 'which it will convert into %s file. The output file is '
+ '*not* suitable for use with Firebase on Android.' %
+ (DEFAULT_JSON_OUTPUT_FILENAME)),
+ action='store_true',
+ default=False,
+ required=False)
+
+ # python 2 on Windows doesn't handle unicode arguments well, so we need to
+ # pre-process the command line arguments before trying to parse them.
+ if platform.system() == 'Windows':
+ sys.argv = argv_as_unicode_win32()
+
+ args = parser.parse_args()
+
+ if args.plist:
+ input_filename = DEFAULT_PLIST_INPUT_FILENAME
+ output_filename = DEFAULT_JSON_OUTPUT_FILENAME
+ else:
+ input_filename = DEFAULT_INPUT_FILENAME
+ output_filename = DEFAULT_OUTPUT_FILENAME
+
+ if args.i:
+ # Encode the input string (type unicode) as a normal string (type str)
+ # using the 'utf-8' encoding so that it can be worked with the same as
+ # input names from other sources (like the defaults).
+ input_filename_raw = args.i.encode('utf-8')
+ # Decode the filename to a unicode string using the 'utf-8' encoding to
+ # properly handle filepaths with unicode characters in them.
+ input_filename = input_filename_raw.decode('utf-8')
+
+ if args.o:
+ output_filename = args.o
+
+ with open(input_filename, 'r') as ifile:
+ file_string = ifile.read()
+
+ json_string = None
+ if args.plist:
+ json_string = convert_plist_to_json(file_string, input_filename)
+ if json_string is None:
+ return 1
+ jsobj = json.loads(json_string)
+ else:
+ jsobj = json.loads(file_string)
+
+ root = ElementTree.Element('resources')
+ root.set('xmlns:tools', 'http://schemas.android.com/tools')
+
+ project_info = jsobj.get('project_info')
+ if project_info:
+ gen_string(root, 'firebase_database_url', project_info.get('firebase_url'))
+ gen_string(root, 'gcm_defaultSenderId', project_info.get('project_number'))
+ gen_string(root, 'google_storage_bucket',
+ project_info.get('storage_bucket'))
+ gen_string(root, 'project_id', project_info.get('project_id'))
+
+ if args.f:
+ if not project_info:
+ sys.stderr.write('No project info found in %s.' % input_filename)
+ return 1
+ for field, value in sorted(project_info.items()):
+ sys.stdout.write('%s=%s\n' % (field, value))
+ return 0
+
+ packages = set()
+ client_list = jsobj.get('client')
+ if client_list:
+ # Search for the user specified package in the file.
+ selected_package_name = ''
+ selected_client = client_list[0]
+ find_package_name = args.p
+ for client in client_list:
+ package_name = client.get('client_info', {}).get(
+ 'android_client_info', {}).get('package_name', '')
+ if not package_name:
+ package_name = client.get('oauth_client', {}).get(
+ 'android_info', {}).get('package_name', '')
+ if package_name:
+ if not selected_package_name:
+ selected_package_name = package_name
+ selected_client = client
+ if package_name == find_package_name:
+ selected_package_name = package_name
+ selected_client = client
+ packages.add(package_name)
+
+ if args.p and selected_package_name != find_package_name:
+ sys.stderr.write('No packages found in %s which match the package '
+ 'name %s\n'
+ '\n'
+ 'Found the following:\n'
+ '%s\n' % (input_filename, find_package_name,
+ '\n'.join(packages)))
+ return 1
+
+ client_api_key = selected_client.get('api_key')
+ if client_api_key:
+ client_api_key0 = client_api_key[0]
+ gen_string(root, 'google_api_key', client_api_key0.get('current_key'))
+ gen_string(root, 'google_crash_reporting_api_key',
+ client_api_key0.get('current_key'))
+
+ client_info = selected_client.get('client_info')
+ if client_info:
+ gen_string(root, 'google_app_id', client_info.get('mobilesdk_app_id'))
+
+ # Only include the first matching OAuth client ID per type.
+ client_id_web_parsed = False
+ client_id_android_parsed = False
+
+ oauth_client_list = selected_client.get('oauth_client')
+ if oauth_client_list:
+ for oauth_client in oauth_client_list:
+ client_type = oauth_client.get('client_type')
+ client_id = oauth_client.get('client_id')
+ if not (client_type and client_id): continue
+ if (client_type == OAUTH_CLIENT_TYPE_WEB and
+ not client_id_web_parsed):
+ gen_string(root, 'default_web_client_id', client_id)
+ client_id_web_parsed = True
+ if (client_type == OAUTH_CLIENT_TYPE_ANDROID_APP and
+ not client_id_android_parsed):
+ gen_string(root, 'default_android_client_id', client_id)
+ client_id_android_parsed = True
+
+ services = selected_client.get('services')
+ if services:
+ ads_service = services.get('ads_service')
+ if ads_service:
+ gen_string(root, 'test_banner_ad_unit_id',
+ ads_service.get('test_banner_ad_unit_id'))
+ gen_string(root, 'test_interstitial_ad_unit_id',
+ ads_service.get('test_interstitial_ad_unit_id'))
+ analytics_service = services.get('analytics_service')
+ if analytics_service:
+ analytics_property = analytics_service.get('analytics_property')
+ if analytics_property:
+ gen_string(root, 'ga_trackingId',
+ analytics_property.get('tracking_id'))
+ # enable this once we have an example if this service being present
+ # in the json data:
+ maps_service_enabled = False
+ if maps_service_enabled:
+ maps_service = services.get('maps_service')
+ if maps_service:
+ maps_api_key = maps_service.get('api_key')
+ if maps_api_key:
+ for k in range(0, len(maps_api_key)):
+ # generates potentially multiple of these keys, which is
+ # the same behavior as the java plugin.
+ gen_string(root, 'google_maps_key',
+ maps_api_key[k].get('maps_api_key'))
+
+ tree = ElementTree.ElementTree(root)
+
+ indent(root)
+
+ if args.l:
+ for package in sorted(packages):
+ if package:
+ sys.stdout.write(package + '\n')
+ else:
+ path = os.path.dirname(output_filename)
+
+ if path and not os.path.exists(path):
+ os.makedirs(path)
+
+ if not args.plist:
+ tree.write(output_filename, 'utf-8', True)
+ else:
+ with open(output_filename, 'w') as ofile:
+ ofile.write(json_string)
+
+ return 0
+
+if __name__ == '__main__':
+ sys.exit(main())
diff --git a/Assets/Firebase/Editor/generate_xml_from_google_services_json.py.meta b/Assets/Firebase/Editor/generate_xml_from_google_services_json.py.meta
new file mode 100644
index 0000000..72fb79b
--- /dev/null
+++ b/Assets/Firebase/Editor/generate_xml_from_google_services_json.py.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8f18ed76c0f04ce0a65736104f913ef8
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/generate_xml_from_google_services_json.py
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor/network_request.exe b/Assets/Firebase/Editor/network_request.exe
new file mode 100644
index 0000000..30f5e8e
Binary files /dev/null and b/Assets/Firebase/Editor/network_request.exe differ
diff --git a/Assets/Firebase/Editor/network_request.exe.meta b/Assets/Firebase/Editor/network_request.exe.meta
new file mode 100644
index 0000000..13e6c79
--- /dev/null
+++ b/Assets/Firebase/Editor/network_request.exe.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d3cd5d0a941c4cdc8ab4b1b684b05191
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/network_request.exe
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Editor/network_request.py b/Assets/Firebase/Editor/network_request.py
new file mode 100644
index 0000000..04f055f
--- /dev/null
+++ b/Assets/Firebase/Editor/network_request.py
@@ -0,0 +1,416 @@
+# Copyright 2019 Google LLC
+#
+# 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.
+"""Wrapper script which makes a network request.
+
+Basic Usage: network_request.py post
+ --url
+ --header (optional, support multiple)
+ --body (optional)
+ --timeout (optional)
+ --verbose (optional)
+"""
+
+import argparse
+import inspect
+import logging
+import socket
+import sys
+
+# pylint: disable=g-import-not-at-top
+# pylint: disable=g-importing-member
+try:
+ from six.moves.http_client import HTTPSConnection
+ from six.moves.http_client import HTTPConnection
+ from six.moves.http_client import HTTPException
+except ImportError:
+ from http.client import HTTPSConnection
+ from http.client import HTTPConnection
+ from http.client import HTTPException
+
+try:
+ from six.moves.urllib.parse import urlparse
+except ImportError:
+ from urllib.parse import urlparse
+# pylint: enable=g-import-not-at-top
+# pylint: enable=g-importing-member
+
+# Set up logger as soon as possible
+formatter = logging.Formatter('[%(levelname)s] %(message)s')
+
+handler = logging.StreamHandler(stream=sys.stdout)
+handler.setFormatter(formatter)
+handler.setLevel(logging.INFO)
+
+logger = logging.getLogger(__name__)
+logger.addHandler(handler)
+logger.setLevel(logging.INFO)
+
+# Custom exit codes for known issues.
+# System exit codes in python are valid from 0 - 256, so we will map some common
+# ones here to understand successes and failures.
+# Uses lower ints to not collide w/ HTTP status codes that the script may return
+EXIT_CODE_SUCCESS = 0
+EXIT_CODE_SYS_ERROR = 1
+EXIT_CODE_INVALID_REQUEST_VALUES = 2
+EXIT_CODE_GENERIC_HTTPLIB_ERROR = 3
+EXIT_CODE_HTTP_TIMEOUT = 4
+EXIT_CODE_HTTP_REDIRECT_ERROR = 5
+EXIT_CODE_HTTP_NOT_FOUND_ERROR = 6
+EXIT_CODE_HTTP_SERVER_ERROR = 7
+EXIT_CODE_HTTP_UNKNOWN_ERROR = 8
+
+MAX_EXIT_CODE = 8
+
+# All used http verbs
+POST = 'POST'
+
+
+def unwrap_kwarg_namespace(func):
+ """Transform a Namespace object from argparse into proper args and kwargs.
+
+ For a function that will be delegated to from argparse, inspect all of the
+ argments and extract them from the Namespace object.
+
+ Args:
+ func: the function that we are wrapping to modify behavior
+
+ Returns:
+ a new function that unwraps all of the arguments in a namespace and then
+ delegates to the passed function with those args.
+ """
+ # When we move to python 3, getfullargspec so that we can tell the
+ # difference between args and kwargs -- then this could be used for functions
+ # that have both args and kwargs
+ if 'getfullargspec' in dir(inspect):
+ argspec = inspect.getfullargspec(func)
+ else:
+ argspec = inspect.getargspec(func) # Python 2 compatibility.
+
+ def wrapped(argparse_namespace=None, **kwargs):
+ """Take a Namespace object and map it to kwargs.
+
+ Inspect the argspec of the passed function. Loop over all the args that
+ are present in the function and try to map them by name to arguments in the
+ namespace. For keyword arguments, we do not require that they be present
+ in the Namespace.
+
+ Args:
+ argparse_namespace: an arparse.Namespace object, the result of calling
+ argparse.ArgumentParser().parse_args()
+ **kwargs: keyword arguments that may be passed to the original function
+ Returns:
+ The return of the wrapped function from the parent.
+
+ Raises:
+ ValueError in the event that an argument is passed to the cli that is not
+ in the set of named kwargs
+ """
+ if not argparse_namespace:
+ return func(**kwargs)
+
+ reserved_namespace_keywords = ['func']
+ new_kwargs = {}
+
+ args = argspec.args or []
+ for arg_name in args:
+ passed_value = getattr(argparse_namespace, arg_name, None)
+ if passed_value is not None:
+ new_kwargs[arg_name] = passed_value
+
+ for namespace_key in vars(argparse_namespace).keys():
+ # ignore namespace keywords that have been set not passed in via cli
+ if namespace_key in reserved_namespace_keywords:
+ continue
+
+ # make sure that we haven't passed something we should be processing
+ if namespace_key not in args:
+ raise ValueError('CLI argument "{}" does not match any argument in '
+ 'function {}'.format(namespace_key, func.__name__))
+
+ return func(**new_kwargs)
+
+ wrapped.__name__ = func.__name__
+ return wrapped
+
+
+class NetworkRequest(object):
+ """A container for an network request object.
+
+ This class holds on to all of the attributes necessary for making a
+ network request via httplib.
+ """
+
+ def __init__(self, url, method, headers, body, timeout):
+ self.url = url.lower()
+ self.parsed_url = urlparse(self.url)
+ self.method = method
+ self.headers = headers
+ self.body = body
+ self.timeout = timeout
+ self.is_secure_connection = self.is_secure_connection()
+
+ def execute_request(self):
+ """"Execute the request, and get a response.
+
+ Returns:
+ an HttpResponse object from httplib
+ """
+ if self.is_secure_connection:
+ conn = HTTPSConnection(self.get_hostname(), timeout=self.timeout)
+ else:
+ conn = HTTPConnection(self.get_hostname(), timeout=self.timeout)
+
+ conn.request(self.method, self.url, self.body, self.headers)
+ response = conn.getresponse()
+ return response
+
+ def get_hostname(self):
+ """Return the hostname for the url."""
+ return self.parsed_url.netloc
+
+ def is_secure_connection(self):
+ """Checks for a secure connection of https.
+
+ Returns:
+ True if the scheme is "https"; False if "http"
+
+ Raises:
+ ValueError when the scheme does not match http or https
+ """
+ scheme = self.parsed_url.scheme
+
+ if scheme == 'http':
+ return False
+ elif scheme == 'https':
+ return True
+ else:
+ raise ValueError('The url scheme is not "http" nor "https"'
+ ': {}'.format(scheme))
+
+
+def parse_colon_delimited_options(option_args):
+ """Parses a key value from a string.
+
+ Args:
+ option_args: Key value string delimited by a color, ex: ("key:value")
+
+ Returns:
+ Return an array with the key as the first element and value as the second
+
+ Raises:
+ ValueError: If the key value option is not formatted correctly
+ """
+ options = {}
+
+ if not option_args:
+ return options
+
+ for single_arg in option_args:
+ values = single_arg.split(':')
+ if len(values) != 2:
+ raise ValueError('An option arg must be a single key/value pair '
+ 'delimited by a colon - ex: "thing_key:thing_value"')
+
+ key = values[0].strip()
+ value = values[1].strip()
+ options[key] = value
+
+ return options
+
+
+def make_request(request):
+ """Makes a synchronous network request and return the HTTP status code.
+
+ Args:
+ request: a well formulated request object
+
+ Returns:
+ The HTTP status code of the network request.
+ '1' maps to invalid request headers.
+ """
+
+ logger.info('Sending network request -')
+ logger.info('\tUrl: %s', request.url)
+ logger.debug('\tMethod: %s', request.method)
+ logger.debug('\tHeaders: %s', request.headers)
+ logger.debug('\tBody: %s', request.body)
+
+ try:
+ response = request.execute_request()
+ except socket.timeout:
+ logger.exception(
+ 'Timed out post request to %s in %d seconds for request body: %s',
+ request.url, request.timeout, request.body)
+ return EXIT_CODE_HTTP_TIMEOUT
+ except (HTTPException, socket.error):
+ logger.exception(
+ 'Encountered generic exception in posting to %s with request body %s',
+ request.url, request.body)
+ return EXIT_CODE_GENERIC_HTTPLIB_ERROR
+
+ status = response.status
+ headers = response.getheaders()
+ logger.info('Received Network response -')
+ logger.info('\tStatus code: %d', status)
+ logger.debug('\tResponse headers: %s', headers)
+
+ if status < 200 or status > 299:
+ logger.error('Request (%s) failed with status code %d\n', request.url,
+ status)
+
+ # If we wanted this script to support get, we need to
+ # figure out what mechanism we intend for capturing the response
+ return status
+
+
+@unwrap_kwarg_namespace
+def post(url=None, header=None, body=None, timeout=5, verbose=False):
+ """Sends a post request.
+
+ Args:
+ url: The url of the request
+ header: A list of headers for the request
+ body: The body for the request
+ timeout: Timeout in seconds for the request
+ verbose: Should debug logs be displayed
+
+ Returns:
+ Return an array with the key as the first element and value as the second
+ """
+
+ if verbose:
+ handler.setLevel(logging.DEBUG)
+ logger.setLevel(logging.DEBUG)
+
+ try:
+ logger.info('Parsing headers: %s', header)
+ headers = parse_colon_delimited_options(header)
+ except ValueError:
+ logging.exception('Could not parse the parameters with "--header": %s',
+ header)
+ return EXIT_CODE_INVALID_REQUEST_VALUES
+
+ try:
+ request = NetworkRequest(url, POST, headers, body, float(timeout))
+ except ValueError:
+ logger.exception('Invalid request values passed into the script.')
+ return EXIT_CODE_INVALID_REQUEST_VALUES
+
+ status = make_request(request)
+
+ # View exit code after running to get the http status code: 'echo $?'
+ return status
+
+
+def get_argsparser():
+ """Returns the argument parser.
+
+ Returns:
+ Argument parser for the script.
+ """
+
+ parser = argparse.ArgumentParser(
+ description='The script takes in the arguments of a network request. '
+ 'The network request is sent and the http status code will be'
+ 'returned as the exit code.')
+ subparsers = parser.add_subparsers(help='Commands:')
+ post_parser = subparsers.add_parser(
+ post.__name__, help='{} help'.format(post.__name__))
+ post_parser.add_argument(
+ '--url',
+ help='Request url. Ex: https://www.google.com/somePath/',
+ required=True,
+ dest='url')
+ post_parser.add_argument(
+ '--header',
+ help='Request headers as a space delimited list of key '
+ 'value pairs. Ex: "key1:value1 key2:value2"',
+ action='append',
+ required=False,
+ dest='header')
+ post_parser.add_argument(
+ '--body',
+ help='The body of the network request',
+ required=True,
+ dest='body')
+ post_parser.add_argument(
+ '--timeout',
+ help='The timeout in seconds',
+ default=10.0,
+ required=False,
+ dest='timeout')
+ post_parser.add_argument(
+ '--verbose',
+ help='Should verbose logging be outputted',
+ action='store_true',
+ default=False,
+ required=False,
+ dest='verbose')
+ post_parser.set_defaults(func=post)
+ return parser
+
+
+def map_http_status_to_exit_code(status_code):
+ """Map an http status code to the appropriate exit code.
+
+ Exit codes in python are valid from 0-256, so we want to map these to
+ predictable exit codes within range.
+
+ Args:
+ status_code: the input status code that was output from the network call
+ function
+
+ Returns:
+ One of our valid exit codes declared at the top of the file or a generic
+ unknown error code
+ """
+ if status_code <= MAX_EXIT_CODE:
+ return status_code
+
+ if status_code > 199 and status_code < 300:
+ return EXIT_CODE_SUCCESS
+
+ if status_code == 302:
+ return EXIT_CODE_HTTP_REDIRECT_ERROR
+
+ if status_code == 404:
+ return EXIT_CODE_HTTP_NOT_FOUND_ERROR
+
+ if status_code > 499:
+ return EXIT_CODE_HTTP_SERVER_ERROR
+
+ return EXIT_CODE_HTTP_UNKNOWN_ERROR
+
+
+def main():
+ """Main function to run the program.
+
+ Parse system arguments and delegate to the appropriate function.
+
+ Returns:
+ A status code - either an http status code or a custom error code
+ """
+ parser = get_argsparser()
+ subparser_action = parser.parse_args()
+ try:
+ return subparser_action.func(subparser_action)
+ except ValueError:
+ logger.exception('Invalid arguments passed.')
+ parser.print_help(sys.stderr)
+ return EXIT_CODE_INVALID_REQUEST_VALUES
+ return EXIT_CODE_GENERIC_HTTPLIB_ERROR
+
+if __name__ == '__main__':
+ exit_code = map_http_status_to_exit_code(main())
+ sys.exit(exit_code)
diff --git a/Assets/Firebase/Editor/network_request.py.meta b/Assets/Firebase/Editor/network_request.py.meta
new file mode 100644
index 0000000..a8d3b95
--- /dev/null
+++ b/Assets/Firebase/Editor/network_request.py.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e6e32fecbfd44fab946fa160e4861924
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Editor/network_request.py
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/FirebaseApp.meta b/Assets/Firebase/FirebaseApp.meta
new file mode 100644
index 0000000..4abaabb
--- /dev/null
+++ b/Assets/Firebase/FirebaseApp.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2548aa8906fa5ef47a69abdfe1d79d93
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/FirebaseApp/Internal.meta b/Assets/Firebase/FirebaseApp/Internal.meta
new file mode 100644
index 0000000..791ae39
--- /dev/null
+++ b/Assets/Firebase/FirebaseApp/Internal.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0fe578724beee9a43853c7797c7f0ba3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/FirebaseApp/Internal/FirebaseInterops.cs b/Assets/Firebase/FirebaseApp/Internal/FirebaseInterops.cs
new file mode 100644
index 0000000..11a59a6
--- /dev/null
+++ b/Assets/Firebase/FirebaseApp/Internal/FirebaseInterops.cs
@@ -0,0 +1,439 @@
+/*
+ * Copyright 2025 Google LLC
+ *
+ * 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.
+ */
+
+using System;
+using System.Net.Http;
+using System.Net.WebSockets;
+using System.Reflection;
+using System.Threading.Tasks;
+
+namespace Firebase.Internal
+{
+ // Contains internal helper methods for interacting with other Firebase libraries.
+ internal static class FirebaseInterops
+ {
+ // The cached fields for FirebaseApp reflection.
+ private static PropertyInfo _dataCollectionProperty = null;
+
+ // The various App Check types needed to retrieve the token, cached via reflection on startup.
+ private static Type _appCheckType;
+ private static MethodInfo _appCheckGetInstanceMethod;
+ private static MethodInfo _appCheckGetTokenMethod;
+ private static PropertyInfo _appCheckTokenResultProperty;
+ private static PropertyInfo _appCheckTokenTokenProperty;
+ // Used to determine if the App Check reflection initialized successfully, and should work.
+ private static bool _appCheckReflectionInitialized = false;
+ // The header used by the AppCheck token.
+ private const string appCheckHeader = "X-Firebase-AppCheck";
+
+ // The various Auth types needed to retrieve the token, cached via reflection on startup.
+ private static Type _authType;
+ private static MethodInfo _authGetAuthMethod;
+ private static PropertyInfo _authCurrentUserProperty;
+ private static MethodInfo _userTokenAsyncMethod;
+ private static PropertyInfo _userTokenTaskResultProperty;
+ // Used to determine if the Auth reflection initialized successfully, and should work.
+ private static bool _authReflectionInitialized = false;
+ // The header used by the AppCheck token.
+ private const string authHeader = "Authorization";
+
+ static FirebaseInterops()
+ {
+ InitializeAppReflection();
+ InitializeAppCheckReflection();
+ InitializeAuthReflection();
+ }
+
+ private static void LogError(string message)
+ {
+#if FIREBASEAI_DEBUG_LOGGING
+ UnityEngine.Debug.LogError(message);
+#endif
+ }
+
+ // Cache the methods needed for FirebaseApp reflection.
+ private static void InitializeAppReflection()
+ {
+ try
+ {
+ _dataCollectionProperty = typeof(FirebaseApp).GetProperty(
+ "IsDataCollectionDefaultEnabled",
+ BindingFlags.Instance | BindingFlags.NonPublic);
+ if (_dataCollectionProperty == null)
+ {
+ LogError("Could not find FirebaseApp.IsDataCollectionDefaultEnabled property via reflection.");
+ return;
+ }
+ if (_dataCollectionProperty.PropertyType != typeof(bool))
+ {
+ LogError("FirebaseApp.IsDataCollectionDefaultEnabled is not a bool, " +
+ $"but is {_dataCollectionProperty.PropertyType}");
+ return;
+ }
+ }
+ catch (Exception e)
+ {
+ LogError($"Failed to initialize FirebaseApp reflection: {e}");
+ }
+ }
+
+ // Gets the property FirebaseApp.IsDataCollectionDefaultEnabled.
+ public static bool GetIsDataCollectionDefaultEnabled(FirebaseApp firebaseApp)
+ {
+ if (firebaseApp == null || _dataCollectionProperty == null)
+ {
+ return false;
+ }
+
+ try
+ {
+ return (bool)_dataCollectionProperty.GetValue(firebaseApp);
+ }
+ catch (Exception e)
+ {
+ LogError($"Error accessing 'IsDataCollectionDefaultEnabled': {e}");
+ return false;
+ }
+ }
+
+ // SDK version to use if unable to find it.
+ private const string _unknownSdkVersion = "unknown";
+ private static readonly Lazy _sdkVersionFetcher = new(() =>
+ {
+ try
+ {
+ // Get the type Firebase.VersionInfo from the assembly that defines FirebaseApp.
+ Type versionInfoType = typeof(FirebaseApp).Assembly.GetType("Firebase.VersionInfo");
+ if (versionInfoType == null)
+ {
+ LogError("Firebase.VersionInfo type not found via reflection");
+ return _unknownSdkVersion;
+ }
+
+ // Firebase.VersionInfo.SdkVersion
+ PropertyInfo sdkVersionProperty = versionInfoType.GetProperty(
+ "SdkVersion",
+ BindingFlags.Static | BindingFlags.NonPublic);
+ if (sdkVersionProperty == null)
+ {
+ LogError("Firebase.VersionInfo.SdkVersion property not found via reflection.");
+ return _unknownSdkVersion;
+ }
+
+ return sdkVersionProperty.GetValue(null) as string ?? _unknownSdkVersion;
+ }
+ catch (Exception e)
+ {
+ LogError($"Error accessing SdkVersion via reflection: {e}");
+ return _unknownSdkVersion;
+ }
+ });
+
+ // Gets the internal property Firebase.VersionInfo.SdkVersion
+ internal static string GetVersionInfoSdkVersion()
+ {
+ return _sdkVersionFetcher.Value;
+ }
+
+ // Cache the various types and methods needed for AppCheck token retrieval.
+ private static void InitializeAppCheckReflection()
+ {
+ const string firebaseAppCheckTypeName = "Firebase.AppCheck.FirebaseAppCheck, Firebase.AppCheck";
+ const string getAppCheckTokenMethodName = "GetAppCheckTokenAsync";
+
+ try
+ {
+ // Set this to false, to allow easy failing out via return.
+ _appCheckReflectionInitialized = false;
+
+ _appCheckType = Type.GetType(firebaseAppCheckTypeName);
+ if (_appCheckType == null)
+ {
+ return;
+ }
+
+ // Get the static method GetInstance(FirebaseApp app)
+ _appCheckGetInstanceMethod = _appCheckType.GetMethod(
+ "GetInstance", BindingFlags.Static | BindingFlags.Public, null,
+ new Type[] { typeof(FirebaseApp) }, null);
+ if (_appCheckGetInstanceMethod == null)
+ {
+ LogError("Could not find FirebaseAppCheck.GetInstance method via reflection.");
+ return;
+ }
+
+ // Get the instance method GetAppCheckTokenAsync(bool forceRefresh)
+ _appCheckGetTokenMethod = _appCheckType.GetMethod(
+ getAppCheckTokenMethodName, BindingFlags.Instance | BindingFlags.Public, null,
+ new Type[] { typeof(bool) }, null);
+ if (_appCheckGetTokenMethod == null)
+ {
+ LogError($"Could not find {getAppCheckTokenMethodName} method via reflection.");
+ return;
+ }
+
+ // Should be Task
+ Type appCheckTokenTaskType = _appCheckGetTokenMethod.ReturnType;
+
+ // Get the Result property from the Task
+ _appCheckTokenResultProperty = appCheckTokenTaskType.GetProperty("Result");
+ if (_appCheckTokenResultProperty == null)
+ {
+ LogError("Could not find Result property on App Check token Task.");
+ return;
+ }
+
+ // Should be AppCheckToken
+ Type appCheckTokenType = _appCheckTokenResultProperty.PropertyType;
+
+ _appCheckTokenTokenProperty = appCheckTokenType.GetProperty("Token");
+ if (_appCheckTokenTokenProperty == null)
+ {
+ LogError($"Could not find Token property on AppCheckToken.");
+ return;
+ }
+
+ _appCheckReflectionInitialized = true;
+ }
+ catch (Exception e)
+ {
+ LogError($"Exception during static initialization of FirebaseInterops: {e}");
+ }
+ }
+
+ // Gets the AppCheck Token, assuming there is one. Otherwise, returns null.
+ internal static async Task GetAppCheckTokenAsync(FirebaseApp firebaseApp)
+ {
+ // If AppCheck reflection failed for any reason, nothing to do.
+ if (!_appCheckReflectionInitialized)
+ {
+ return null;
+ }
+
+ try
+ {
+ // Get the FirebaseAppCheck instance for the current FirebaseApp
+ object appCheckInstance = _appCheckGetInstanceMethod.Invoke(null, new object[] { firebaseApp });
+ if (appCheckInstance == null)
+ {
+ LogError("Failed to get FirebaseAppCheck instance via reflection.");
+ return null;
+ }
+
+ // Invoke GetAppCheckTokenAsync(false) - returns a Task
+ object taskObject = _appCheckGetTokenMethod.Invoke(appCheckInstance, new object[] { false });
+ if (taskObject is not Task appCheckTokenTask)
+ {
+ LogError($"Invoking GetToken did not return a Task.");
+ return null;
+ }
+
+ // Await the task to get the AppCheckToken result
+ await appCheckTokenTask;
+
+ // Check for exceptions in the task
+ if (appCheckTokenTask.IsFaulted)
+ {
+ LogError($"Error getting App Check token: {appCheckTokenTask.Exception}");
+ return null;
+ }
+
+ // Get the Result property from the Task
+ object tokenResult = _appCheckTokenResultProperty.GetValue(appCheckTokenTask); // This is the AppCheckToken struct
+ if (tokenResult == null)
+ {
+ LogError("App Check token result was null.");
+ return null;
+ }
+
+ // Get the Token property from the AppCheckToken struct
+ return _appCheckTokenTokenProperty.GetValue(tokenResult) as string;
+ }
+ catch (Exception e)
+ {
+ // Log any exceptions during the reflection/invocation process
+ LogError($"An error occurred while trying to fetch App Check token: {e}");
+ }
+ return null;
+ }
+
+ // Cache the various types and methods needed for Auth token retrieval.
+ private static void InitializeAuthReflection()
+ {
+ const string firebaseAuthTypeName = "Firebase.Auth.FirebaseAuth, Firebase.Auth";
+ const string getTokenMethodName = "TokenAsync";
+
+ try
+ {
+ // Set this to false, to allow easy failing out via return.
+ _authReflectionInitialized = false;
+
+ _authType = Type.GetType(firebaseAuthTypeName);
+ if (_authType == null)
+ {
+ // Auth assembly likely not present, fine to skip
+ return;
+ }
+
+ // Get the static method GetAuth(FirebaseApp app):
+ _authGetAuthMethod = _authType.GetMethod(
+ "GetAuth", BindingFlags.Static | BindingFlags.Public, null,
+ new Type[] { typeof(FirebaseApp) }, null);
+ if (_authGetAuthMethod == null)
+ {
+ LogError("Could not find FirebaseAuth.GetAuth method via reflection.");
+ return;
+ }
+
+ // Get the CurrentUser property from FirebaseAuth instance
+ _authCurrentUserProperty = _authType.GetProperty("CurrentUser", BindingFlags.Instance | BindingFlags.Public);
+ if (_authCurrentUserProperty == null)
+ {
+ LogError("Could not find FirebaseAuth.CurrentUser property via reflection.");
+ return;
+ }
+
+ // This should be FirebaseUser type
+ Type userType = _authCurrentUserProperty.PropertyType;
+
+ // Get the TokenAsync(bool) method from FirebaseUser
+ _userTokenAsyncMethod = userType.GetMethod(
+ getTokenMethodName, BindingFlags.Instance | BindingFlags.Public, null,
+ new Type[] { typeof(bool) }, null);
+ if (_userTokenAsyncMethod == null)
+ {
+ LogError($"Could not find FirebaseUser.{getTokenMethodName}(bool) method via reflection.");
+ return;
+ }
+
+ // The return type is Task
+ Type tokenTaskType = _userTokenAsyncMethod.ReturnType;
+
+ // Get the Result property from Task
+ _userTokenTaskResultProperty = tokenTaskType.GetProperty("Result");
+ if (_userTokenTaskResultProperty == null)
+ {
+ LogError("Could not find Result property on Auth token Task.");
+ return;
+ }
+
+ // Check if Result property is actually a string
+ if (_userTokenTaskResultProperty.PropertyType != typeof(string))
+ {
+ LogError("Auth token Task's Result property is not a string, " +
+ $"but is {_userTokenTaskResultProperty.PropertyType}");
+ return;
+ }
+
+ _authReflectionInitialized = true;
+ }
+ catch (Exception e)
+ {
+ LogError($"Exception during static initialization of Auth reflection in FirebaseInterops: {e}");
+ _authReflectionInitialized = false;
+ }
+ }
+
+ // Gets the Auth Token, assuming there is one. Otherwise, returns null.
+ internal static async Task GetAuthTokenAsync(FirebaseApp firebaseApp)
+ {
+ // If Auth reflection failed for any reason, nothing to do.
+ if (!_authReflectionInitialized)
+ {
+ return null;
+ }
+
+ try
+ {
+ // Get the FirebaseAuth instance for the given FirebaseApp.
+ object authInstance = _authGetAuthMethod.Invoke(null, new object[] { firebaseApp });
+ if (authInstance == null)
+ {
+ LogError("Failed to get FirebaseAuth instance via reflection.");
+ return null;
+ }
+
+ // Get the CurrentUser property
+ object currentUser = _authCurrentUserProperty.GetValue(authInstance);
+ if (currentUser == null)
+ {
+ // No user logged in, so no token
+ return null;
+ }
+
+ // Invoke TokenAsync(false) - returns a Task
+ object taskObject = _userTokenAsyncMethod.Invoke(currentUser, new object[] { false });
+ if (taskObject is not Task tokenTask)
+ {
+ LogError("Invoking TokenAsync did not return a Task.");
+ return null;
+ }
+
+ // Await the task to get the token result
+ await tokenTask;
+
+ // Check for exceptions in the task
+ if (tokenTask.IsFaulted)
+ {
+ LogError($"Error getting Auth token: {tokenTask.Exception}");
+ return null;
+ }
+
+ // Get the Result property (which is the string token)
+ return _userTokenTaskResultProperty.GetValue(tokenTask) as string;
+ }
+ catch (Exception e)
+ {
+ // Log any exceptions during the reflection/invocation process
+ LogError($"An error occurred while trying to fetch Auth token: {e}");
+ }
+ return null;
+ }
+
+ // Adds the other Firebase tokens to the HttpRequest, as available.
+ internal static async Task AddFirebaseTokensAsync(HttpRequestMessage request, FirebaseApp firebaseApp, string authTokenPrefix = "Firebase")
+ {
+ string appCheckToken = await GetAppCheckTokenAsync(firebaseApp);
+ if (!string.IsNullOrEmpty(appCheckToken))
+ {
+ request.Headers.Add(appCheckHeader, appCheckToken);
+ }
+
+ string authToken = await GetAuthTokenAsync(firebaseApp);
+ if (!string.IsNullOrEmpty(authToken))
+ {
+ request.Headers.Add(authHeader, $"{authTokenPrefix} {authToken}");
+ }
+ }
+
+ // Adds the other Firebase tokens to the WebSocket, as available.
+ internal static async Task AddFirebaseTokensAsync(ClientWebSocket socket, FirebaseApp firebaseApp, string authTokenPrefix = "Firebase")
+ {
+ string appCheckToken = await GetAppCheckTokenAsync(firebaseApp);
+ if (!string.IsNullOrEmpty(appCheckToken))
+ {
+ socket.Options.SetRequestHeader(appCheckHeader, appCheckToken);
+ }
+
+ string authToken = await GetAuthTokenAsync(firebaseApp);
+ if (!string.IsNullOrEmpty(authToken))
+ {
+ socket.Options.SetRequestHeader(authHeader, $"{authTokenPrefix} {authToken}");
+ }
+ }
+ }
+
+}
diff --git a/Assets/Firebase/FirebaseApp/Internal/FirebaseInterops.cs.meta b/Assets/Firebase/FirebaseApp/Internal/FirebaseInterops.cs.meta
new file mode 100644
index 0000000..9b2ad11
--- /dev/null
+++ b/Assets/Firebase/FirebaseApp/Internal/FirebaseInterops.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bc30602676ea492eab91b6ff7cd6ba3b
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/FirebaseApp/Internal/FirebaseInterops.cs
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/FirebaseApp/Internal/HttpHelpers.cs b/Assets/Firebase/FirebaseApp/Internal/HttpHelpers.cs
new file mode 100644
index 0000000..917069f
--- /dev/null
+++ b/Assets/Firebase/FirebaseApp/Internal/HttpHelpers.cs
@@ -0,0 +1,89 @@
+/*
+ * Copyright 2025 Google LLC
+ *
+ * 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.
+ */
+
+using System;
+using System.Net;
+using System.Net.Http;
+using System.Threading.Tasks;
+
+namespace Firebase.Internal
+{
+ // Helper functions to help handling the Http calls.
+ internal static class HttpHelpers
+ {
+ internal static async Task SetRequestHeaders(HttpRequestMessage request, FirebaseApp firebaseApp, string authPrefix = "Firebase")
+ {
+ request.Headers.Add("x-goog-api-key", firebaseApp.Options.ApiKey);
+ string version = FirebaseInterops.GetVersionInfoSdkVersion();
+ request.Headers.Add("x-goog-api-client", $"gl-csharp/8.0 fire/{version}");
+ if (FirebaseInterops.GetIsDataCollectionDefaultEnabled(firebaseApp))
+ {
+ request.Headers.Add("X-Firebase-AppId", firebaseApp.Options.AppId);
+ request.Headers.Add("X-Firebase-AppVersion", UnityEngine.Application.version);
+ }
+ // Add additional Firebase tokens to the header.
+ await FirebaseInterops.AddFirebaseTokensAsync(request, firebaseApp, authPrefix);
+ }
+
+ // Helper function to throw an exception if the Http Response indicates failure.
+ // Useful as EnsureSuccessStatusCode can leave out relevant information.
+ internal static async Task ValidateHttpResponse(HttpResponseMessage response)
+ {
+ if (response.IsSuccessStatusCode)
+ {
+ return;
+ }
+
+ // Status code indicates failure, try to read the content for more details
+ string errorContent = "No error content available.";
+ if (response.Content != null)
+ {
+ try
+ {
+ errorContent = await response.Content.ReadAsStringAsync();
+ }
+ catch (Exception readEx)
+ {
+ // Handle being unable to read the content
+ errorContent = $"Failed to read error content: {readEx.Message}";
+ }
+ }
+
+ // Construct the exception with as much information as possible.
+ var ex = new HttpRequestException(
+ $"HTTP request failed with status code: {(int)response.StatusCode} ({response.ReasonPhrase}).\n" +
+ $"Error Content: {errorContent}",
+ null
+ );
+ ex.Data["StatusCode"] = response.StatusCode;
+
+ throw ex;
+ }
+ }
+
+ // Extension to get the StatusCode from the exception.
+ internal static class HttpRequestExceptionExtensions
+ {
+ internal static HttpStatusCode? GetStatusCode(this HttpRequestException exception)
+ {
+ if (exception.Data.Contains("StatusCode"))
+ {
+ return (HttpStatusCode)exception.Data["StatusCode"];
+ }
+ return null;
+ }
+ }
+}
diff --git a/Assets/Firebase/FirebaseApp/Internal/HttpHelpers.cs.meta b/Assets/Firebase/FirebaseApp/Internal/HttpHelpers.cs.meta
new file mode 100644
index 0000000..cd00a1d
--- /dev/null
+++ b/Assets/Firebase/FirebaseApp/Internal/HttpHelpers.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: edaf55a8a9944057852d797b4558bf8a
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/FirebaseApp/Internal/HttpHelpers.cs
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/FirebaseApp/Internal/link.xml b/Assets/Firebase/FirebaseApp/Internal/link.xml
new file mode 100644
index 0000000..cd3baaf
--- /dev/null
+++ b/Assets/Firebase/FirebaseApp/Internal/link.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/Assets/Firebase/FirebaseApp/Internal/link.xml.meta b/Assets/Firebase/FirebaseApp/Internal/link.xml.meta
new file mode 100644
index 0000000..156e9ad
--- /dev/null
+++ b/Assets/Firebase/FirebaseApp/Internal/link.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 178c4b1924574f9c95f7a7f28adfd218
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/FirebaseApp/Internal/link.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins.meta b/Assets/Firebase/Plugins.meta
new file mode 100644
index 0000000..50d6d4a
--- /dev/null
+++ b/Assets/Firebase/Plugins.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a94e34cfad3b6d44ba36e7f77b665836
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/Firebase.App.dll b/Assets/Firebase/Plugins/Firebase.App.dll
new file mode 100644
index 0000000..f5bce1b
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.App.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:38e7bd936a198214df89de66d71ba1e92a40bd78a99fedb18d3f0f565dd3ea7c
+size 90624
diff --git a/Assets/Firebase/Plugins/Firebase.App.dll.meta b/Assets/Firebase/Plugins/Firebase.App.dll.meta
new file mode 100644
index 0000000..cf2a118
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.App.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 7311924048bd457bac6d713576c952da
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/Firebase.App.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ 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: x86
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 1
+ settings:
+ CPU: x86
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/Firebase.Auth.dll b/Assets/Firebase/Plugins/Firebase.Auth.dll
new file mode 100644
index 0000000..0383d7c
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.Auth.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f0da7a13cf42ce6c581b8906ad3a822d9533dc8aba76770a04b83945fa05628e
+size 92160
diff --git a/Assets/Firebase/Plugins/Firebase.Auth.dll.meta b/Assets/Firebase/Plugins/Firebase.Auth.dll.meta
new file mode 100644
index 0000000..8a5d10a
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.Auth.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 275bd6b96a28470986154b9a995e191c
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/Firebase.Auth.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ 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: x86
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 1
+ settings:
+ CPU: x86
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/Firebase.Database.dll b/Assets/Firebase/Plugins/Firebase.Database.dll
new file mode 100644
index 0000000..8677686
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.Database.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b264f5e792375bf99f3b0b1e75a738a633f028431f504020ad1b0837ea9d8aca
+size 75776
diff --git a/Assets/Firebase/Plugins/Firebase.Database.dll.meta b/Assets/Firebase/Plugins/Firebase.Database.dll.meta
new file mode 100644
index 0000000..1a7a521
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.Database.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: e83b244ec0d14450bf6ed3af79ba515c
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Plugins/Firebase.Database.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ 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: x86
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 1
+ settings:
+ CPU: x86
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/Firebase.Firestore.dll b/Assets/Firebase/Plugins/Firebase.Firestore.dll
new file mode 100644
index 0000000..9ffd471
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.Firestore.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9c4009e32d4bbd54f6f90932c60c7a74a2b99babf6e24d66512237899f6e7ccf
+size 188416
diff --git a/Assets/Firebase/Plugins/Firebase.Firestore.dll.meta b/Assets/Firebase/Plugins/Firebase.Firestore.dll.meta
new file mode 100644
index 0000000..117c48a
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.Firestore.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 9bbe20a4d3384138ba2bb7a01a78dfd2
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/Firebase.Firestore.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ 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: x86
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 1
+ settings:
+ CPU: x86
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/Firebase.Platform.dll b/Assets/Firebase/Plugins/Firebase.Platform.dll
new file mode 100644
index 0000000..8d6d1b9
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.Platform.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9165eda5c6a5209b0bafe7cbb0a46a99e9d0efeb21e59ccfd2d479b7fb42dc62
+size 30720
diff --git a/Assets/Firebase/Plugins/Firebase.Platform.dll.meta b/Assets/Firebase/Plugins/Firebase.Platform.dll.meta
new file mode 100644
index 0000000..127f12f
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.Platform.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 7d3eec03d7e241a48941e038118c5e6a
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/Firebase.Platform.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ 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: x86
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 1
+ settings:
+ CPU: x86
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/Firebase.Storage.dll b/Assets/Firebase/Plugins/Firebase.Storage.dll
new file mode 100644
index 0000000..403ea0e
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.Storage.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4d478ffd3540c0ebb66d2ea4d93949619d14163094846f66c0622b54798fd4b4
+size 72192
diff --git a/Assets/Firebase/Plugins/Firebase.Storage.dll.meta b/Assets/Firebase/Plugins/Firebase.Storage.dll.meta
new file mode 100644
index 0000000..d72b03e
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.Storage.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 2e3ea3ac9d6d409a92d41e9b9627470f
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/Firebase.Storage.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ 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: x86
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 1
+ settings:
+ CPU: x86
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/Firebase.TaskExtension.dll b/Assets/Firebase/Plugins/Firebase.TaskExtension.dll
new file mode 100644
index 0000000..23ac9ae
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.TaskExtension.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3973b20c83c550ac2a6458b1d8ddeda6f037a6718dc14db52c2b1f9e391ae7b1
+size 8192
diff --git a/Assets/Firebase/Plugins/Firebase.TaskExtension.dll.meta b/Assets/Firebase/Plugins/Firebase.TaskExtension.dll.meta
new file mode 100644
index 0000000..cb5df20
--- /dev/null
+++ b/Assets/Firebase/Plugins/Firebase.TaskExtension.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: f5d4069c578548ba9f199b46d61bf06d
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/Firebase.TaskExtension.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ 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: x86
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 1
+ settings:
+ CPU: x86
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/Google.MiniJson.dll b/Assets/Firebase/Plugins/Google.MiniJson.dll
new file mode 100644
index 0000000..9bfb4c7
--- /dev/null
+++ b/Assets/Firebase/Plugins/Google.MiniJson.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8653085d5f2e518b41b9d14c20812fbb324a0c93490042de553927a71d5d13c1
+size 10240
diff --git a/Assets/Firebase/Plugins/Google.MiniJson.dll.meta b/Assets/Firebase/Plugins/Google.MiniJson.dll.meta
new file mode 100644
index 0000000..d6a0e41
--- /dev/null
+++ b/Assets/Firebase/Plugins/Google.MiniJson.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 3ebb289656f1477fa263e62d36c6e329
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/Google.MiniJson.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ 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: x86
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 1
+ settings:
+ CPU: x86
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/iOS.meta b/Assets/Firebase/Plugins/iOS.meta
new file mode 100644
index 0000000..84e6b50
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e38d5c36351917342b5250b16cc15774
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/iOS/Firebase.App.dll b/Assets/Firebase/Plugins/iOS/Firebase.App.dll
new file mode 100644
index 0000000..eabb056
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS/Firebase.App.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7dd912f4f396049532e920129bef8e369ed9a35a7542915a9db4d56756129d44
+size 90624
diff --git a/Assets/Firebase/Plugins/iOS/Firebase.App.dll.meta b/Assets/Firebase/Plugins/iOS/Firebase.App.dll.meta
new file mode 100644
index 0000000..43eb1a8
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS/Firebase.App.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 5f3feda1a91343759b7eb58a29b492b7
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/iOS/Firebase.App.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/iOS/Firebase.Auth.dll b/Assets/Firebase/Plugins/iOS/Firebase.Auth.dll
new file mode 100644
index 0000000..70583ae
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS/Firebase.Auth.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b38a5e8924045ffb28e2583ae20dbbbfd34fd0c425c9788ceec9412098fe1df5
+size 92160
diff --git a/Assets/Firebase/Plugins/iOS/Firebase.Auth.dll.meta b/Assets/Firebase/Plugins/iOS/Firebase.Auth.dll.meta
new file mode 100644
index 0000000..69792a8
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS/Firebase.Auth.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: d98038090b9740a08a3877529f9ea69d
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/iOS/Firebase.Auth.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/iOS/Firebase.Database.dll b/Assets/Firebase/Plugins/iOS/Firebase.Database.dll
new file mode 100644
index 0000000..63011f8
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS/Firebase.Database.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:43343014eb787beb42ee04831e73491d2194b78a3096978a99f78d8ca388e5f6
+size 75776
diff --git a/Assets/Firebase/Plugins/iOS/Firebase.Database.dll.meta b/Assets/Firebase/Plugins/iOS/Firebase.Database.dll.meta
new file mode 100644
index 0000000..9816891
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS/Firebase.Database.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: bcd9c0a2d4de4621a440e58d3fdca550
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Plugins/iOS/Firebase.Database.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/iOS/Firebase.Firestore.dll b/Assets/Firebase/Plugins/iOS/Firebase.Firestore.dll
new file mode 100644
index 0000000..6f1d7f2
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS/Firebase.Firestore.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:232150e70130b2ddd311617980596a1b73c9651de9c439971307d4a4a645a9af
+size 188416
diff --git a/Assets/Firebase/Plugins/iOS/Firebase.Firestore.dll.meta b/Assets/Firebase/Plugins/iOS/Firebase.Firestore.dll.meta
new file mode 100644
index 0000000..1c09af6
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS/Firebase.Firestore.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 153ea3bf2adc4ebd843e94004af375f2
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/iOS/Firebase.Firestore.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/iOS/Firebase.Storage.dll b/Assets/Firebase/Plugins/iOS/Firebase.Storage.dll
new file mode 100644
index 0000000..e8ef572
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS/Firebase.Storage.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3b3db72399198481792451fbf3394f9c878e5f2215a9e03020542992b477fe4c
+size 72192
diff --git a/Assets/Firebase/Plugins/iOS/Firebase.Storage.dll.meta b/Assets/Firebase/Plugins/iOS/Firebase.Storage.dll.meta
new file mode 100644
index 0000000..ea5a3c7
--- /dev/null
+++ b/Assets/Firebase/Plugins/iOS/Firebase.Storage.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: de27b211436d433aa10506ee0aae104d
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/iOS/Firebase.Storage.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 1
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64.meta b/Assets/Firebase/Plugins/x86_64.meta
new file mode 100644
index 0000000..5c34cb8
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ad2dd6831abcf86469685aaa2450ccf8
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.bundle b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.bundle
new file mode 100644
index 0000000..e78bf7f
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.bundle
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fd4a0a372bf0eab2c94cb97e9a7edc81283d9b782027550efa0e21ceec1822ff
+size 180519232
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.bundle.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.bundle.meta
new file mode 100644
index 0000000..29b0c9d
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.bundle.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: db33cacaee9244768effe1c685b48760
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.bundle
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.dll b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.dll
new file mode 100644
index 0000000..a0af3cc
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e3393fd798574db5a5dad51ea000e0078f60ccb4bc7771d9a0537192d6839de1
+size 14789632
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.dll.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.dll.meta
new file mode 100644
index 0000000..e50eadb
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 66adb52e65464b858b1fe1b6e092a9dd
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.so b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.so
new file mode 100644
index 0000000..963e70f
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.so
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4e1f02b8cd8895d9d2615db5b22a255b42da583ae4b0b8a419e2f03a5457ec1d
+size 115884720
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.so.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.so.meta
new file mode 100644
index 0000000..4f23471
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.so.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 7e0dbda61aaa430fb7d0913f7f100eef
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppApp-12_8_0.so
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ LinuxUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.bundle.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.bundle.meta
new file mode 100644
index 0000000..2686fdb
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.bundle.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: c497e3d71dd84767a743206711828696
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.bundle
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.dll b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.dll
new file mode 100644
index 0000000..c224c92
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppApp-13_10_0.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1bfaeddc24d904df310eb29e4c0e790f3186697f85d529834649bbc236f968dc
+size 16769024
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.bundle b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.bundle
new file mode 100644
index 0000000..d948a17
Binary files /dev/null and b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.bundle differ
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.bundle.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.bundle.meta
new file mode 100644
index 0000000..fa7b90e
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.bundle.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 5e37ea1972a64af9897f5fab651a5323
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppAuth.bundle
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.dll b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.dll
new file mode 100644
index 0000000..b30aa33
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:56778d423a02f068a9ddcefa6d9cdb456399e739a3242b221fde64611cd49c3f
+size 1085440
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.dll.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.dll.meta
new file mode 100644
index 0000000..867e20f
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 05faff41310d42b1b623c09a22aa53ff
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppAuth.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.so b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.so
new file mode 100644
index 0000000..f4bc5d4
Binary files /dev/null and b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.so differ
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.so.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.so.meta
new file mode 100644
index 0000000..95f6d42
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppAuth.so.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: a4d0f2c2a6ca44528c55eb26d36f25d6
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppAuth.so
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ LinuxUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.bundle b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.bundle
new file mode 100644
index 0000000..2a6678a
Binary files /dev/null and b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.bundle differ
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.bundle.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.bundle.meta
new file mode 100644
index 0000000..3cf621a
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.bundle.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 9ec52349a51f4191b990ac6c1f7ac130
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppDatabase.bundle
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.dll b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.dll
new file mode 100644
index 0000000..2e41c5c
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4728ebad0bd934fb955ab98aeb31bece7e88e9338b6eb3c441724601bb4aaa44
+size 5263360
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.dll.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.dll.meta
new file mode 100644
index 0000000..28eace8
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 91cff42aa8b64de8ab09a800422f650f
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppDatabase.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.so b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.so
new file mode 100644
index 0000000..0896533
Binary files /dev/null and b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.so differ
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.so.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.so.meta
new file mode 100644
index 0000000..d60d10e
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppDatabase.so.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 7e0d636394aa43cd80440641a013d37c
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppDatabase.so
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ LinuxUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.bundle b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.bundle
new file mode 100644
index 0000000..33f57d4
Binary files /dev/null and b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.bundle differ
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.bundle.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.bundle.meta
new file mode 100644
index 0000000..1d15495
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.bundle.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 3f2b339824fb4525a1e6e0ecad5fd5b2
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppFirestore.bundle
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.dll b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.dll
new file mode 100644
index 0000000..5449a4b
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6239a6dc9fb638cece766de1a777344b63339b42968d45bf0671a787cdda8540
+size 14715904
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.dll.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.dll.meta
new file mode 100644
index 0000000..d6218b9
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: f07768654ca046879bf8e2e0b8b3efec
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppFirestore.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.so b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.so
new file mode 100644
index 0000000..0ffadee
Binary files /dev/null and b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.so differ
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.so.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.so.meta
new file mode 100644
index 0000000..ae7f2b1
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppFirestore.so.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 32cf7cf5c81a4437b9335b413b98d5e5
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppFirestore.so
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ LinuxUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.bundle b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.bundle
new file mode 100644
index 0000000..347d044
Binary files /dev/null and b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.bundle differ
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.bundle.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.bundle.meta
new file mode 100644
index 0000000..5f62a44
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.bundle.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 1dc5f71fa0d3433785d6b4fafc4cc080
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppStorage.bundle
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ OSXUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.dll b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.dll
new file mode 100644
index 0000000..2476ab4
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.dll
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:127486f61ed0462c53e07be4b4950c04f6b3053c893de9fe216dc57fa4682b97
+size 669184
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.dll.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.dll.meta
new file mode 100644
index 0000000..fb0f2cb
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.dll.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: b25a87c37d2b47beb8f85e0bfb9f4624
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppStorage.dll
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 0
+ settings:
+ CPU: None
+ LinuxUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.so b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.so
new file mode 100644
index 0000000..f2d67f0
Binary files /dev/null and b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.so differ
diff --git a/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.so.meta b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.so.meta
new file mode 100644
index 0000000..d32c08c
--- /dev/null
+++ b/Assets/Firebase/Plugins/x86_64/FirebaseCppStorage.so.meta
@@ -0,0 +1,81 @@
+fileFormatVersion: 2
+guid: 5b5600ee71b5441bad7669ff8835c5cf
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/Plugins/x86_64/FirebaseCppStorage.so
+timeCreated: 1480838400
+PluginImporter:
+ serializedVersion: 1
+ iconMap: {}
+ executionOrder: {}
+ isPreloaded: 0
+ platformData:
+ Android:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ Any:
+ enabled: 0
+ settings: {}
+ Editor:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ DefaultValueInitialized: true
+ OS: AnyOS
+ Linux:
+ enabled: 0
+ settings:
+ CPU: None
+ Linux64:
+ enabled: 1
+ settings:
+ CPU: x86_64
+ LinuxUniversal:
+ enabled: 1
+ settings:
+ CPU: AnyCPU
+ OSXIntel:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXIntel64:
+ enabled: 0
+ settings:
+ CPU: None
+ OSXUniversal:
+ enabled: 0
+ settings:
+ CPU: None
+ Web:
+ enabled: 0
+ settings: {}
+ WebStreamed:
+ enabled: 0
+ settings: {}
+ Win:
+ enabled: 0
+ settings:
+ CPU: None
+ Win64:
+ enabled: 0
+ settings:
+ CPU: None
+ WindowsStoreApps:
+ enabled: 0
+ settings:
+ CPU: AnyCPU
+ iOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ tvOS:
+ enabled: 0
+ settings:
+ CompileFlags:
+ FrameworkDependencies:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository.meta b/Assets/Firebase/m2repository.meta
new file mode 100644
index 0000000..ed9d2d1
--- /dev/null
+++ b/Assets/Firebase/m2repository.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 73ddcc7bcde1ea743bfcc554b4902b39
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com.meta b/Assets/Firebase/m2repository/com.meta
new file mode 100644
index 0000000..1086cdc
--- /dev/null
+++ b/Assets/Firebase/m2repository/com.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 180bf0c088c7f054f88e27c7d5a35999
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google.meta b/Assets/Firebase/m2repository/com/google.meta
new file mode 100644
index 0000000..c338683
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c39dba22dd0624b4594b1602bec73a4c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase.meta b/Assets/Firebase/m2repository/com/google/firebase.meta
new file mode 100644
index 0000000..937f4ed
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f4aadea5e5dfcf644b4659b3ccdcf06c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity.meta
new file mode 100644
index 0000000..5a58ff3
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c400f974ac5ff364989ec58985b9d81b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0.meta
new file mode 100644
index 0000000..5ea3629
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 09c2bcbcbba25c949a10fad7248672af
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.pom b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.pom
new file mode 100644
index 0000000..0bed61a
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.pom
@@ -0,0 +1,13 @@
+
+ 4.0.0
+ com.google.firebase
+ firebase-app-unity
+ 12.8.0
+ aar
+
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.pom.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.pom.meta
new file mode 100644
index 0000000..df315b7
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.pom.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e7114db9d92c4fe5bf7c3a64c9b144fd
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.pom
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.srcaar b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.srcaar
new file mode 100644
index 0000000..7bae5c4
Binary files /dev/null and b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.srcaar differ
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.srcaar.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.srcaar.meta
new file mode 100644
index 0000000..a0380c9
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.srcaar.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: dcdbd7f82aa84194ad72a68e3ce9b47d
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-app-unity/12.8.0/firebase-app-unity-12.8.0.srcaar
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0.meta
new file mode 100644
index 0000000..b6bfc17
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a208407f22152db49b29f28e5b744ed3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.pom b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.pom
new file mode 100644
index 0000000..c60f183
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.pom
@@ -0,0 +1,13 @@
+
+ 4.0.0
+ com.google.firebase
+ firebase-app-unity
+ 13.10.0
+ aar
+
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.pom.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.pom.meta
new file mode 100644
index 0000000..535860d
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.pom.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: df3b9248208141129f17b940b2698da3
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.pom
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.srcaar b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.srcaar
new file mode 100644
index 0000000..46003d7
Binary files /dev/null and b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.srcaar differ
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.srcaar.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.srcaar.meta
new file mode 100644
index 0000000..f8725ad
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.srcaar.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a82bc06c72804dc6a3819c4eb569b08c
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-app-unity/13.10.0/firebase-app-unity-13.10.0.srcaar
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml
new file mode 100644
index 0000000..87e73ed
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml
@@ -0,0 +1,9 @@
+
+ com.google.firebase
+ firebase-app-unity
+
+ 13.10.0
+ 13.10.0
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml.meta
new file mode 100644
index 0000000..de01eca
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 96337775a7c941d88ea15f8026ad6f8e
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-app-unity/maven-metadata.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity.meta
new file mode 100644
index 0000000..245f806
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4dab9c8af6889e042b22d13d79840226
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0.meta
new file mode 100644
index 0000000..2fa35b8
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a39aa8de0d2b2494c8c83ff9160fced2
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.pom b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.pom
new file mode 100644
index 0000000..51658ce
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.pom
@@ -0,0 +1,13 @@
+
+ 4.0.0
+ com.google.firebase
+ firebase-auth-unity
+ 12.8.0
+ aar
+
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.pom.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.pom.meta
new file mode 100644
index 0000000..b457b67
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.pom.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: efb6197da4be48f0b503a0403f771c55
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.pom
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.srcaar b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.srcaar
new file mode 100644
index 0000000..86bc12e
Binary files /dev/null and b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.srcaar differ
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.srcaar.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.srcaar.meta
new file mode 100644
index 0000000..568f1d6
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.srcaar.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: eaef9797f1c64347977212fc02bab30b
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-auth-unity/12.8.0/firebase-auth-unity-12.8.0.srcaar
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0.meta
new file mode 100644
index 0000000..77cbd07
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e4a3fc8e795d1ee479ffa04f1cc98f6b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.pom b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.pom
new file mode 100644
index 0000000..e00b0de
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.pom
@@ -0,0 +1,13 @@
+
+ 4.0.0
+ com.google.firebase
+ firebase-auth-unity
+ 13.10.0
+ aar
+
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.pom.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.pom.meta
new file mode 100644
index 0000000..ccb7507
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.pom.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d08d710e301d4528b80d097a2cca9048
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.pom
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.srcaar b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.srcaar
new file mode 100644
index 0000000..f576fa5
Binary files /dev/null and b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.srcaar differ
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.srcaar.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.srcaar.meta
new file mode 100644
index 0000000..9fea28c
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.srcaar.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6a8ce0936bab4465b452f6dde1f39d89
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-auth-unity/13.10.0/firebase-auth-unity-13.10.0.srcaar
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml
new file mode 100644
index 0000000..545029a
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml
@@ -0,0 +1,9 @@
+
+ com.google.firebase
+ firebase-auth-unity
+
+ 13.10.0
+ 13.10.0
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml.meta
new file mode 100644
index 0000000..2d7991c
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 397f194fd08a4159906375d8838517fc
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-auth-unity/maven-metadata.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity.meta
new file mode 100644
index 0000000..4cdbbf3
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 61bc05fca48869248a45a1d58ca4a4fe
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0.meta
new file mode 100644
index 0000000..9d83901
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 74b1e4be19857ee47b6fe696e0db0661
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.pom b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.pom
new file mode 100644
index 0000000..1c60ef1
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.pom
@@ -0,0 +1,13 @@
+
+ 4.0.0
+ com.google.firebase
+ firebase-database-unity
+ 12.8.0
+ aar
+
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.pom.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.pom.meta
new file mode 100644
index 0000000..8fb26b3
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.pom.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4abc5ddb79c94c5182974f14c26e47af
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.pom
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.srcaar b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.srcaar
new file mode 100644
index 0000000..c7e6d34
Binary files /dev/null and b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.srcaar differ
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.srcaar.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.srcaar.meta
new file mode 100644
index 0000000..ec9a5fe
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.srcaar.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 8dfc53ec83bf4b5abbafc1ff08e61ceb
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-database-unity/12.8.0/firebase-database-unity-12.8.0.srcaar
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/maven-metadata.xml b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/maven-metadata.xml
new file mode 100644
index 0000000..c749b23
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/maven-metadata.xml
@@ -0,0 +1,9 @@
+
+ com.google.firebase
+ firebase-database-unity
+
+ 12.8.0
+ 12.8.0
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/maven-metadata.xml.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/maven-metadata.xml.meta
new file mode 100644
index 0000000..70b2b88
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-database-unity/maven-metadata.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: fd89c3e756de4b17a6bde12e1a74a089
+labels:
+- gvh
+- gvh_version-12.8.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-database-unity/maven-metadata.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity.meta
new file mode 100644
index 0000000..bd06b9c
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9355dc11109880e40bda2afc3d54eaba
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0.meta
new file mode 100644
index 0000000..88badaf
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0d059e4d5555e2b46a969e3a38347d71
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.pom b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.pom
new file mode 100644
index 0000000..a4bee31
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.pom
@@ -0,0 +1,13 @@
+
+ 4.0.0
+ com.google.firebase
+ firebase-firestore-unity
+ 13.10.0
+ aar
+
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.pom.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.pom.meta
new file mode 100644
index 0000000..e20703f
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.pom.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1261c436c48d42dba52574bbc2ca3c46
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.pom
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.srcaar b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.srcaar
new file mode 100644
index 0000000..b49cb64
Binary files /dev/null and b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.srcaar differ
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.srcaar.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.srcaar.meta
new file mode 100644
index 0000000..efecbaf
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.srcaar.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3a4705d652384260a04234a14919526e
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-firestore-unity/13.10.0/firebase-firestore-unity-13.10.0.srcaar
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/maven-metadata.xml b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/maven-metadata.xml
new file mode 100644
index 0000000..281de73
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/maven-metadata.xml
@@ -0,0 +1,9 @@
+
+ com.google.firebase
+ firebase-firestore-unity
+
+ 13.10.0
+ 13.10.0
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/maven-metadata.xml.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/maven-metadata.xml.meta
new file mode 100644
index 0000000..39fda15
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-firestore-unity/maven-metadata.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a4c493633d9146f99c8f31b579c15a09
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-firestore-unity/maven-metadata.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity.meta
new file mode 100644
index 0000000..040b08c
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c192ca23239c7e74b9bfed98bcfe53b2
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0.meta
new file mode 100644
index 0000000..4313a3d
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fe87feeed8b33f340b3f49077bc24f67
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.pom b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.pom
new file mode 100644
index 0000000..f218f06
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.pom
@@ -0,0 +1,13 @@
+
+ 4.0.0
+ com.google.firebase
+ firebase-storage-unity
+ 13.10.0
+ aar
+
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.pom.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.pom.meta
new file mode 100644
index 0000000..5a9607a
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.pom.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2be8dbfa3e0c429e945c3c72d64a4c42
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.pom
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.srcaar b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.srcaar
new file mode 100644
index 0000000..885d898
Binary files /dev/null and b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.srcaar differ
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.srcaar.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.srcaar.meta
new file mode 100644
index 0000000..17e4216
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.srcaar.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d091524355de41b7b0d2711a42bf3e07
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-storage-unity/13.10.0/firebase-storage-unity-13.10.0.srcaar
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/maven-metadata.xml b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/maven-metadata.xml
new file mode 100644
index 0000000..7bf547a
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/maven-metadata.xml
@@ -0,0 +1,9 @@
+
+ com.google.firebase
+ firebase-storage-unity
+
+ 13.10.0
+ 13.10.0
+
+
+
diff --git a/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/maven-metadata.xml.meta b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/maven-metadata.xml.meta
new file mode 100644
index 0000000..d79b958
--- /dev/null
+++ b/Assets/Firebase/m2repository/com/google/firebase/firebase-storage-unity/maven-metadata.xml.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: af4848009c444a8cb2624ccfeb1c43a5
+labels:
+- gvh
+- gvh_version-13.10.0
+- gvhp_exportpath-Firebase/m2repository/com/google/firebase/firebase-storage-unity/maven-metadata.xml
+timeCreated: 1480838400
+DefaultImporter:
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/GoogleService-Info (2).plist b/Assets/GoogleService-Info (2).plist
new file mode 100644
index 0000000..f4b5c4b
--- /dev/null
+++ b/Assets/GoogleService-Info (2).plist
@@ -0,0 +1,32 @@
+
+
+
+
+ API_KEY
+ AIzaSyCyppnboF7iffcB4aBdPfhjuF8zMYZ8zT8
+ GCM_SENDER_ID
+ 1046689014694
+ PLIST_VERSION
+ 1
+ BUNDLE_ID
+ com.PKT.EnvironBuild
+ PROJECT_ID
+ final-project-7270d
+ STORAGE_BUCKET
+ final-project-7270d.firebasestorage.app
+ IS_ADS_ENABLED
+
+ IS_ANALYTICS_ENABLED
+
+ IS_APPINVITE_ENABLED
+
+ IS_GCM_ENABLED
+
+ IS_SIGNIN_ENABLED
+
+ GOOGLE_APP_ID
+ 1:1046689014694:ios:9d71da925674abc986a567
+ DATABASE_URL
+ https://final-project-7270d-default-rtdb.firebaseio.com
+
+
\ No newline at end of file
diff --git a/Assets/GoogleService-Info (2).plist.meta b/Assets/GoogleService-Info (2).plist.meta
new file mode 100644
index 0000000..eead9e1
--- /dev/null
+++ b/Assets/GoogleService-Info (2).plist.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3997b970de06de34f92921e1de28fef3
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/HeadphoneMotion.meta b/Assets/HeadphoneMotion.meta
new file mode 100644
index 0000000..41bc05d
--- /dev/null
+++ b/Assets/HeadphoneMotion.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 813fe1465c70c45ee9a43a36595b2d10
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/HeadphoneMotion/Example.meta b/Assets/HeadphoneMotion/Example.meta
new file mode 100644
index 0000000..12b82d1
--- /dev/null
+++ b/Assets/HeadphoneMotion/Example.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8f816be5be0654bc8b87f246f0cfef42
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/HeadphoneMotion/Example/Scripts.meta b/Assets/HeadphoneMotion/Example/Scripts.meta
new file mode 100644
index 0000000..1966b68
--- /dev/null
+++ b/Assets/HeadphoneMotion/Example/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d81d964f2a9bc4bf588f1abbc0633327
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/HeadphoneMotion/Example/Scripts/HeadphoneMotionExample.cs b/Assets/HeadphoneMotion/Example/Scripts/HeadphoneMotionExample.cs
new file mode 100644
index 0000000..d6a6a13
--- /dev/null
+++ b/Assets/HeadphoneMotion/Example/Scripts/HeadphoneMotionExample.cs
@@ -0,0 +1,180 @@
+//------------------------------------------------------------------------------
+// HeadphoneMotion - Unity plugin that exposes the CMHeadphoneMotionManager API
+// GitHub: https://github.com/anastasiadevana/HeadphoneMotion
+//------------------------------------------------------------------------------
+//
+// MIT License
+//
+// Copyright (c) 2020 Anastasia Devana
+//
+// 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.
+//------------------------------------------------------------------------------
+
+using System;
+using UnityEngine;
+using UnityEngine.Serialization;
+using UnityEngine.UI;
+
+namespace HearXR
+{
+ ///
+ /// Example of using HeadphoneMotion.
+ ///
+ public class HeadphoneMotionExample : MonoBehaviour
+ {
+ #region Editor Fields
+ [SerializeField] private Transform _rotateTarget = default;
+ [SerializeField] private Text _motionAvailabilityText = default;
+ [SerializeField] private Text _headphoneConnectionStatusText = default;
+ [SerializeField] private Button _toggleTrackingButton = default;
+ [SerializeField] private Button _calibrateStartingRotationButton = default;
+ [SerializeField] private Button _resetCalibrationButton = default;
+ #endregion
+
+ #region Private Fields
+ private bool _motionAvailable;
+ private bool _tracking;
+ private bool _headphonesConnected;
+ private Text _trackingButtonText;
+ private Quaternion _lastRotation = Quaternion.identity;
+ private Quaternion _calibratedOffset = Quaternion.identity;
+ #endregion
+
+ #region Init
+ private void Start()
+ {
+ // Add event listeners to buttons and hide buttons as needed.
+ _toggleTrackingButton.onClick.AddListener(ToggleTracking);
+ _trackingButtonText = _toggleTrackingButton.GetComponentInChildren();
+
+ _calibrateStartingRotationButton.onClick.AddListener(CalibrateStartingRotation);
+ _resetCalibrationButton.onClick.AddListener(ResetCalibration);
+ UpdateRotationOffsetButtons();
+
+ // Init HeadphoneMotion. Always call this first.
+ HeadphoneMotion.Init();
+
+ // Check if headphone motion is available on this device.
+ _motionAvailable = HeadphoneMotion.IsHeadphoneMotionAvailable();
+ _motionAvailabilityText.text =
+ (_motionAvailable) ? "Headphone motion is available" : "Headphone motion is not available";
+
+ if (_motionAvailable)
+ {
+ // Set headphones connected text to false to start with.
+ HandleHeadphoneConnectionChange(false);
+
+ // Subscribe to events before starting tracking, or will miss the initial headphones connected callback.
+ // Subscribe to the headphones connected/disconnected event.
+ HeadphoneMotion.OnHeadphoneConnectionChanged += HandleHeadphoneConnectionChange;
+
+ // Subscribe to the rotation callback.
+ HeadphoneMotion.OnHeadRotationQuaternion += HandleHeadRotationQuaternion;
+
+ // Start tracking headphone motion.
+ HeadphoneMotion.StartTracking();
+ _tracking = true;
+ }
+
+ UpdateTrackingButton();
+ }
+ #endregion
+
+ #region Event Handlers
+ ///
+ /// Headphone connection status was changed (callback for OnHeadphoneConnectionChanged()).
+ ///
+ /// TRUE if connected, FALSE otherwise.
+ private void HandleHeadphoneConnectionChange(bool connected)
+ {
+ _headphonesConnected = connected;
+ _headphoneConnectionStatusText.text =
+ (_headphonesConnected) ? "Headphones are connected" : "Headphones are not connected";
+
+ UpdateRotationOffsetButtons();
+ }
+
+ ///
+ /// Receive headphone as quaternion (callback for OnHeadRotationQuaternion()).
+ ///
+ /// Headphone rotation
+ private void HandleHeadRotationQuaternion(Quaternion rotation)
+ {
+ // Match the target object's rotation to the headphone rotation.
+ if (_calibratedOffset == Quaternion.identity)
+ {
+ _rotateTarget.rotation = rotation;
+ }
+ else
+ {
+ _rotateTarget.rotation = rotation * Quaternion.Inverse(_calibratedOffset);
+ }
+
+ _lastRotation = rotation;
+ }
+ #endregion
+
+ #region Private Methods
+ private void ToggleTracking()
+ {
+ _tracking = !_tracking;
+
+ if (_motionAvailable && _tracking)
+ {
+ HeadphoneMotion.StartTracking();
+ }
+ else
+ {
+ HeadphoneMotion.StopTracking();
+ }
+
+ UpdateTrackingButton();
+ }
+
+ private void CalibrateStartingRotation()
+ {
+ _calibratedOffset = _lastRotation;
+ UpdateRotationOffsetButtons();
+ }
+
+ private void ResetCalibration()
+ {
+ _calibratedOffset = Quaternion.identity;
+ UpdateRotationOffsetButtons();
+ }
+
+ private void UpdateTrackingButton()
+ {
+ if (!_motionAvailable)
+ {
+ _toggleTrackingButton.gameObject.SetActive(false);
+ return;
+ }
+
+ _trackingButtonText.text = (_tracking) ? "Disable tracking" : "Enable tracking";
+ }
+
+ private void UpdateRotationOffsetButtons()
+ {
+ _calibrateStartingRotationButton.gameObject.SetActive(_tracking && _headphonesConnected);
+ _resetCalibrationButton.gameObject.SetActive(_tracking && _headphonesConnected && _calibratedOffset != Quaternion.identity);
+ }
+ #endregion
+ }
+}
diff --git a/Assets/Scripts/SaveLoad/FileHandler.cs.meta b/Assets/HeadphoneMotion/Example/Scripts/HeadphoneMotionExample.cs.meta
similarity index 83%
rename from Assets/Scripts/SaveLoad/FileHandler.cs.meta
rename to Assets/HeadphoneMotion/Example/Scripts/HeadphoneMotionExample.cs.meta
index ca6e02c..f49c51f 100644
--- a/Assets/Scripts/SaveLoad/FileHandler.cs.meta
+++ b/Assets/HeadphoneMotion/Example/Scripts/HeadphoneMotionExample.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 951215b37da7f4ef19c4b5b690208bbd
+guid: 165c7fb012f894bfa9ce01af9d3ebbd2
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/HeadphoneMotion/Plugins.meta b/Assets/HeadphoneMotion/Plugins.meta
new file mode 100644
index 0000000..8134c03
--- /dev/null
+++ b/Assets/HeadphoneMotion/Plugins.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 62957a77825894bbaa93d58de756df37
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/HeadphoneMotion/Plugins/iOS.meta b/Assets/HeadphoneMotion/Plugins/iOS.meta
new file mode 100644
index 0000000..a4c0bde
--- /dev/null
+++ b/Assets/HeadphoneMotion/Plugins/iOS.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e6525336f27db4c908e4c74a39f18f3a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/HeadphoneMotion/Plugins/iOS/HeadphoneMotion.cs b/Assets/HeadphoneMotion/Plugins/iOS/HeadphoneMotion.cs
new file mode 100644
index 0000000..ab06059
--- /dev/null
+++ b/Assets/HeadphoneMotion/Plugins/iOS/HeadphoneMotion.cs
@@ -0,0 +1,184 @@
+//------------------------------------------------------------------------------
+// HeadphoneMotion - Unity plugin that exposes the CMHeadphoneMotionManager API
+// GitHub: https://github.com/anastasiadevana/HeadphoneMotion
+//------------------------------------------------------------------------------
+//
+// MIT License
+//
+// Copyright (c) 2020 Anastasia Devana
+//
+// 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.
+//------------------------------------------------------------------------------
+
+using System;
+using System.Runtime.InteropServices;
+using AOT;
+using UnityEngine;
+
+namespace HearXR
+{
+ ///
+ /// C# wrapper for the HeadphoneMotion native class.
+ ///
+ public class HeadphoneMotion : MonoBehaviour
+ {
+ #region Delegates
+ ///
+ /// Head rotation data from the headphone motion manager API.
+ /// X, Y, Z, and W correspond to the CMQuaternion values.
+ /// See https://developer.apple.com/documentation/coremotion/cmquaternion
+ ///
+ public delegate void HeadRotationAction(double x, double y, double z, double w);
+
+ ///
+ /// Headphone connection status change.
+ ///
+ /// TRUE if headphones were connected, FALSE otherwise.
+ public delegate void HeadphoneConnectionAction(bool connected);
+ #endregion
+
+ #region Events
+ ///
+ /// Head rotation data is available. Passes in raw CMQuaternion x, y, z, w values.
+ ///
+ public static HeadRotationAction OnHeadRotationRaw;
+
+ ///
+ /// Head rotation data is available. Passes in a Quaternion ready to use for rotation.
+ ///
+ public static event Action OnHeadRotationQuaternion;
+
+ ///
+ /// Headphones connection status was changed.
+ ///
+ public static HeadphoneConnectionAction OnHeadphoneConnectionChanged;
+ #endregion
+
+ #region Public Methods
+ ///
+ /// Initialize the Headphone Motion API.
+ /// This method must be called before any others.
+ ///
+ public static void Init()
+ {
+ #if UNITY_IOS && !UNITY_EDITOR
+ setHeadphoneConnectionDelegate(HeadphoneConnectionChanged);
+ setRotationDelegate(RotationUpdated);
+ #else
+ DisplayPlatformError();
+ #endif
+ }
+
+ ///
+ /// Start listening for headphone connection events and tracking headphone motion.
+ /// You must call Init first, and it is advisable to check IsHeadphoneMotionAvailable() before calling this method.
+ ///
+ public static void StartTracking()
+ {
+ #if UNITY_IOS && !UNITY_EDITOR
+ startTracking();
+ #else
+ DisplayPlatformError();
+ #endif
+ }
+
+ ///
+ /// Stop listening for headphone connection events and tracking headphone motion.
+ ///
+ public static void StopTracking()
+ {
+ #if UNITY_IOS && !UNITY_EDITOR
+ stopTracking();
+ #else
+ DisplayPlatformError();
+ #endif
+ }
+
+ ///
+ /// Check if headphone motion API is available.
+ ///
+ /// TRUE is headphone motion API is available, FALSE otherwise.
+ public static bool IsHeadphoneMotionAvailable()
+ {
+ #if UNITY_IOS && !UNITY_EDITOR
+ return isHeadphoneMotionAvailable();
+ #else
+ DisplayPlatformError();
+ return false;
+ #endif
+ }
+
+ ///
+ /// Check if headphones are connected.
+ /// Alternatively, you can subscribe to the OnHeadphoneConnectionChanged() event to be notified when the headphones are
+ /// connected or disconnected.
+ ///
+ /// TRUE if headphones are connected, FALSE otherwise.
+ public static bool AreHeadphonesConnected()
+ {
+ #if UNITY_IOS && !UNITY_EDITOR
+ return areHeadphonesConnected();
+ #else
+ DisplayPlatformError();
+ return false;
+ #endif
+ }
+ #endregion
+
+ #region Private Methods
+ private static void DisplayPlatformError()
+ {
+ Debug.LogWarning("HeadphoneMotion is only available on iOS platform and only at runtime.");
+ }
+ #endregion
+
+ #region Import native class methods
+ [DllImport ("__Internal")]
+ private static extern bool isHeadphoneMotionAvailable();
+
+ [DllImport ("__Internal")]
+ private static extern bool areHeadphonesConnected();
+
+ [DllImport("__Internal")]
+ private static extern bool startTracking();
+
+ [DllImport("__Internal")]
+ private static extern bool stopTracking();
+
+ [DllImport("__Internal")]
+ private static extern void setHeadphoneConnectionDelegate(HeadphoneConnectionAction callback);
+
+ [DllImport("__Internal")]
+ private static extern void setRotationDelegate(HeadRotationAction callback);
+ #endregion
+
+ #region Handle native class callbacks
+ [MonoPInvokeCallback(typeof(HeadphoneConnectionAction))]
+ private static void HeadphoneConnectionChanged(bool connected) {
+ OnHeadphoneConnectionChanged?.Invoke(connected);
+ }
+
+ [MonoPInvokeCallback(typeof(HeadRotationAction))]
+ private static void RotationUpdated(double x, double y, double z, double w) {
+ OnHeadRotationRaw?.Invoke(x, y, z, w);
+ OnHeadRotationQuaternion?.Invoke(new Quaternion((float) x, (float) z, (float) y, (float) -w));
+ }
+ #endregion
+ }
+}
diff --git a/Assets/Scripts/SaveLoad/OpenFile.cs.meta b/Assets/HeadphoneMotion/Plugins/iOS/HeadphoneMotion.cs.meta
similarity index 83%
rename from Assets/Scripts/SaveLoad/OpenFile.cs.meta
rename to Assets/HeadphoneMotion/Plugins/iOS/HeadphoneMotion.cs.meta
index be6e5b4..dff19cb 100644
--- a/Assets/Scripts/SaveLoad/OpenFile.cs.meta
+++ b/Assets/HeadphoneMotion/Plugins/iOS/HeadphoneMotion.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 52901b284991d854c83e2a7bc55a540b
+guid: 649c80d19f1354882acc834c8ed4ab18
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Materials/ExplorationRoom.meta b/Assets/Materials/ExplorationRoom.meta
new file mode 100644
index 0000000..60a7733
--- /dev/null
+++ b/Assets/Materials/ExplorationRoom.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 26909823aca554f888cf384b67b6e883
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/ExplorationRoom/Cardboard.mat b/Assets/Materials/ExplorationRoom/Cardboard.mat
new file mode 100644
index 0000000..e44219e
--- /dev/null
+++ b/Assets/Materials/ExplorationRoom/Cardboard.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Cardboard
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.6784314, g: 0.5294118, b: 0.3843137, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &7975083642814409102
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/ExplorationRoom/Cardboard.mat.meta b/Assets/Materials/ExplorationRoom/Cardboard.mat.meta
new file mode 100644
index 0000000..f6ceaaf
--- /dev/null
+++ b/Assets/Materials/ExplorationRoom/Cardboard.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b4a0ffc8cf7764433b5bdb384cfffee2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment.meta b/Assets/Materials/FinalExperiment.meta
new file mode 100644
index 0000000..b596c64
--- /dev/null
+++ b/Assets/Materials/FinalExperiment.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8af7341b27e3e4fbab14de2b791b7027
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/BookShelf.meta b/Assets/Materials/FinalExperiment/BookShelf.meta
new file mode 100644
index 0000000..7aaea6e
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e33994eb5627e4e1b872700b103932c7
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/BookShelf/Book1.mat b/Assets/Materials/FinalExperiment/BookShelf/Book1.mat
new file mode 100644
index 0000000..9c7fa6c
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/Book1.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Book1
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.59011215, g: 0.8396226, b: 0.6159343, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &2306410441867987432
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/FinalExperiment/BookShelf/Book1.mat.meta b/Assets/Materials/FinalExperiment/BookShelf/Book1.mat.meta
new file mode 100644
index 0000000..2326689
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/Book1.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a87c33999113246b88d1f0ce4682c104
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/BookShelf/Book2.mat b/Assets/Materials/FinalExperiment/BookShelf/Book2.mat
new file mode 100644
index 0000000..2d4aee7
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/Book2.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-3977706121585142386
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Book2
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.44028124, g: 0.6856649, b: 0.9622641, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/FinalExperiment/BookShelf/Book2.mat.meta b/Assets/Materials/FinalExperiment/BookShelf/Book2.mat.meta
new file mode 100644
index 0000000..f0d1adc
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/Book2.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5274314827d0843a98b43f86d7accee2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/BookShelf/Book3.mat b/Assets/Materials/FinalExperiment/BookShelf/Book3.mat
new file mode 100644
index 0000000..0bf37d3
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/Book3.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-7967078498513909762
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Book3
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.75471693, g: 0.60150397, b: 0.55179775, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/FinalExperiment/BookShelf/Book3.mat.meta b/Assets/Materials/FinalExperiment/BookShelf/Book3.mat.meta
new file mode 100644
index 0000000..02a741e
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/Book3.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2be84125ee49f426ea2b389327ab7f8c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/BookShelf/BookShelfBoard.mat b/Assets/Materials/FinalExperiment/BookShelf/BookShelfBoard.mat
new file mode 100644
index 0000000..80c3797
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/BookShelfBoard.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BookShelfBoard
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.8962264, g: 0.8962264, b: 0.8962264, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &6864722433155145099
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/FinalExperiment/BookShelf/BookShelfBoard.mat.meta b/Assets/Materials/FinalExperiment/BookShelf/BookShelfBoard.mat.meta
new file mode 100644
index 0000000..135eef6
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/BookShelfBoard.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e4f52c504c9314780a0b14ca14b51298
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/BookShelf/BookShelfBody.mat b/Assets/Materials/FinalExperiment/BookShelf/BookShelfBody.mat
new file mode 100644
index 0000000..e898b25
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/BookShelfBody.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BookShelfBody
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.6698113, g: 0.66964227, b: 0.6540138, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &5752483716877776860
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/FinalExperiment/BookShelf/BookShelfBody.mat.meta b/Assets/Materials/FinalExperiment/BookShelf/BookShelfBody.mat.meta
new file mode 100644
index 0000000..ec29005
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/BookShelfBody.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8587f644182e347faae1a759e5a333d4
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/BookShelf/File.mat b/Assets/Materials/FinalExperiment/BookShelf/File.mat
new file mode 100644
index 0000000..2c7568b
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/File.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: File
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.9590382, g: 1, b: 0.47641504, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &3474721141945397251
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/FinalExperiment/BookShelf/File.mat.meta b/Assets/Materials/FinalExperiment/BookShelf/File.mat.meta
new file mode 100644
index 0000000..86d227e
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/BookShelf/File.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b1937c8f18b3044a884dc43b6eb8cba4
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/FileCabinet.meta b/Assets/Materials/FinalExperiment/FileCabinet.meta
new file mode 100644
index 0000000..d48ba53
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/FileCabinet.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5e444dbbc77ff4e168f2bad90ba9e009
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/FileCabinet/CabinetBody.mat b/Assets/Materials/FinalExperiment/FileCabinet/CabinetBody.mat
new file mode 100644
index 0000000..9e09152
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/FileCabinet/CabinetBody.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: CabinetBody
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0
+ - _GlossyReflections: 1
+ - _Metallic: 0.3
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &7855183341155613948
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/FinalExperiment/FileCabinet/CabinetBody.mat.meta b/Assets/Materials/FinalExperiment/FileCabinet/CabinetBody.mat.meta
new file mode 100644
index 0000000..06801d7
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/FileCabinet/CabinetBody.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3f06e1fe024dc4152b98e1298bd4beb8
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/FileCabinet/CabinetDrawer.mat b/Assets/Materials/FinalExperiment/FileCabinet/CabinetDrawer.mat
new file mode 100644
index 0000000..ad8e7fd
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/FileCabinet/CabinetDrawer.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: CabinetDrawer
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &5596147633786937984
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/FinalExperiment/FileCabinet/CabinetDrawer.mat.meta b/Assets/Materials/FinalExperiment/FileCabinet/CabinetDrawer.mat.meta
new file mode 100644
index 0000000..eb396da
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/FileCabinet/CabinetDrawer.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 01c8925e836a240dbb0bc2938669c9cf
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/FileCabinet/DrawerHandle.mat b/Assets/Materials/FinalExperiment/FileCabinet/DrawerHandle.mat
new file mode 100644
index 0000000..c69c02d
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/FileCabinet/DrawerHandle.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: DrawerHandle
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0.5
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &3388770639838484048
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/FinalExperiment/FileCabinet/DrawerHandle.mat.meta b/Assets/Materials/FinalExperiment/FileCabinet/DrawerHandle.mat.meta
new file mode 100644
index 0000000..53616d0
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/FileCabinet/DrawerHandle.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d2f8c0ed0acd5499cb05912da276c369
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/PlantPot.meta b/Assets/Materials/FinalExperiment/PlantPot.meta
new file mode 100644
index 0000000..b263204
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/PlantPot.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e98ee0f8ab7fc472faa13471871f4214
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/PlantPot/Branch.mat b/Assets/Materials/FinalExperiment/PlantPot/Branch.mat
new file mode 100644
index 0000000..00ee9ce
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/PlantPot/Branch.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Branch
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.5943396, g: 0.47939652, b: 0.47939652, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &8005359966021708128
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/FinalExperiment/PlantPot/Branch.mat.meta b/Assets/Materials/FinalExperiment/PlantPot/Branch.mat.meta
new file mode 100644
index 0000000..140a718
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/PlantPot/Branch.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 68fbe4c3ecc0f4d539248594f134fefe
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/PlantPot/Pot.mat b/Assets/Materials/FinalExperiment/PlantPot/Pot.mat
new file mode 100644
index 0000000..fe57ec9
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/PlantPot/Pot.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Pot
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.75471693, g: 0.75471693, b: 0.75471693, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &6737433029917780572
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/FinalExperiment/PlantPot/Pot.mat.meta b/Assets/Materials/FinalExperiment/PlantPot/Pot.mat.meta
new file mode 100644
index 0000000..05ee1cf
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/PlantPot/Pot.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 65966c6a1afd84e76929ec3e26948814
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/Table.meta b/Assets/Materials/FinalExperiment/Table.meta
new file mode 100644
index 0000000..2c3618c
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/Table.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a3bf594ecb47a4b59a94552969519840
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/Table/TableBody.mat b/Assets/Materials/FinalExperiment/Table/TableBody.mat
new file mode 100644
index 0000000..ded78db
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/Table/TableBody.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-6049854409594370996
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: TableBody
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.9433962, g: 0.53844786, b: 0.53844786, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/FinalExperiment/Table/TableBody.mat.meta b/Assets/Materials/FinalExperiment/Table/TableBody.mat.meta
new file mode 100644
index 0000000..60e1e64
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/Table/TableBody.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ae26af2daefe248238894f5c16d17f22
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/Table/TableLeg.mat b/Assets/Materials/FinalExperiment/Table/TableLeg.mat
new file mode 100644
index 0000000..9a4cc03
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/Table/TableLeg.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-662165709608434088
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: TableLeg
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.4823529, g: 0.48352683, b: 0.490196, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/FinalExperiment/Table/TableLeg.mat.meta b/Assets/Materials/FinalExperiment/Table/TableLeg.mat.meta
new file mode 100644
index 0000000..6e39e46
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/Table/TableLeg.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5058cd4a5a90a4b85ba77315e3e37eff
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/TrashCan.meta b/Assets/Materials/FinalExperiment/TrashCan.meta
new file mode 100644
index 0000000..3559790
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/TrashCan.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: def30a9e8dae1469dbcbd787ead62f66
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/TrashCan/PaperRoll.mat b/Assets/Materials/FinalExperiment/TrashCan/PaperRoll.mat
new file mode 100644
index 0000000..523954c
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/TrashCan/PaperRoll.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-8249269620421972240
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: PaperRoll
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.8113207, g: 0.8113207, b: 0.8113207, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/FinalExperiment/TrashCan/PaperRoll.mat.meta b/Assets/Materials/FinalExperiment/TrashCan/PaperRoll.mat.meta
new file mode 100644
index 0000000..c23478d
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/TrashCan/PaperRoll.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2d33cd7add26049d49d1452fd8f2489f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/TrashCan/SodaTin.mat b/Assets/Materials/FinalExperiment/TrashCan/SodaTin.mat
new file mode 100644
index 0000000..d038e71
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/TrashCan/SodaTin.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-7072925446730878030
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: SodaTin
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.8301887, g: 0.58348167, b: 0.58348167, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/FinalExperiment/TrashCan/SodaTin.mat.meta b/Assets/Materials/FinalExperiment/TrashCan/SodaTin.mat.meta
new file mode 100644
index 0000000..02994d1
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/TrashCan/SodaTin.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3b84658cbff6a4f1486d2b9c7f979449
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/FinalExperiment/TrashCan/TrashCan.mat b/Assets/Materials/FinalExperiment/TrashCan/TrashCan.mat
new file mode 100644
index 0000000..06b34fe
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/TrashCan/TrashCan.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-52669914537923968
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: TrashCan
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.5199359, g: 0.8679245, b: 0.5865077, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/FinalExperiment/TrashCan/TrashCan.mat.meta b/Assets/Materials/FinalExperiment/TrashCan/TrashCan.mat.meta
new file mode 100644
index 0000000..82860ce
--- /dev/null
+++ b/Assets/Materials/FinalExperiment/TrashCan/TrashCan.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9779d19a2bcbc4e2797e6b8bf1c4c3c5
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/General.meta b/Assets/Materials/General.meta
new file mode 100644
index 0000000..4f3d798
--- /dev/null
+++ b/Assets/Materials/General.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d9e1d3819f7c1467db9b044773489a6c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/General/SoundBall.mat b/Assets/Materials/General/SoundBall.mat
new file mode 100644
index 0000000..7dcb2e8
--- /dev/null
+++ b/Assets/Materials/General/SoundBall.mat
@@ -0,0 +1,137 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: SoundBall
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _SURFACE_TYPE_TRANSPARENT
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses:
+ - DepthOnly
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 1
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _DstBlendAlpha: 10
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0.5
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 1
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 0
+ m_Colors:
+ - _BaseColor: {r: 0.6037736, g: 0.6037736, b: 0.6037736, a: 0}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &5152059728016856796
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/General/SoundBall.mat.meta b/Assets/Materials/General/SoundBall.mat.meta
new file mode 100644
index 0000000..bb7c283
--- /dev/null
+++ b/Assets/Materials/General/SoundBall.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 777a216c8e6d14bfe854f6dbf0a90b7f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/General/Step.mat b/Assets/Materials/General/Step.mat
new file mode 100644
index 0000000..15289d2
--- /dev/null
+++ b/Assets/Materials/General/Step.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-8515576491364230146
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Step
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.51886785, g: 0.51886785, b: 0.51886785, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/General/Step.mat.meta b/Assets/Materials/General/Step.mat.meta
new file mode 100644
index 0000000..e2b8b7a
--- /dev/null
+++ b/Assets/Materials/General/Step.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f95eee7bf52324d50b87178be8227716
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/HeadNodTutorial.meta b/Assets/Materials/HeadNodTutorial.meta
new file mode 100644
index 0000000..e010bef
--- /dev/null
+++ b/Assets/Materials/HeadNodTutorial.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 23faf4df71c7c4c8d8ac85051ed43454
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/HeadNodTutorial/SpareWaterTank.mat b/Assets/Materials/HeadNodTutorial/SpareWaterTank.mat
new file mode 100644
index 0000000..d80779e
--- /dev/null
+++ b/Assets/Materials/HeadNodTutorial/SpareWaterTank.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: SpareWaterTank
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.8867924, g: 0.30662602, b: 0.2635279, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &5963525381522743427
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/HeadNodTutorial/SpareWaterTank.mat.meta b/Assets/Materials/HeadNodTutorial/SpareWaterTank.mat.meta
new file mode 100644
index 0000000..9c06c14
--- /dev/null
+++ b/Assets/Materials/HeadNodTutorial/SpareWaterTank.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a33af8b766c774de0935533270f050dc
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Instruction.meta b/Assets/Materials/Instruction.meta
new file mode 100644
index 0000000..55a4921
--- /dev/null
+++ b/Assets/Materials/Instruction.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fbe189f8ec7024336839819edf040b6b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Instruction/InstructionPanelNext.mat b/Assets/Materials/Instruction/InstructionPanelNext.mat
new file mode 100644
index 0000000..bdff1b9
--- /dev/null
+++ b/Assets/Materials/Instruction/InstructionPanelNext.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-1042661568102389814
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: InstructionPanelNext
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.21867204, g: 0.735849, b: 0.38238272, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Instruction/InstructionPanelNext.mat.meta b/Assets/Materials/Instruction/InstructionPanelNext.mat.meta
new file mode 100644
index 0000000..c209704
--- /dev/null
+++ b/Assets/Materials/Instruction/InstructionPanelNext.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5d8baab4714b849d78fbd09f3c73a403
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Instruction/InstructionPanelPrev.mat b/Assets/Materials/Instruction/InstructionPanelPrev.mat
new file mode 100644
index 0000000..e599328
--- /dev/null
+++ b/Assets/Materials/Instruction/InstructionPanelPrev.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: InstructionPanelPrev
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.7264151, g: 0.26891327, b: 0.18160373, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &7169094048714349813
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Instruction/InstructionPanelPrev.mat.meta b/Assets/Materials/Instruction/InstructionPanelPrev.mat.meta
new file mode 100644
index 0000000..4983563
--- /dev/null
+++ b/Assets/Materials/Instruction/InstructionPanelPrev.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4cf57c85ed81c442c910720ee8816df9
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/MaterialLearning.meta b/Assets/Materials/MaterialLearning.meta
new file mode 100644
index 0000000..a0a6e4f
--- /dev/null
+++ b/Assets/Materials/MaterialLearning.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7614f330617c44ca9a54a44921fc3145
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/MaterialLearning/InteractiveMaterial.mat b/Assets/Materials/MaterialLearning/InteractiveMaterial.mat
new file mode 100644
index 0000000..d87ccf0
--- /dev/null
+++ b/Assets/Materials/MaterialLearning/InteractiveMaterial.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-7135214548958678584
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: InteractiveMaterial
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.462745, g: 0.70980394, b: 0.77254903, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/MaterialLearning/InteractiveMaterial.mat.meta b/Assets/Materials/MaterialLearning/InteractiveMaterial.mat.meta
new file mode 100644
index 0000000..938527d
--- /dev/null
+++ b/Assets/Materials/MaterialLearning/InteractiveMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4fdb375a0da2d482485546ed4b56f753
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/MaterialLearning/SwitchButton.mat b/Assets/Materials/MaterialLearning/SwitchButton.mat
new file mode 100644
index 0000000..22e470c
--- /dev/null
+++ b/Assets/Materials/MaterialLearning/SwitchButton.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-8213220793794748876
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: SwitchButton
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.93333334, g: 0.93333334, b: 0.89411765, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/MaterialLearning/SwitchButton.mat.meta b/Assets/Materials/MaterialLearning/SwitchButton.mat.meta
new file mode 100644
index 0000000..9950d67
--- /dev/null
+++ b/Assets/Materials/MaterialLearning/SwitchButton.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 143de8d2cd09b4e7aa917b8bbd31563c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/NavigationSystem.meta b/Assets/Materials/NavigationSystem.meta
new file mode 100644
index 0000000..1c1fe86
--- /dev/null
+++ b/Assets/Materials/NavigationSystem.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 826907b068a0f4e3f8863a82c9556ea3
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/NavigationSystem/NavSpeaker.mat b/Assets/Materials/NavigationSystem/NavSpeaker.mat
new file mode 100644
index 0000000..fc18578
--- /dev/null
+++ b/Assets/Materials/NavigationSystem/NavSpeaker.mat
@@ -0,0 +1,139 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-5222852670656367414
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: NavSpeaker
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SURFACE_TYPE_TRANSPARENT
+ m_InvalidKeywords:
+ - _ALPHABLEND_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses:
+ - DepthOnly
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _DstBlendAlpha: 10
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 2
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 1
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 0
+ m_Colors:
+ - _BaseColor: {r: 0, g: 0.7356219, b: 1, a: 0}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/NavigationSystem/NavSpeaker.mat.meta b/Assets/Materials/NavigationSystem/NavSpeaker.mat.meta
new file mode 100644
index 0000000..fe849b7
--- /dev/null
+++ b/Assets/Materials/NavigationSystem/NavSpeaker.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 46eeaa864bb34418bbbe3b64f1c57fe5
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/NavigationSystem/WayPoint.mat b/Assets/Materials/NavigationSystem/WayPoint.mat
new file mode 100644
index 0000000..dde1bba
--- /dev/null
+++ b/Assets/Materials/NavigationSystem/WayPoint.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-5329513155185686024
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: WayPoint
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 0.06613081, b: 0.023584902, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/NavigationSystem/WayPoint.mat.meta b/Assets/Materials/NavigationSystem/WayPoint.mat.meta
new file mode 100644
index 0000000..1a3e8d0
--- /dev/null
+++ b/Assets/Materials/NavigationSystem/WayPoint.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 035c452ea93ac4fef8e7b010445c8976
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects.meta b/Assets/Materials/Objects.meta
new file mode 100644
index 0000000..647f01e
--- /dev/null
+++ b/Assets/Materials/Objects.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8ab67cc11f1b6a04d9d87575ab5dc6ab
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects/BlackBoard.mat b/Assets/Materials/Objects/BlackBoard.mat
new file mode 100644
index 0000000..b6602ff
--- /dev/null
+++ b/Assets/Materials/Objects/BlackBoard.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-4773787889458799361
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BlackBoard
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.9575471, g: 1, b: 1, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Objects/BlackBoard.mat.meta b/Assets/Materials/Objects/BlackBoard.mat.meta
new file mode 100644
index 0000000..18eb136
--- /dev/null
+++ b/Assets/Materials/Objects/BlackBoard.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4ec6f3c6917a8406089a898153c73b70
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects/ChairBody.mat b/Assets/Materials/Objects/ChairBody.mat
new file mode 100644
index 0000000..a452418
--- /dev/null
+++ b/Assets/Materials/Objects/ChairBody.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-5347484485990189996
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ChairBody
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.7075471, g: 0.36378604, b: 0.36378604, a: 1}
+ - _Color: {r: 0.7075471, g: 0.363786, b: 0.363786, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Objects/ChairBody.mat.meta b/Assets/Materials/Objects/ChairBody.mat.meta
new file mode 100644
index 0000000..20c9053
--- /dev/null
+++ b/Assets/Materials/Objects/ChairBody.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6959e8cb7e0d644efae8ce7cc9925588
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects/ChairBody2.mat b/Assets/Materials/Objects/ChairBody2.mat
new file mode 100644
index 0000000..b30e056
--- /dev/null
+++ b/Assets/Materials/Objects/ChairBody2.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-6579090465961169747
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ChairBody2
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.5568628, g: 0.74115515, b: 0.8862745, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Objects/ChairBody2.mat.meta b/Assets/Materials/Objects/ChairBody2.mat.meta
new file mode 100644
index 0000000..28a6aa4
--- /dev/null
+++ b/Assets/Materials/Objects/ChairBody2.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 875e27ef161f741dda7df909f48a3f5f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects/Door.mat b/Assets/Materials/Objects/Door.mat
new file mode 100644
index 0000000..959f70b
--- /dev/null
+++ b/Assets/Materials/Objects/Door.mat
@@ -0,0 +1,138 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Door
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _SURFACE_TYPE_TRANSPARENT
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses:
+ - DepthOnly
+ - SHADOWCASTER
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 1
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _DstBlendAlpha: 10
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 1
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 0
+ m_Colors:
+ - _BaseColor: {r: 0.51886785, g: 0.51886785, b: 0.51886785, a: 0.65882355}
+ - _Color: {r: 0.5188678, g: 0.5188678, b: 0.5188678, a: 0.65882355}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &2187547949262985558
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Objects/Door.mat.meta b/Assets/Materials/Objects/Door.mat.meta
new file mode 100644
index 0000000..258a27f
--- /dev/null
+++ b/Assets/Materials/Objects/Door.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 727f842230e42425ab4006e8ca5323e2
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects/Metal.mat b/Assets/Materials/Objects/Metal.mat
new file mode 100644
index 0000000..8f87073
--- /dev/null
+++ b/Assets/Materials/Objects/Metal.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Metal
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.77
+ - _GlossyReflections: 1
+ - _Metallic: 0.17
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.77
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.33018863, g: 0.33018863, b: 0.33018863, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &8539573880558443830
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Objects/Metal.mat.meta b/Assets/Materials/Objects/Metal.mat.meta
new file mode 100644
index 0000000..5e68510
--- /dev/null
+++ b/Assets/Materials/Objects/Metal.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9500a3619744e47a7a45a59cb38f06a7
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects/TableLeg.mat b/Assets/Materials/Objects/TableLeg.mat
new file mode 100644
index 0000000..950b0e1
--- /dev/null
+++ b/Assets/Materials/Objects/TableLeg.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-8756888238527504670
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: TableLeg
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0.32
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.6037736, g: 0.5895336, b: 0.5895336, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Objects/TableLeg.mat.meta b/Assets/Materials/Objects/TableLeg.mat.meta
new file mode 100644
index 0000000..e93fd77
--- /dev/null
+++ b/Assets/Materials/Objects/TableLeg.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0e1b0517ed493422ea49a42eb32f65b5
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects/TablePlate.mat b/Assets/Materials/Objects/TablePlate.mat
new file mode 100644
index 0000000..e0b9f11
--- /dev/null
+++ b/Assets/Materials/Objects/TablePlate.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-3741375871346840753
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: TablePlate
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.45812565, g: 0.6698113, b: 0.6527006, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Objects/TablePlate.mat.meta b/Assets/Materials/Objects/TablePlate.mat.meta
new file mode 100644
index 0000000..c96cb5e
--- /dev/null
+++ b/Assets/Materials/Objects/TablePlate.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e2d2e5893c4fd485fb5d2d2f2bcb12a6
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects/WaterMachine.mat b/Assets/Materials/Objects/WaterMachine.mat
new file mode 100644
index 0000000..f5e9185
--- /dev/null
+++ b/Assets/Materials/Objects/WaterMachine.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: WaterMachine
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.87385714, g: 0.8773585, b: 0.87322, a: 1}
+ - _Color: {r: 0.87385714, g: 0.8773585, b: 0.87322, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &976314560013300990
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Objects/WaterMachine.mat.meta b/Assets/Materials/Objects/WaterMachine.mat.meta
new file mode 100644
index 0000000..425f2af
--- /dev/null
+++ b/Assets/Materials/Objects/WaterMachine.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c5c0c4bfe8fde4cec8dcf2c6ffd640ff
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects/WaterTank.mat b/Assets/Materials/Objects/WaterTank.mat
new file mode 100644
index 0000000..b9f7a37
--- /dev/null
+++ b/Assets/Materials/Objects/WaterTank.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: WaterTank
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.47641504, g: 0.8560141, b: 1, a: 1}
+ - _Color: {r: 0.47641504, g: 0.8560141, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &6717066587380792296
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Objects/WaterTank.mat.meta b/Assets/Materials/Objects/WaterTank.mat.meta
new file mode 100644
index 0000000..590f524
--- /dev/null
+++ b/Assets/Materials/Objects/WaterTank.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e96aeec592999464c85fe0b495f8f72b
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Objects/WhiteRoom.mat b/Assets/Materials/Objects/WhiteRoom.mat
new file mode 100644
index 0000000..0e198c8
--- /dev/null
+++ b/Assets/Materials/Objects/WhiteRoom.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: WhiteRoom
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.77193844, g: 0.78292316, b: 0.7830188, a: 1}
+ - _Color: {r: 0.77193844, g: 0.78292316, b: 0.7830188, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &8538028941451357452
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Objects/WhiteRoom.mat.meta b/Assets/Materials/Objects/WhiteRoom.mat.meta
new file mode 100644
index 0000000..eefd8b3
--- /dev/null
+++ b/Assets/Materials/Objects/WhiteRoom.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0e5eb503cb1d24e10950aa10e051f967
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/PlaneMaterial.mat b/Assets/Materials/PlaneMaterial.mat
index f1c06ac..d6e74b9 100644
--- a/Assets/Materials/PlaneMaterial.mat
+++ b/Assets/Materials/PlaneMaterial.mat
@@ -1,5 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-7811434903570301602
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
@@ -8,7 +21,7 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlaneMaterial
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
@@ -17,12 +30,17 @@ Material:
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
- stringTagMap: {}
+ stringTagMap:
+ RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -59,12 +77,38 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
- _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
- _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
@@ -72,12 +116,20 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
- _UVSec: 0
+ - _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- - _Color: {r: 0.54145116, g: 0.43164828, b: 0.9433962, a: 1}
+ - _BaseColor: {r: 0.54145104, g: 0.43164825, b: 0.9433962, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
diff --git a/Assets/Materials/Scavenger Hunt.meta b/Assets/Materials/Scavenger Hunt.meta
new file mode 100644
index 0000000..efe6a87
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0b5b039df35804d699c20387f095c159
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Scavenger Hunt/AmbientAudioPlayer.mat b/Assets/Materials/Scavenger Hunt/AmbientAudioPlayer.mat
new file mode 100644
index 0000000..31cd5ce
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/AmbientAudioPlayer.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-6054827363807661763
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: AmbientAudioPlayer
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.87058824, g: 0.85490197, b: 0.85882354, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Scavenger Hunt/AmbientAudioPlayer.mat.meta b/Assets/Materials/Scavenger Hunt/AmbientAudioPlayer.mat.meta
new file mode 100644
index 0000000..0e0f717
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/AmbientAudioPlayer.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 32862c29193004e33ad561515aa86a0d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Scavenger Hunt/BrickFloor.mat b/Assets/Materials/Scavenger Hunt/BrickFloor.mat
new file mode 100644
index 0000000..62c1a61
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/BrickFloor.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-1594609924472198034
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BrickFloor
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.69411767, g: 0.69411767, b: 0.7058824, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Scavenger Hunt/BrickFloor.mat.meta b/Assets/Materials/Scavenger Hunt/BrickFloor.mat.meta
new file mode 100644
index 0000000..f1905cf
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/BrickFloor.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d141b23087aac4444838538860f05dae
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Scavenger Hunt/CarpetFloor.mat b/Assets/Materials/Scavenger Hunt/CarpetFloor.mat
new file mode 100644
index 0000000..810dda1
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/CarpetFloor.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: CarpetFloor
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.36862743, g: 0.145098, b: 0.090196066, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &3961905512606199424
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Scavenger Hunt/CarpetFloor.mat.meta b/Assets/Materials/Scavenger Hunt/CarpetFloor.mat.meta
new file mode 100644
index 0000000..582f208
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/CarpetFloor.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f4939cdb32ea549b5a6f20826a39f04d
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Scavenger Hunt/Hazard.mat b/Assets/Materials/Scavenger Hunt/Hazard.mat
new file mode 100644
index 0000000..619e55a
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/Hazard.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-4083100981957169436
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Hazard
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.63529414, g: 0.64705884, b: 0.68627447, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Scavenger Hunt/Hazard.mat.meta b/Assets/Materials/Scavenger Hunt/Hazard.mat.meta
new file mode 100644
index 0000000..0b59e91
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/Hazard.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 750593011c8ae4ba8bdf58f23495aafd
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Scavenger Hunt/ScavengerHuntWall.mat b/Assets/Materials/Scavenger Hunt/ScavengerHuntWall.mat
new file mode 100644
index 0000000..0be6aec
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/ScavengerHuntWall.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: ScavengerHuntWall
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.67058825, g: 0.5490196, b: 0.462745, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &6096219932406528763
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Scavenger Hunt/ScavengerHuntWall.mat.meta b/Assets/Materials/Scavenger Hunt/ScavengerHuntWall.mat.meta
new file mode 100644
index 0000000..7b2c251
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/ScavengerHuntWall.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 23fd26ec198914f0586d88d781c50fcc
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Scavenger Hunt/WoodFloor.mat b/Assets/Materials/Scavenger Hunt/WoodFloor.mat
new file mode 100644
index 0000000..d30bc2e
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/WoodFloor.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: WoodFloor
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.462745, g: 0.40392154, b: 0.3607843, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &2338509337553235954
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Scavenger Hunt/WoodFloor.mat.meta b/Assets/Materials/Scavenger Hunt/WoodFloor.mat.meta
new file mode 100644
index 0000000..e9d0818
--- /dev/null
+++ b/Assets/Materials/Scavenger Hunt/WoodFloor.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bee89a04f9f3740ecae95d8dd3263b29
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/ShorelineTutorial.meta b/Assets/Materials/ShorelineTutorial.meta
new file mode 100644
index 0000000..348979e
--- /dev/null
+++ b/Assets/Materials/ShorelineTutorial.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 77ca8ef64ec48493d9bc29b06446058a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/ShorelineTutorial/Boundary.mat b/Assets/Materials/ShorelineTutorial/Boundary.mat
new file mode 100644
index 0000000..eea5e99
--- /dev/null
+++ b/Assets/Materials/ShorelineTutorial/Boundary.mat
@@ -0,0 +1,139 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-3867123846660133318
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Boundary
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SURFACE_TYPE_TRANSPARENT
+ m_InvalidKeywords:
+ - _ALPHABLEND_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses:
+ - DepthOnly
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _DstBlendAlpha: 10
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 2
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 1
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 0
+ m_Colors:
+ - _BaseColor: {r: 1, g: 0, b: 0, a: 0.11764706}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/ShorelineTutorial/Boundary.mat.meta b/Assets/Materials/ShorelineTutorial/Boundary.mat.meta
new file mode 100644
index 0000000..1cfa84d
--- /dev/null
+++ b/Assets/Materials/ShorelineTutorial/Boundary.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a939045c6b148426ca1d05b5b2c1253f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/ShorelineTutorial/Box.mat b/Assets/Materials/ShorelineTutorial/Box.mat
new file mode 100644
index 0000000..f8c898c
--- /dev/null
+++ b/Assets/Materials/ShorelineTutorial/Box.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-180005806391681982
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Box
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.7830188, g: 0.5663357, b: 0.26962435, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/ShorelineTutorial/Box.mat.meta b/Assets/Materials/ShorelineTutorial/Box.mat.meta
new file mode 100644
index 0000000..76e325d
--- /dev/null
+++ b/Assets/Materials/ShorelineTutorial/Box.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 756f11c4c5391431fa40a38d2637d29c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/ShorelineTutorial/Rock.mat b/Assets/Materials/ShorelineTutorial/Rock.mat
new file mode 100644
index 0000000..f48b894
--- /dev/null
+++ b/Assets/Materials/ShorelineTutorial/Rock.mat
@@ -0,0 +1,139 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Rock
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SURFACE_TYPE_TRANSPARENT
+ m_InvalidKeywords:
+ - _ALPHABLEND_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses:
+ - DepthOnly
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _DstBlendAlpha: 10
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 2
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 1
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 0
+ m_Colors:
+ - _BaseColor: {r: 0.5333333, g: 0.69803923, b: 0.8, a: 0.78431374}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &4633930267947662719
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/ShorelineTutorial/Rock.mat.meta b/Assets/Materials/ShorelineTutorial/Rock.mat.meta
new file mode 100644
index 0000000..7aa6f4e
--- /dev/null
+++ b/Assets/Materials/ShorelineTutorial/Rock.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b7829272a2c934d6ea7d5a329a49595f
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/ShorelineTutorial/Wall.mat b/Assets/Materials/ShorelineTutorial/Wall.mat
new file mode 100644
index 0000000..b1cd733
--- /dev/null
+++ b/Assets/Materials/ShorelineTutorial/Wall.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-7129133019359646786
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Wall
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.32395867, g: 0.75471693, b: 0.39384964, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/ShorelineTutorial/Wall.mat.meta b/Assets/Materials/ShorelineTutorial/Wall.mat.meta
new file mode 100644
index 0000000..5aa8894
--- /dev/null
+++ b/Assets/Materials/ShorelineTutorial/Wall.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 80a63a02725634a428848ec15d271ab7
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Stone.mat b/Assets/Materials/Stone.mat
new file mode 100644
index 0000000..2e02ac2
--- /dev/null
+++ b/Assets/Materials/Stone.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-8502819588745790243
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Stone
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.5686274, g: 0.5568628, b: 0.5215686, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Stone.mat.meta b/Assets/Materials/Stone.mat.meta
new file mode 100644
index 0000000..5bd8c36
--- /dev/null
+++ b/Assets/Materials/Stone.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fef84c894e2854a47aa2690916812ac0
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration.meta b/Assets/Materials/StreetExploration.meta
new file mode 100644
index 0000000..648fb91
--- /dev/null
+++ b/Assets/Materials/StreetExploration.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 098e64ae18acb4775ab743a42d4c65a8
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/Boundary.mat b/Assets/Materials/StreetExploration/Boundary.mat
new file mode 100644
index 0000000..ebb1a71
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Boundary.mat
@@ -0,0 +1,139 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-3031513087341793913
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Boundary
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SURFACE_TYPE_TRANSPARENT
+ m_InvalidKeywords:
+ - _ALPHABLEND_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses:
+ - DepthOnly
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _DstBlendAlpha: 10
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 2
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 1
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 0
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 0.14901961}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/StreetExploration/Boundary.mat.meta b/Assets/Materials/StreetExploration/Boundary.mat.meta
new file mode 100644
index 0000000..9621932
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Boundary.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 00cf32430e0ff428791a4e089b887006
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/Building.meta b/Assets/Materials/StreetExploration/Building.meta
new file mode 100644
index 0000000..1b643ae
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 85d014eacfad6416eb35e84f70b8841b
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/Building/Building.mat b/Assets/Materials/StreetExploration/Building/Building.mat
new file mode 100644
index 0000000..f3d7cf9
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building/Building.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Building
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.47450978, g: 0.4078431, b: 0.36862743, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &9003988971553985503
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/StreetExploration/Building/Building.mat.meta b/Assets/Materials/StreetExploration/Building/Building.mat.meta
new file mode 100644
index 0000000..e3703cd
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building/Building.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b07187590c3c04861981d31ae3e6f378
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/Building/BuildingEntrance.mat b/Assets/Materials/StreetExploration/Building/BuildingEntrance.mat
new file mode 100644
index 0000000..6bf3783
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building/BuildingEntrance.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BuildingEntrance
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.97647053, g: 0.8627451, b: 0.77254903, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &4037259456255764357
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/StreetExploration/Building/BuildingEntrance.mat.meta b/Assets/Materials/StreetExploration/Building/BuildingEntrance.mat.meta
new file mode 100644
index 0000000..48b8f4f
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building/BuildingEntrance.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c94eb05db15e1492cb77c85ef2e2bccc
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/Building/BuildingWindow.mat b/Assets/Materials/StreetExploration/Building/BuildingWindow.mat
new file mode 100644
index 0000000..7338385
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building/BuildingWindow.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-6716022210872797290
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BuildingWindow
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.6792453, g: 0.66954625, b: 0.6311855, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/StreetExploration/Building/BuildingWindow.mat.meta b/Assets/Materials/StreetExploration/Building/BuildingWindow.mat.meta
new file mode 100644
index 0000000..8763ed7
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building/BuildingWindow.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fbb4ac9893d2d45a2a9de9434e87d7df
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/Building/Edge.mat b/Assets/Materials/StreetExploration/Building/Edge.mat
new file mode 100644
index 0000000..38f651e
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building/Edge.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Edge
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &186940048518767207
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/StreetExploration/Building/Edge.mat.meta b/Assets/Materials/StreetExploration/Building/Edge.mat.meta
new file mode 100644
index 0000000..dc0a19e
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building/Edge.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2fcac7c7f73874b70adc32250e2fef8c
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/Building/Roof.mat b/Assets/Materials/StreetExploration/Building/Roof.mat
new file mode 100644
index 0000000..58f1d5c
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building/Roof.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Roof
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &3020262005409899892
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/StreetExploration/Building/Roof.mat.meta b/Assets/Materials/StreetExploration/Building/Roof.mat.meta
new file mode 100644
index 0000000..5fce12b
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Building/Roof.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4eca97cc9a89c4d4e96666a2abbc0dde
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/BusStation.meta b/Assets/Materials/StreetExploration/BusStation.meta
new file mode 100644
index 0000000..e12c2a5
--- /dev/null
+++ b/Assets/Materials/StreetExploration/BusStation.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e11645090c23e40baa40ddf69f1340b8
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/BusStation/BusStation.mat b/Assets/Materials/StreetExploration/BusStation/BusStation.mat
new file mode 100644
index 0000000..54c5994
--- /dev/null
+++ b/Assets/Materials/StreetExploration/BusStation/BusStation.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-4542018080199958485
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: BusStation
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.21698105, g: 0.21698105, b: 0.21698105, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/StreetExploration/BusStation/BusStation.mat.meta b/Assets/Materials/StreetExploration/BusStation/BusStation.mat.meta
new file mode 100644
index 0000000..88d6c21
--- /dev/null
+++ b/Assets/Materials/StreetExploration/BusStation/BusStation.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4799cf15a222b44058e63ac3578e9f84
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/BusStation/WaitingRoom.mat b/Assets/Materials/StreetExploration/BusStation/WaitingRoom.mat
new file mode 100644
index 0000000..5f0032d
--- /dev/null
+++ b/Assets/Materials/StreetExploration/BusStation/WaitingRoom.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: WaitingRoom
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.5483301, g: 0.57547164, b: 0.51846737, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &1515425062468446318
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/StreetExploration/BusStation/WaitingRoom.mat.meta b/Assets/Materials/StreetExploration/BusStation/WaitingRoom.mat.meta
new file mode 100644
index 0000000..bdb3439
--- /dev/null
+++ b/Assets/Materials/StreetExploration/BusStation/WaitingRoom.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6aa370d283e0c42d5a7a7d917658e29e
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/Park.meta b/Assets/Materials/StreetExploration/Park.meta
new file mode 100644
index 0000000..b8d696e
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Park.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5818eedb80ee54f19aafad4a49cb8420
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/Park/GrassLawn.mat b/Assets/Materials/StreetExploration/Park/GrassLawn.mat
new file mode 100644
index 0000000..14cb213
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Park/GrassLawn.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-3202905651171612391
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: GrassLawn
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.5294118, g: 0.6156863, b: 0.31764704, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/StreetExploration/Park/GrassLawn.mat.meta b/Assets/Materials/StreetExploration/Park/GrassLawn.mat.meta
new file mode 100644
index 0000000..4649693
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Park/GrassLawn.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5cc5dc412f8734ce5a967186f9e16951
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/StreetExploration/Road.mat b/Assets/Materials/StreetExploration/Road.mat
new file mode 100644
index 0000000..b6ca04f
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Road.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Road
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &8578709020301894341
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/StreetExploration/Road.mat.meta b/Assets/Materials/StreetExploration/Road.mat.meta
new file mode 100644
index 0000000..2a3252f
--- /dev/null
+++ b/Assets/Materials/StreetExploration/Road.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d14edfd03f4c146bab094192f0542fb1
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Tutorial2.meta b/Assets/Materials/Tutorial2.meta
new file mode 100644
index 0000000..ef4bdb7
--- /dev/null
+++ b/Assets/Materials/Tutorial2.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c2c21e784555c437e965a763c11f4917
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Tutorial2/Column.mat b/Assets/Materials/Tutorial2/Column.mat
new file mode 100644
index 0000000..778a625
--- /dev/null
+++ b/Assets/Materials/Tutorial2/Column.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-5596690878637502216
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Column
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.95283014, g: 0.31011924, b: 0.38305688, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Tutorial2/Column.mat.meta b/Assets/Materials/Tutorial2/Column.mat.meta
new file mode 100644
index 0000000..57ec436
--- /dev/null
+++ b/Assets/Materials/Tutorial2/Column.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 137499c046a8f4777bb67f389115943e
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Tutorial2/Floor.mat b/Assets/Materials/Tutorial2/Floor.mat
new file mode 100644
index 0000000..430ca87
--- /dev/null
+++ b/Assets/Materials/Tutorial2/Floor.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Floor
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.60784316, g: 0.462745, b: 0.32549015, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &8655606778221210024
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Tutorial2/Floor.mat.meta b/Assets/Materials/Tutorial2/Floor.mat.meta
new file mode 100644
index 0000000..0d826a9
--- /dev/null
+++ b/Assets/Materials/Tutorial2/Floor.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bbd953f201d4a447f960227e7b2f5ce9
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Tutorial2/Tutorial2_Wall_Mat.mat b/Assets/Materials/Tutorial2/Tutorial2_Wall_Mat.mat
new file mode 100644
index 0000000..eb9eaa0
--- /dev/null
+++ b/Assets/Materials/Tutorial2/Tutorial2_Wall_Mat.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-5695490940843913592
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Tutorial2_Wall_Mat
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.95283014, g: 0.5271307, b: 0.112362005, a: 0}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Tutorial2/Tutorial2_Wall_Mat.mat.meta b/Assets/Materials/Tutorial2/Tutorial2_Wall_Mat.mat.meta
new file mode 100644
index 0000000..011c3f9
--- /dev/null
+++ b/Assets/Materials/Tutorial2/Tutorial2_Wall_Mat.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d9346ec1fb4c84ea2809976dd2563952
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Tutorial2/Window.mat b/Assets/Materials/Tutorial2/Window.mat
new file mode 100644
index 0000000..724dc84
--- /dev/null
+++ b/Assets/Materials/Tutorial2/Window.mat
@@ -0,0 +1,137 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-5510900340094327123
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Window
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _SURFACE_TYPE_TRANSPARENT
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses:
+ - DepthOnly
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 1
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _DstBlendAlpha: 10
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 3
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 1
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 0
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 0.12941177}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/Tutorial2/Window.mat.meta b/Assets/Materials/Tutorial2/Window.mat.meta
new file mode 100644
index 0000000..18f44f8
--- /dev/null
+++ b/Assets/Materials/Tutorial2/Window.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 51e1675bbe60d46a9a0d901b152c1287
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/User.meta b/Assets/Materials/User.meta
new file mode 100644
index 0000000..cd47cc4
--- /dev/null
+++ b/Assets/Materials/User.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 567410ce21ef748b48af4f703915325a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/User/Cane.mat b/Assets/Materials/User/Cane.mat
new file mode 100644
index 0000000..5bf40d0
--- /dev/null
+++ b/Assets/Materials/User/Cane.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-6971545230062812588
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Cane
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.9245283, g: 0.039248828, b: 0.039248828, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/User/Cane.mat.meta b/Assets/Materials/User/Cane.mat.meta
new file mode 100644
index 0000000..2181244
--- /dev/null
+++ b/Assets/Materials/User/Cane.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ef469c1a54b5248ec8befe19674d1404
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/User/Eye.mat b/Assets/Materials/User/Eye.mat
new file mode 100644
index 0000000..1c1cfcf
--- /dev/null
+++ b/Assets/Materials/User/Eye.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-3142694107821962369
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Eye
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0, g: 0, b: 0, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/User/Eye.mat.meta b/Assets/Materials/User/Eye.mat.meta
new file mode 100644
index 0000000..b4cb0f2
--- /dev/null
+++ b/Assets/Materials/User/Eye.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 03ba0e607c4a34e178b5c2f1a6e32de9
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/User/GripPoint.mat b/Assets/Materials/User/GripPoint.mat
new file mode 100644
index 0000000..cc7e9ae
--- /dev/null
+++ b/Assets/Materials/User/GripPoint.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: GripPoint
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.9693312, g: 1, b: 0, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &8270309069875949034
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/User/GripPoint.mat.meta b/Assets/Materials/User/GripPoint.mat.meta
new file mode 100644
index 0000000..205d728
--- /dev/null
+++ b/Assets/Materials/User/GripPoint.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2ab3028f7be3346d98b668a152d90f9b
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/User/HumanBody.mat b/Assets/Materials/User/HumanBody.mat
new file mode 100644
index 0000000..9fc7e63
--- /dev/null
+++ b/Assets/Materials/User/HumanBody.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: HumanBody
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.14208788, g: 0.1824688, b: 0.9716981, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &3976891832081727854
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/User/HumanBody.mat.meta b/Assets/Materials/User/HumanBody.mat.meta
new file mode 100644
index 0000000..d9ff150
--- /dev/null
+++ b/Assets/Materials/User/HumanBody.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 851d563ce33224130a9d88696c5305fe
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/User/MusicPlayer.mat b/Assets/Materials/User/MusicPlayer.mat
new file mode 100644
index 0000000..43928e9
--- /dev/null
+++ b/Assets/Materials/User/MusicPlayer.mat
@@ -0,0 +1,139 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: MusicPlayer
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SURFACE_TYPE_TRANSPARENT
+ m_InvalidKeywords:
+ - _ALPHABLEND_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses:
+ - DepthOnly
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _DstBlendAlpha: 10
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 2
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 1
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 0
+ m_Colors:
+ - _BaseColor: {r: 0.4905215, g: 0.58834624, b: 0.6886792, a: 0}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &1959476837612146943
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/User/MusicPlayer.mat.meta b/Assets/Materials/User/MusicPlayer.mat.meta
new file mode 100644
index 0000000..33aac9e
--- /dev/null
+++ b/Assets/Materials/User/MusicPlayer.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 428624ac4d32546dba30b1e482b2f9e1
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/User/Nose.mat b/Assets/Materials/User/Nose.mat
new file mode 100644
index 0000000..06d9d38
--- /dev/null
+++ b/Assets/Materials/User/Nose.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-3640193268969457179
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Nose
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.92941177, g: 0.5686274, b: 0.12941173, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/User/Nose.mat.meta b/Assets/Materials/User/Nose.mat.meta
new file mode 100644
index 0000000..5440bd4
--- /dev/null
+++ b/Assets/Materials/User/Nose.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 85efad687f9364aa3a59576ac6ea4d03
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/User/SurroundRadar.mat b/Assets/Materials/User/SurroundRadar.mat
new file mode 100644
index 0000000..734915e
--- /dev/null
+++ b/Assets/Materials/User/SurroundRadar.mat
@@ -0,0 +1,139 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-2771111246898614812
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: SurroundRadar
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SURFACE_TYPE_TRANSPARENT
+ m_InvalidKeywords:
+ - _ALPHABLEND_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses:
+ - DepthOnly
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _DstBlendAlpha: 10
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 2
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 1
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 0
+ m_Colors:
+ - _BaseColor: {r: 1, g: 1, b: 1, a: 0}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
diff --git a/Assets/Materials/User/SurroundRadar.mat.meta b/Assets/Materials/User/SurroundRadar.mat.meta
new file mode 100644
index 0000000..3075ae7
--- /dev/null
+++ b/Assets/Materials/User/SurroundRadar.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 066beb97706bd4b1c867caebf07b2215
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Wall2Material.mat b/Assets/Materials/Wall2Material.mat
index b81a8b7..fc7a8bc 100644
--- a/Assets/Materials/Wall2Material.mat
+++ b/Assets/Materials/Wall2Material.mat
@@ -8,7 +8,7 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Wall2Material
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
@@ -17,12 +17,17 @@ Material:
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
- stringTagMap: {}
+ stringTagMap:
+ RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -59,12 +64,38 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
- _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
- _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
@@ -72,12 +103,33 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
- _UVSec: 0
+ - _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- - _Color: {r: 0.8745098, g: 1, b: 0, a: 1}
+ - _BaseColor: {r: 0.8745098, g: 1, b: 0, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
+--- !u!114 &6039675224139481836
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Wall3Material.mat b/Assets/Materials/Wall3Material.mat
index 70eef55..9a087f7 100644
--- a/Assets/Materials/Wall3Material.mat
+++ b/Assets/Materials/Wall3Material.mat
@@ -1,5 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-874451599989820089
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
@@ -8,7 +21,7 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Wall3Material
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
@@ -17,12 +30,17 @@ Material:
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
- stringTagMap: {}
+ stringTagMap:
+ RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -59,12 +77,38 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
- _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
- _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
@@ -72,12 +116,20 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
- _UVSec: 0
+ - _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- - _Color: {r: 0.87058824, g: 0.19215687, b: 0.3882353, a: 1}
+ - _BaseColor: {r: 0.87058824, g: 0.19215682, b: 0.38823527, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
diff --git a/Assets/Materials/Wall4Material.mat b/Assets/Materials/Wall4Material.mat
index ec16ba9..123dc86 100644
--- a/Assets/Materials/Wall4Material.mat
+++ b/Assets/Materials/Wall4Material.mat
@@ -1,5 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-4028792283425745102
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
@@ -8,7 +21,7 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Wall4Material
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
@@ -17,12 +30,17 @@ Material:
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
- stringTagMap: {}
+ stringTagMap:
+ RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -59,12 +77,38 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
- _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
- _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
@@ -72,12 +116,20 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
- _UVSec: 0
+ - _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- - _Color: {r: 0.62352943, g: 0.8862745, b: 0.7490196, a: 1}
+ - _BaseColor: {r: 0.62352943, g: 0.8862745, b: 0.7490196, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
diff --git a/Assets/Materials/Wall5Material.mat b/Assets/Materials/Wall5Material.mat
index bcea881..f78bf72 100644
--- a/Assets/Materials/Wall5Material.mat
+++ b/Assets/Materials/Wall5Material.mat
@@ -1,5 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-6055789739237849887
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
@@ -8,7 +21,7 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Wall5Material
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
@@ -17,12 +30,17 @@ Material:
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
- stringTagMap: {}
+ stringTagMap:
+ RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -59,12 +77,38 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
- _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
- _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
@@ -72,12 +116,20 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
- _UVSec: 0
+ - _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- - _Color: {r: 0.39215687, g: 0.58431375, b: 0.92941177, a: 1}
+ - _BaseColor: {r: 0.39215684, g: 0.58431375, b: 0.92941177, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
diff --git a/Assets/Materials/Wall6Material.mat b/Assets/Materials/Wall6Material.mat
index 75d856e..092eb10 100644
--- a/Assets/Materials/Wall6Material.mat
+++ b/Assets/Materials/Wall6Material.mat
@@ -1,5 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-3662931368344362611
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
@@ -8,7 +21,7 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Wall6Material
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
@@ -17,12 +30,17 @@ Material:
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
- stringTagMap: {}
+ stringTagMap:
+ RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -59,12 +77,38 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
- _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
- _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
@@ -72,12 +116,20 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
- _UVSec: 0
+ - _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- - _Color: {r: 0.8, g: 0.8, b: 1, a: 1}
+ - _BaseColor: {r: 0.8, g: 0.8, b: 1, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
diff --git a/Assets/Materials/WallMaterial.mat b/Assets/Materials/WallMaterial.mat
index 57928fc..b501a1b 100644
--- a/Assets/Materials/WallMaterial.mat
+++ b/Assets/Materials/WallMaterial.mat
@@ -1,5 +1,18 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-5416194206265101096
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
--- !u!21 &2100000
Material:
serializedVersion: 8
@@ -8,7 +21,7 @@ Material:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: WallMaterial
- m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
@@ -17,12 +30,17 @@ Material:
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
- stringTagMap: {}
+ stringTagMap:
+ RenderType: Opaque
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -59,12 +77,38 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _SpecGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
- _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
- _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
@@ -72,12 +116,20 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
- _UVSec: 0
+ - _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
+ - _BaseColor: {r: 0.745283, g: 0.7277056, b: 0.7277056, a: 1}
- _Color: {r: 0.745283, g: 0.7277056, b: 0.7277056, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
diff --git a/Assets/Materials/WayPointTutorial.meta b/Assets/Materials/WayPointTutorial.meta
new file mode 100644
index 0000000..ae0d443
--- /dev/null
+++ b/Assets/Materials/WayPointTutorial.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 95a8f33cd00314bed9c9933064d56733
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/WayPointTutorial/GoalBarMat.mat b/Assets/Materials/WayPointTutorial/GoalBarMat.mat
new file mode 100644
index 0000000..646c284
--- /dev/null
+++ b/Assets/Materials/WayPointTutorial/GoalBarMat.mat
@@ -0,0 +1,139 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: GoalBarMat
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords:
+ - _ALPHAPREMULTIPLY_ON
+ - _SURFACE_TYPE_TRANSPARENT
+ m_InvalidKeywords:
+ - _ALPHABLEND_ON
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: 3000
+ stringTagMap:
+ RenderType: Transparent
+ disabledShaderPasses:
+ - DepthOnly
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 10
+ - _DstBlendAlpha: 10
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 2
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 1
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 0
+ m_Colors:
+ - _BaseColor: {r: 0.99056596, g: 0.06074226, b: 0.06074226, a: 0.12156863}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &1438046207411349089
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/WayPointTutorial/GoalBarMat.mat.meta b/Assets/Materials/WayPointTutorial/GoalBarMat.mat.meta
new file mode 100644
index 0000000..65899a6
--- /dev/null
+++ b/Assets/Materials/WayPointTutorial/GoalBarMat.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6557122a0c18641dabbe1294b2959c9a
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Materials/Wood.mat b/Assets/Materials/Wood.mat
new file mode 100644
index 0000000..1943821
--- /dev/null
+++ b/Assets/Materials/Wood.mat
@@ -0,0 +1,135 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 8
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Wood
+ m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
+ m_ValidKeywords: []
+ m_InvalidKeywords: []
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap:
+ RenderType: Opaque
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BaseMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _BumpMap:
+ m_Texture: {fileID: 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}
+ - unity_Lightmaps:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_LightmapsInd:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - unity_ShadowMasks:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _AlphaClip: 0
+ - _AlphaToMask: 0
+ - _Blend: 0
+ - _BlendModePreserveSpecular: 1
+ - _BumpScale: 1
+ - _ClearCoatMask: 0
+ - _ClearCoatSmoothness: 0
+ - _Cull: 2
+ - _Cutoff: 0.5
+ - _DetailAlbedoMapScale: 1
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _DstBlendAlpha: 0
+ - _EnvironmentReflections: 1
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _QueueOffset: 0
+ - _ReceiveShadows: 1
+ - _Smoothness: 0.5
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _SrcBlendAlpha: 1
+ - _Surface: 0
+ - _UVSec: 0
+ - _WorkflowMode: 1
+ - _ZWrite: 1
+ m_Colors:
+ - _BaseColor: {r: 0.5882353, g: 0.4352941, b: 0.043137237, a: 1}
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+ m_BuildTextureStacks: []
+--- !u!114 &1565312520932431719
+MonoBehaviour:
+ m_ObjectHideFlags: 11
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ version: 7
diff --git a/Assets/Materials/Wood.mat.meta b/Assets/Materials/Wood.mat.meta
new file mode 100644
index 0000000..4e8cf9b
--- /dev/null
+++ b/Assets/Materials/Wood.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7687ee87f6bc14f8cbc289ffba873e67
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NewBehaviourScript.cs b/Assets/NewBehaviourScript.cs
new file mode 100644
index 0000000..6968256
--- /dev/null
+++ b/Assets/NewBehaviourScript.cs
@@ -0,0 +1,18 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class NewBehaviourScript : MonoBehaviour
+{
+ // Start is called before the first frame update
+ void Start()
+ {
+
+ }
+
+ // Update is called once per frame
+ void Update()
+ {
+
+ }
+}
diff --git a/Assets/NewBehaviourScript.cs.meta b/Assets/NewBehaviourScript.cs.meta
new file mode 100644
index 0000000..2aee77d
--- /dev/null
+++ b/Assets/NewBehaviourScript.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b5d202e395068b74cbd21938ce43d444
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations.meta b/Assets/NiceVibrations.meta
new file mode 100644
index 0000000..28b6aa8
--- /dev/null
+++ b/Assets/NiceVibrations.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ee6c69fc03d294b9796cfb3c264c409c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common.meta b/Assets/NiceVibrations/Common.meta
new file mode 100644
index 0000000..84cbc4b
--- /dev/null
+++ b/Assets/NiceVibrations/Common.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: cfa5459c5bab24295bcf69f733213da6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts.meta b/Assets/NiceVibrations/Common/Scripts.meta
new file mode 100644
index 0000000..f5ed9d4
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 1dabd9e8e802e49799cef76ef81d5c25
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor.meta b/Assets/NiceVibrations/Common/Scripts/Editor.meta
new file mode 100644
index 0000000..d43fcf4
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6774aaf2201b146198998a7cab78f9de
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/DefineSymbols.meta b/Assets/NiceVibrations/Common/Scripts/Editor/DefineSymbols.meta
new file mode 100644
index 0000000..da74614
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/DefineSymbols.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 78e5382badd2b42caa2878c61015a236
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/DefineSymbols/NiceVibrationsDefineSymbols.cs b/Assets/NiceVibrations/Common/Scripts/Editor/DefineSymbols/NiceVibrationsDefineSymbols.cs
new file mode 100644
index 0000000..ad580a0
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/DefineSymbols/NiceVibrationsDefineSymbols.cs
@@ -0,0 +1,38 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Linq;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+namespace MoreMountains.NiceVibrations
+{
+#if UNITY_EDITOR
+ ///
+ /// This class lets you specify (in code, by editing it) symbols that will be added to the build settings' define symbols list automatically
+ ///
+ [InitializeOnLoad]
+ public class NiceVibrationsDefineSymbols
+ {
+ ///
+ /// A list of all the symbols you want added to the build settings
+ ///
+ public static readonly string[] Symbols = new string[]
+ {
+ "MOREMOUNTAINS_NICEVIBRATIONS"
+ };
+
+ ///
+ /// As soon as this class has finished compiling, adds the specified define symbols to the build settings
+ ///
+ static NiceVibrationsDefineSymbols()
+ {
+ string scriptingDefinesString = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
+ List scriptingDefinesStringList = scriptingDefinesString.Split(';').ToList();
+ scriptingDefinesStringList.AddRange(Symbols.Except(scriptingDefinesStringList));
+ PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, string.Join(";", scriptingDefinesStringList.ToArray()));
+ }
+ }
+#endif
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/DefineSymbols/NiceVibrationsDefineSymbols.cs.meta b/Assets/NiceVibrations/Common/Scripts/Editor/DefineSymbols/NiceVibrationsDefineSymbols.cs.meta
new file mode 100644
index 0000000..ab3c1c5
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/DefineSymbols/NiceVibrationsDefineSymbols.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6b2b51febacf4564ab92a1a04d6cd1ec
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAndroidWaveFormAssetEditor.cs b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAndroidWaveFormAssetEditor.cs
new file mode 100644
index 0000000..546a483
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAndroidWaveFormAssetEditor.cs
@@ -0,0 +1,42 @@
+using System.Collections;
+using System.Collections.Generic;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ #if UNITY_EDITOR
+ ///
+ /// This custom inspector for MMNVAndroidWaveFormAssets adds a button to import values from an AHAP file
+ ///
+ [CustomEditor(typeof(MMNVAndroidWaveFormAsset))]
+ public class MMNVAndroidWaveFormAssetEditor : Editor
+ {
+ ///
+ /// On inspector GUI, we draw an extra button
+ ///
+ public override void OnInspectorGUI()
+ {
+ serializedObject.Update();
+
+ MMNVAndroidWaveFormAsset waveformAsset = (MMNVAndroidWaveFormAsset)target;
+
+ DrawDefaultInspector();
+
+ if (waveformAsset.AHAPFile != null)
+ {
+ if (GUILayout.Button("Import from AHAP"))
+ {
+ MMNVAndroidWaveForm tempWaveform = MMNVAHAP.AHAPtoAndroidWaveForm(waveformAsset.AHAPFile.text, waveformAsset.IntensityMultiplier, waveformAsset.SharpnessMultiplier);
+ waveformAsset.WaveForm.Pattern = tempWaveform.Pattern;
+ waveformAsset.WaveForm.Amplitudes = tempWaveform.Amplitudes;
+ }
+ }
+
+ serializedObject.ApplyModifiedProperties();
+ }
+ }
+ #endif
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAndroidWaveFormAssetEditor.cs.meta b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAndroidWaveFormAssetEditor.cs.meta
new file mode 100644
index 0000000..f5cb049
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAndroidWaveFormAssetEditor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b384fa36cd33d1d40a8f635f1c648176
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAssetPostProcessor.cs b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAssetPostProcessor.cs
new file mode 100644
index 0000000..f5a9337
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAssetPostProcessor.cs
@@ -0,0 +1,26 @@
+#if UNITY_EDITOR
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// An asset post processor used to compensate for a new bug introduced by Unity in 2019.3.12f1
+ ///
+ public class MMNVAssetPostProcessor : AssetPostprocessor
+ {
+ ///
+ /// On GeneratedCSProject, we force ReferenceOutputAssembly to true to avoid missing references in VS.
+ ///
+ ///
+ ///
+ ///
+ private static string OnGeneratedCSProject(string path, string content)
+ {
+ return content.Replace("false", "true");
+ }
+ }
+}
+#endif
\ No newline at end of file
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAssetPostProcessor.cs.meta b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAssetPostProcessor.cs.meta
new file mode 100644
index 0000000..c76a557
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVAssetPostProcessor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 433967178997d39458757004d883d804
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/MMNVBuildPostProcessor.cs b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVBuildPostProcessor.cs
new file mode 100644
index 0000000..238c525
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVBuildPostProcessor.cs
@@ -0,0 +1,259 @@
+#if UNITY_EDITOR
+using System.IO;
+using UnityEngine;
+using UnityEditor;
+using UnityEditor.Callbacks;
+using UnityEditor.Build;
+#if UNITY_2018_1_OR_NEWER
+using UnityEditor.Build.Reporting;
+#endif
+
+#if UNITY_IOS
+using UnityEditor.iOS.Xcode;
+#endif
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// This class takes care of post processing after a build, adding properties to the XCode project or framework depending on the Unity version.
+ /// Note that this class tries to guess paths to certain files, and while this will work in most cases, you may be in a configuration where it doesn't.
+ /// You'll need to bind the header and mobule files in an asset located in NiceVibrations/Common/Resources, and called
+ /// MMNVPathDefinition. Don't change its name! Just select it, and from the editor, bind the files if it's not already the case.
+ ///
+ public class MMNVBuildPostProcessor : IPostprocessBuildWithReport
+ {
+ public static readonly char SEPARATOR = '/';
+
+ /// the order at which this build post processor should run
+ public int callbackOrder => 1;
+
+ public static string _pluginPath;
+
+ public static string _headerFileName;
+ public static string _headerFileUnityPath;
+ public static string _headerFileXCodePath;
+
+ public static string _moduleFileName;
+ public static string _moduleFileUnityPath;
+ public static string _moduleFileXCodePath;
+
+ public static MMNVPath _mmnvPath;
+
+ public static bool _forceSwiftForFramework = false;
+ public static bool _forceSwiftForMainTarget = false;
+
+ ///
+ /// On post process build, we run our treatment, and throw an error if necessary
+ ///
+ ///
+ public void OnPostprocessBuild(BuildReport report)
+ {
+ try
+ {
+
+ if (EditorUserBuildSettings.symlinkSources)
+ {
+ Debug.LogError("[MMNVBuildPostProcessor] Please make sure you set 'Symlink Unity Libraries' to false in your build settings before building.");
+ }
+
+ if (report.summary.platform == BuildTarget.iOS)
+ {
+ string path = report.summary.outputPath;
+ // SettingPlist(path);
+ #if UNITY_IOS && UNITY_EDITOR
+ ConfigureXCodeProjectForNativePlugin(path);
+ #endif
+ }
+ }
+ catch (System.Exception e)
+ {
+ throw new BuildFailedException(e); // make sure the build fails
+ }
+ }
+
+#if UNITY_IOS && UNITY_EDITOR
+
+ ///
+ /// Grabs the MMNVPathDefinition asset
+ ///
+ public static void GetMMNVPath()
+ {
+ if (_mmnvPath == null)
+ {
+ _mmnvPath = Resources.Load("MMNVPathDefinition");
+ }
+ if (_mmnvPath != null)
+ {
+ _forceSwiftForFramework = _mmnvPath.ForceAlwaysEmbedSwiftSLForFramework;
+ _forceSwiftForMainTarget = _mmnvPath.ForceAlwaysEmbedSwiftSLForMainTarget;
+ }
+ }
+
+ ///
+ /// Determines the paths based on the files bound in the MMNVPathDefinition asset
+ ///
+ public static void DeterminePaths()
+ {
+ _pluginPath = "";
+
+ if (_mmnvPath != null)
+ {
+ _pluginPath = AssetDatabase.GetAssetPath(_mmnvPath.Header);
+ _headerFileName = System.IO.Path.GetFileName(_pluginPath);
+ _headerFileUnityPath = _pluginPath;
+
+ _pluginPath = ReplaceFirst(_pluginPath, "Assets", "Libraries");
+ _pluginPath = _pluginPath.Replace(_headerFileName, "");
+ _headerFileXCodePath = _pluginPath + _headerFileName;
+
+ _moduleFileUnityPath = AssetDatabase.GetAssetPath(_mmnvPath.ModuleMap);
+ _moduleFileName = System.IO.Path.GetFileName(_moduleFileUnityPath);
+ _moduleFileXCodePath = _pluginPath + _moduleFileName;
+ }
+ else
+ {
+ Debug.LogError("[MMNVBuildPostProcessor] No MMNVPath asset could be found. Make sure you have one named MMNVPathDefinition in a Resources folder.");
+ }
+ }
+
+ ///
+ /// A method to setup XCode's framework and main target
+ ///
+ ///
+ public static void ConfigureXCodeProjectForNativePlugin(string xcodeProjectPath)
+ {
+ GetMMNVPath();
+ DeterminePaths();
+
+ string pbxProjectPath = PBXProject.GetPBXProjectPath(xcodeProjectPath);
+ PBXProject pbxProject = new PBXProject();
+ pbxProject.ReadFromString(File.ReadAllText(pbxProjectPath));
+
+ string targetGUID = pbxProject.GetUnityFrameworkTargetGuid();
+ WritePropertiesToFramework(pbxProject, targetGUID, pbxProjectPath, _pluginPath, _forceSwiftForFramework);
+
+ targetGUID = pbxProject.GetUnityMainTargetGuid();
+ WritePropertiesToMainTarget(pbxProject, targetGUID, pbxProjectPath, _pluginPath, _forceSwiftForMainTarget);
+
+ File.WriteAllText(pbxProjectPath, pbxProject.WriteToString());
+ Debug.Log("[MMNVBuildPostProcessor] Post process complete.");
+ }
+
+ ///
+ /// Writes properties to the XCode framework
+ ///
+ ///
+ ///
+ ///
+ ///
+ private static void WritePropertiesToFramework(PBXProject pbxProject, string targetGUID, string pbxProjectPath, string pluginPath, bool forceAlwaysEmbedSwiftStandardLibraries)
+ {
+ // Full Path to copy from
+ Debug.Log("[MMNVBuildPostProcessor] Adding properties to XCode framework");
+ Debug.Log("[MMNVBuildPostProcessor] Plugin path : " + pluginPath);
+
+ pbxProject.AddFrameworkToProject(targetGUID, "CoreHaptics.framework", false);
+ pbxProject.SetBuildProperty(targetGUID, "SWIFT_VERSION", "5.1");
+ pbxProject.SetBuildProperty(targetGUID, "ENABLE_BITCODE", "NO");
+
+ if (forceAlwaysEmbedSwiftStandardLibraries)
+ {
+ pbxProject.SetBuildProperty(targetGUID, "EMBEDDED_CONTENT_CONTAINS_SWIFT", "YES");
+ pbxProject.SetBuildProperty(targetGUID, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
+ }
+ pbxProject.SetBuildProperty(targetGUID, "CLANG_ENABLE_MODULES", "YES");
+ pbxProject.SetBuildProperty(targetGUID, "SWIFT_INCLUDE_PATHS", pluginPath);
+ pbxProject.SetBuildProperty(targetGUID, "LD_RUNPATH_SEARCH_PATHS", "@executable_path/Frameworks");
+
+ // if you're using the FB SDK and are having issues with your build pipeline, you may want to uncomment these lines (part 1/2) :
+ // proj.AddBuildProperty(targetGUID, "OTHER_LDFLAGS", "-lxml2");
+ // proj.AddFrameworkToProject(targetGUID, "libxml2.dylib", true);
+
+ // we add a module reference to the pbx project
+ Debug.Log("[MMNVBuildPostProcessor] Add module reference : " + _moduleFileUnityPath + " -> " + _moduleFileXCodePath);
+ string file_guid = pbxProject.AddFile(_moduleFileXCodePath,
+ _moduleFileXCodePath,
+ PBXSourceTree.Source);
+ Debug.Log("[MMNVBuildPostProcessor] Module GUID : " + file_guid);
+ pbxProject.AddFileToBuild(targetGUID, file_guid);
+ File.WriteAllText(pbxProjectPath, pbxProject.WriteToString());
+
+ // we copy the module file to the project
+ string projFileDir = System.IO.Path.GetDirectoryName(pbxProjectPath);
+ string moduleFilePath = Application.dataPath + SEPARATOR + ".." + SEPARATOR + _moduleFileUnityPath;
+ string destination = projFileDir + SEPARATOR + ".." + SEPARATOR + pluginPath + _moduleFileName;
+ if (!Directory.Exists (Path.GetDirectoryName(destination)))
+ {
+ Debug.Log("[MMNVBuildPostProcessor] Creating directory " + destination);
+ Directory.CreateDirectory(Path.GetDirectoryName(destination));
+ }
+ Debug.Log("[MMNVBuildPostProcessor] Copy module file to project : " + moduleFilePath + " -> " + destination);
+ System.IO.File.Copy(moduleFilePath, destination, true);
+
+ Debug.Log("[MMNVBuildPostProcessor] Copy module file to project : " + moduleFilePath + " -> " + destination);
+ string headerGUID = pbxProject.AddFile(_headerFileUnityPath,
+ _headerFileXCodePath,
+ PBXSourceTree.Source);
+ pbxProject.AddFileToBuild(targetGUID, headerGUID);
+ pbxProject.AddPublicHeaderToBuild(targetGUID, headerGUID);
+
+ Debug.Log("[MMNVBuildPostProcessor] Framework complete");
+ }
+
+ ///
+ /// Writes properties to the main target
+ ///
+ private static void WritePropertiesToMainTarget(PBXProject pbxProject, string targetGUID, string pbxProjectPath, string pluginPath, bool forceAlwaysEmbedSwiftStandardLibraries)
+ {
+ Debug.Log("[MMNVBuildPostProcessor] Writing properties to main target");
+ pbxProject.SetBuildProperty(targetGUID, "SWIFT_VERSION", "5.1");
+ if (forceAlwaysEmbedSwiftStandardLibraries)
+ {
+ pbxProject.SetBuildProperty(targetGUID, "EMBEDDED_CONTENT_CONTAINS_SWIFT", "YES");
+ pbxProject.SetBuildProperty(targetGUID, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
+ }
+ Debug.Log("[MMNVBuildPostProcessor] Main target complete");
+
+ // if you're using the FB SDK and are having issues with your build pipeline, you may want to uncomment these lines (part 2/2) :
+ // proj.AddBuildProperty(targetGuid, "OTHER_LDFLAGS", "-lxml2");
+ // proj.AddFrameworkToProject(targetGuid, "libxml2.dylib", true);
+ // proj.AddFrameworkToProject(targetGuid, "StoreKit.framework", true);
+ }
+
+ ///
+ /// A helper method that replaces the first found instance of a pattern in a string with a replacement
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static string ReplaceFirst(string text, string search, string replace)
+ {
+ int pos = text.IndexOf(search);
+ if (pos < 0)
+ {
+ return text;
+ }
+ return text.Substring(0, pos) + replace + text.Substring(pos + search.Length);
+ }
+
+ public static void SettingPlist(string path)
+ {
+ // Get the path to the Info.plist file
+ string plistPath = Path.Combine(path, "Info.plist");
+
+ // Read the Info.plist file
+ PlistDocument plist = new PlistDocument();
+ plist.ReadFromFile(plistPath);
+
+ // Set the NSMotionUsageDescription key
+ PlistElementDict rootDict = plist.root;
+ rootDict.SetString("NSMotionUsageDescription", "We use your motion data to provide an enhanced experience in our app by detecting motion and activity.");
+
+ // Write the modified Info.plist back to the file
+ plist.WriteToFile(plistPath);
+ }
+#endif
+ }
+}
+#endif
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/MMNVBuildPostProcessor.cs.meta b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVBuildPostProcessor.cs.meta
new file mode 100644
index 0000000..d167413
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVBuildPostProcessor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d7bb09ebd427b4bf69534887e7899e55
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/MMNVRumbleWaveFormAssetEditor.cs b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVRumbleWaveFormAssetEditor.cs
new file mode 100644
index 0000000..29d0d17
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVRumbleWaveFormAssetEditor.cs
@@ -0,0 +1,43 @@
+using System.Collections;
+using System.Collections.Generic;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ #if UNITY_EDITOR
+ ///
+ /// This custom inspector for MMNVAndroidWaveFormAssets adds a button to import values from an AHAP file
+ ///
+ [CustomEditor(typeof(MMNVRumbleWaveFormAsset))]
+ public class MMNVRumbleWaveFormAssetEditor : Editor
+ {
+ ///
+ /// On inspector GUI, we draw an extra button
+ ///
+ public override void OnInspectorGUI()
+ {
+ serializedObject.Update();
+
+ MMNVRumbleWaveFormAsset waveformAsset = (MMNVRumbleWaveFormAsset)target;
+
+ DrawDefaultInspector();
+
+ if (waveformAsset.AHAPFile != null)
+ {
+ if (GUILayout.Button("Import from AHAP"))
+ {
+ MMNVRumbleWaveForm tempWaveform = MMNVAHAP.AHAPtoRumbleWaveForm(waveformAsset.AHAPFile.text, waveformAsset.IntensityMultiplier, waveformAsset.SharpnessMultiplier);
+ waveformAsset.WaveForm.Pattern = tempWaveform.Pattern;
+ waveformAsset.WaveForm.LowFrequencyAmplitudes = tempWaveform.LowFrequencyAmplitudes;
+ waveformAsset.WaveForm.HighFrequencyAmplitudes = tempWaveform.HighFrequencyAmplitudes;
+ }
+ }
+
+ serializedObject.ApplyModifiedProperties();
+ }
+ }
+ #endif
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Editor/MMNVRumbleWaveFormAssetEditor.cs.meta b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVRumbleWaveFormAssetEditor.cs.meta
new file mode 100644
index 0000000..f64781d
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Editor/MMNVRumbleWaveFormAssetEditor.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e845c46b827ec3044a72829bd9e6f00c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics.meta b/Assets/NiceVibrations/Common/Scripts/Haptics.meta
new file mode 100644
index 0000000..52a5b85
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 15e46a6268c564ead9c6b7489a175f18
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAHAP.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAHAP.cs
new file mode 100644
index 0000000..bcf4c6b
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAHAP.cs
@@ -0,0 +1,205 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+#if UNITY_EDITOR
+using Newtonsoft.Json;
+#endif
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// A class to store AHAP metadata
+ ///
+ [System.Serializable]
+ public class MMNVAHAPMetadata
+ {
+ public string Project;
+ public string Created;
+ }
+
+ ///
+ /// A class to store AHAP event parameters
+ ///
+ [System.Serializable]
+ public class MMNVAHAPEventParameter
+ {
+ public string ParameterID;
+ public int ParameterValue;
+ }
+
+ ///
+ /// A class to store AHAP events
+ ///
+ [System.Serializable]
+ public class MMNVAHAPEvent
+ {
+ public int Time;
+ public string EventType;
+ public double EventDuration;
+ public List EventParameters;
+ }
+
+ ///
+ /// A class to store AHAP parameter curve control points
+ ///
+ [System.Serializable]
+ public class MMNVAHAPParameterCurveControlPoint
+ {
+ public double Time;
+ public double ParameterValue;
+ }
+
+ ///
+ /// A class to store AHAP parameter curves
+ ///
+ [System.Serializable]
+ public class MMNVAHAPParameterCurve
+ {
+ public string ParameterID;
+ public double Time;
+ public List ParameterCurveControlPoints;
+ }
+
+ ///
+ /// A class to store AHAP patterns
+ ///
+ [System.Serializable]
+ public class MMNVAHAPPattern
+ {
+ public MMNVAHAPEvent Event;
+ public MMNVAHAPParameterCurve ParameterCurve;
+ }
+
+ ///
+ /// A class used to store and manipulate AHAP json contents
+ ///
+ [System.Serializable]
+ public class MMNVAHAP
+ {
+ public float Version;
+ public MMNVAHAPMetadata Metadata;
+ public List Pattern;
+
+#if UNITY_EDITOR
+ ///
+ /// Converts a AHAP string into a MMNVAndroidWaveForm
+ ///
+ ///
+ ///
+ public static MMNVAndroidWaveForm AHAPtoAndroidWaveForm(string AHAPasString, float intensityMultiplier, float sharpnessMultiplier)
+ {
+ MMNVAHAP ahap = JsonConvert.DeserializeObject(AHAPasString);
+
+ List patterns = new List();
+ List amplitudes = new List();
+
+ double totalTimeStamp = 0f;
+ double previousTimeStamp = 0f;
+ foreach (MMNVAHAPPattern pattern in ahap.Pattern)
+ {
+ if (pattern.ParameterCurve != null)
+ {
+ if (pattern.ParameterCurve.ParameterID == "HapticIntensityControl")
+ {
+ foreach (MMNVAHAPParameterCurveControlPoint point in pattern.ParameterCurve.ParameterCurveControlPoints)
+ {
+ double timeStamp = point.Time - previousTimeStamp;
+ totalTimeStamp += timeStamp;
+ patterns.Add((long)(timeStamp * 1000));
+
+ float originalIntensity = (float)point.ParameterValue * intensityMultiplier;
+ int intensity = (int)Remap(originalIntensity, 0f, 1f, 0f, 255f);
+ amplitudes.Add(intensity);
+
+ previousTimeStamp = point.Time;
+ }
+ }
+ }
+ }
+
+ MMNVAndroidWaveForm returnWaveForm = new MMNVAndroidWaveForm();
+
+ returnWaveForm.Amplitudes = amplitudes.ToArray();
+ returnWaveForm.Pattern = patterns.ToArray();
+
+ return returnWaveForm;
+ }
+
+ ///
+ /// Converts a AHAP string into a MMNRumbleWaveForm
+ ///
+ ///
+ ///
+ public static MMNVRumbleWaveForm AHAPtoRumbleWaveForm(string AHAPasString, float intensityMultiplier, float sharpnessMultiplier)
+ {
+ MMNVAHAP ahap = JsonConvert.DeserializeObject(AHAPasString);
+
+ List patterns = new List();
+ List lowFreqAmplitudes = new List();
+ List highFreqAmplitudes = new List();
+
+ double totalTimeStamp = 0f;
+ double previousTimeStamp = 0f;
+ foreach (MMNVAHAPPattern pattern in ahap.Pattern)
+ {
+ if (pattern.ParameterCurve != null)
+ {
+ if (pattern.ParameterCurve.ParameterID == "HapticIntensityControl")
+ {
+ foreach (MMNVAHAPParameterCurveControlPoint point in pattern.ParameterCurve.ParameterCurveControlPoints)
+ {
+
+ double timeStamp = point.Time - previousTimeStamp;
+ totalTimeStamp += timeStamp;
+ patterns.Add((long)(timeStamp * 1000));
+
+ float originalIntensity = (float)point.ParameterValue * intensityMultiplier;
+ int intensity = (int)Remap(originalIntensity, 0f, 1f, 0f, 255f);
+ lowFreqAmplitudes.Add(intensity);
+
+ previousTimeStamp = point.Time;
+ }
+ }
+ if (pattern.ParameterCurve.ParameterID == "HapticSharpnessControl")
+ {
+ foreach (MMNVAHAPParameterCurveControlPoint point in pattern.ParameterCurve.ParameterCurveControlPoints)
+ {
+ double timeStamp = point.Time - previousTimeStamp;
+ totalTimeStamp += timeStamp;
+ patterns.Add((long)(timeStamp * 1000));
+
+ float originalIntensity = (float)point.ParameterValue * sharpnessMultiplier;
+ int intensity = (int)Remap(originalIntensity, 0f, 1f, 0f, 255f);
+ highFreqAmplitudes.Add(intensity);
+
+ previousTimeStamp = point.Time;
+ }
+ }
+ }
+ }
+
+ MMNVRumbleWaveForm returnWaveForm = new MMNVRumbleWaveForm();
+
+ returnWaveForm.LowFrequencyAmplitudes = lowFreqAmplitudes.ToArray();
+ returnWaveForm.HighFrequencyAmplitudes = highFreqAmplitudes.ToArray();
+ returnWaveForm.Pattern = patterns.ToArray();
+
+ return returnWaveForm;
+ }
+#endif
+ ///
+ /// Remaps value x between AB to CD
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static float Remap(float x, float A, float B, float C, float D)
+ {
+ float remappedValue = C + (x - A) / (B - A) * (D - C);
+ return remappedValue;
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAHAP.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAHAP.cs.meta
new file mode 100644
index 0000000..8bbbe56
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAHAP.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9fc7a58b1a8c38c4abfc83bab4224a24
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAltThread.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAltThread.cs
new file mode 100644
index 0000000..c182fb4
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAltThread.cs
@@ -0,0 +1,57 @@
+using System;
+using UnityEngine;
+using System.Collections;
+using System.Collections.Generic;
+using System.Threading;
+
+namespace MoreMountains.NiceVibrations
+{
+ public class MMNVAltThread where T:struct
+ {
+ private static Thread _altThread;
+ private static bool _threadShouldStop;
+ private static List> _methodsList = new List>();
+ private static List _argumentsList = new List();
+
+ public void Run(Action method, T arguments)
+ {
+ _methodsList.Add(method);
+ _argumentsList.Add(arguments);
+
+ if (_altThread == null)
+ {
+ _altThread = new Thread(() => Process());
+ _altThread.Start();
+ }
+ }
+
+ public void CloseThread()
+ {
+ if (_altThread == null)
+ {
+ return;
+ }
+
+ _threadShouldStop = true;
+ _altThread.Interrupt();
+ _altThread.Abort();
+ }
+
+ private void Process()
+ {
+ while (!_threadShouldStop)
+ {
+ for (int i = 0; i < _methodsList.Count; i++)
+ {
+ if (_methodsList[i] != null)
+ {
+ Action entry = (Action)_methodsList[i];
+ entry(_argumentsList[i]);
+ _methodsList.RemoveAt(i);
+ _argumentsList.RemoveAt(i);
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAltThread.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAltThread.cs.meta
new file mode 100644
index 0000000..1d923d9
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAltThread.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 51d32af772c9e2e4384bb5271eaedba8
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroid.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroid.cs
new file mode 100644
index 0000000..bf8f8aa
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroid.cs
@@ -0,0 +1,268 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Runtime.InteropServices;
+using System;
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// This class handles all Android haptics specific calls
+ ///
+ public static class MMNVAndroid
+ {
+ ///
+ /// A struct used to pass data to threaded calls
+ ///
+ public struct MMNVAndroidVibrateThreadData
+ {
+ public long[] Pattern;
+ public int[] Amplitudes;
+ public int Repeat;
+
+ public MMNVAndroidVibrateThreadData(long[] pattern, int[] amplitudes, int repeat)
+ {
+ Pattern = pattern;
+ Amplitudes = amplitudes;
+ Repeat = repeat;
+ }
+ }
+
+ private static MMNVAltThread _androidVibrateThread;
+ private static MMNVAndroidVibrateThreadData _androidVibrateThreadData;
+ private static int _sdkVersion = -1;
+
+ #if UNITY_ANDROID && !UNITY_EDITOR
+ private static AndroidJavaClass UnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
+ private static AndroidJavaObject CurrentActivity = UnityPlayer.GetStatic("currentActivity");
+ private static AndroidJavaObject AndroidVibrator = CurrentActivity.Call("getSystemService", "vibrator");
+ private static AndroidJavaClass VibrationEffectClass;
+ private static AndroidJavaObject VibrationEffect;
+ private static int DefaultAmplitude;
+ private static IntPtr AndroidVibrateMethodRawClass = AndroidJNIHelper.GetMethodID(AndroidVibrator.GetRawClass(), "vibrate", "(J)V", false);
+ private static jvalue[] AndroidVibrateMethodRawClassParameters = new jvalue[1];
+ #else
+ private static AndroidJavaClass UnityPlayer;
+ private static AndroidJavaObject CurrentActivity;
+ private static AndroidJavaObject AndroidVibrator = null;
+ private static AndroidJavaClass VibrationEffectClass = null;
+ private static AndroidJavaObject VibrationEffect;
+ private static int DefaultAmplitude;
+ private static IntPtr AndroidVibrateMethodRawClass = IntPtr.Zero;
+ private static jvalue[] AndroidVibrateMethodRawClassParameters = null;
+ #endif
+
+ ///
+ /// Requests a default vibration on Android, for the specified duration, in milliseconds
+ ///
+ /// Milliseconds.
+ public static void AndroidVibrate(long milliseconds)
+ {
+ if (!MMNVPlatform.Android()) { return; }
+ AndroidVibrateMethodRawClassParameters[0].j = milliseconds;
+ AndroidJNI.CallVoidMethod(AndroidVibrator.GetRawObject(), AndroidVibrateMethodRawClass, AndroidVibrateMethodRawClassParameters);
+ }
+
+ ///
+ /// Requests a vibration of the specified amplitude and duration. If amplitude is not supported by the device's SDK, a default vibration will be requested
+ ///
+ /// Milliseconds.
+ /// Amplitude.
+ public static void AndroidVibrate(long milliseconds, int amplitude)
+ {
+ if (!MMNVPlatform.Android()) { return; }
+ // amplitude is only supported after API26
+ if ((AndroidSDKVersion() < 26))
+ {
+ AndroidVibrate(milliseconds);
+ }
+ else
+ {
+ AndroidVibrationEffectClassInitialization();
+
+ VibrationEffect = VibrationEffectClass.CallStatic("createOneShot", new object[] { milliseconds, amplitude });
+ AndroidVibrator.Call("vibrate", VibrationEffect);
+ }
+ }
+
+ // Requests a vibration on Android for the specified pattern and optional repeat
+ // Straight out of the Android documentation :
+ // Pass in an array of ints that are the durations for which to turn on or off the vibrator in milliseconds.
+ // The first value indicates the number of milliseconds to wait before turning the vibrator on.
+ // The next value indicates the number of milliseconds for which to keep the vibrator on before turning it off.
+ // Subsequent values alternate between durations in milliseconds to turn the vibrator off or to turn the vibrator on.
+ // repeat: the index into pattern at which to repeat, or -1 if you don't want to repeat.
+ public static void AndroidVibrate(long[] pattern, int repeat)
+ {
+ if (!MMNVPlatform.Android()) { return; }
+
+ if (pattern == null)
+ {
+ return;
+ }
+
+ if ((AndroidSDKVersion() < 26))
+ {
+ AndroidVibrator.Call("vibrate", pattern, repeat);
+ }
+ else
+ {
+ AndroidVibrationEffectClassInitialization();
+ try
+ {
+ VibrationEffect = VibrationEffectClass.CallStatic("createWaveform", new object[] { pattern, repeat });
+ AndroidVibrator.Call("vibrate", VibrationEffect);
+ }
+ catch (Exception e)
+ {
+ Debug.LogException(e);
+ }
+ }
+ }
+
+ ///
+ /// Requests a vibration on Android for the specified pattern, amplitude and optional repeat
+ ///
+ /// Pattern.
+ /// Amplitudes.
+ /// Repeat : -1 : no repeat, 0 : infinite, 1 : repeat once, 2 : repeat twice, etc
+ public static void AndroidVibrate(long[] pattern, int[] amplitudes, int repeat, bool threaded = false)
+ {
+ if (!MMNVPlatform.Android()) { return; }
+
+ if ((pattern == null) || (amplitudes == null))
+ {
+ return;
+ }
+
+ if ((pattern.Length == 0) || (amplitudes.Length == 0))
+ {
+ return;
+ }
+
+ if ((AndroidSDKVersion() < 26))
+ {
+ AndroidVibrator.Call("vibrate", pattern, repeat);
+ }
+ else
+ {
+ if (threaded)
+ {
+ if (_androidVibrateThread == null)
+ {
+ _androidVibrateThread = new MMNVAltThread();
+ _androidVibrateThreadData = new MMNVAndroidVibrateThreadData();
+ }
+
+ _androidVibrateThreadData.Pattern = pattern;
+ _androidVibrateThreadData.Amplitudes = amplitudes;
+ _androidVibrateThreadData.Repeat = repeat;
+ _androidVibrateThread.Run(AndroidVibrateThread, _androidVibrateThreadData);
+ }
+ else
+ {
+
+ AndroidVibrateNoThread(pattern, amplitudes, repeat);
+ }
+ }
+ }
+
+ ///
+ /// An internal method used to vibrate on a pattern/amplitude model using a secondary thread
+ /// If you use that, you should call MMNVAndroid.ClearThreads() on exit (where exactly depends on your game, but OnDisable should cover most cases)
+ ///
+ ///
+ private static void AndroidVibrateThread(MMNVAndroidVibrateThreadData threadData)
+ {
+ AndroidJNI.AttachCurrentThread();
+ AndroidVibrateNoThread(threadData.Pattern, threadData.Amplitudes, threadData.Repeat);
+ AndroidJNI.DetachCurrentThread();
+ }
+
+ ///
+ /// An internal method used to vibrate on a pattern/amplitude model using the main thread
+ ///
+ ///
+ private static void AndroidVibrateNoThread(long[] pattern, int[] amplitudes, int repeat)
+ {
+ if ((pattern == null) || (amplitudes == null))
+ {
+ return;
+ }
+ AndroidVibrationEffectClassInitialization();
+ VibrationEffect = VibrationEffectClass.CallStatic("createWaveform", new object[] { pattern, amplitudes, repeat });
+ AndroidVibrator.Call("vibrate", VibrationEffect);
+ }
+
+ ///
+ /// A method to call once you're done with haptics on Android, usually OnDisable, to avoid memory leaks
+ ///
+ public static void ClearThreads()
+ {
+ _androidVibrateThread = null;
+ _androidVibrateThread?.CloseThread();
+ }
+
+ ///
+ /// Stops all Android vibrations that may be active
+ ///
+ public static void AndroidCancelVibrations()
+ {
+ if (!MMNVPlatform.Android()) { return; }
+ AndroidVibrator.Call("cancel");
+ }
+
+ ///
+ /// Returns true if the device running the game has vibrations
+ ///
+ ///
+ public static bool AndroidHasVibrator()
+ {
+ if (!MMNVPlatform.Android()) { return false; }
+ return AndroidVibrator.Call("hasVibrator");
+ }
+
+ ///
+ /// Returns true if the device running the game has amplitude control
+ ///
+ ///
+ public static bool AndroidHasAmplitudeControl()
+ {
+ if ((AndroidSDKVersion() < 26))
+ {
+ return false;
+ }
+ if (!MMNVPlatform.Android()) { return false; }
+ return AndroidVibrator.Call("hasAmplitudeControl");
+ }
+
+ ///
+ /// Initializes the VibrationEffectClass if needed.
+ ///
+ private static void AndroidVibrationEffectClassInitialization()
+ {
+ if (VibrationEffectClass == null)
+ {
+ VibrationEffectClass = new AndroidJavaClass("android.os.VibrationEffect");
+ }
+ }
+
+ ///
+ /// Returns the current Android SDK version as an int
+ ///
+ /// The SDK version.
+ public static int AndroidSDKVersion()
+ {
+ if (_sdkVersion == -1)
+ {
+ int apiLevel = int.Parse(SystemInfo.operatingSystem.Substring(SystemInfo.operatingSystem.IndexOf("-") + 1, 3));
+ _sdkVersion = apiLevel;
+ return apiLevel;
+ }
+ else
+ {
+ return _sdkVersion;
+ }
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroid.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroid.cs.meta
new file mode 100644
index 0000000..bf785fd
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroid.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b922262d9e4809f4a8ce2b27988275fb
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroidWaveFormAsset.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroidWaveFormAsset.cs
new file mode 100644
index 0000000..74fd0fa
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroidWaveFormAsset.cs
@@ -0,0 +1,31 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// A class used to store android waveform values, used to trigger haptics with varying intensity
+ ///
+ [System.Serializable]
+ public class MMNVAndroidWaveForm
+ {
+ public long[] Pattern;
+ public int[] Amplitudes;
+ }
+
+ ///
+ /// A scriptable object used to store waveform values
+ ///
+ [CreateAssetMenu(fileName = "AndroidWaveFormAsset", menuName = "MoreMountains/NiceVibrations/AndroidWaveFormAsset")]
+ public class MMNVAndroidWaveFormAsset : ScriptableObject
+ {
+ [Header("Properties")]
+ public MMNVAndroidWaveForm WaveForm;
+
+ [Header("AHAP")]
+ public TextAsset AHAPFile;
+ public float IntensityMultiplier = 1f;
+ public float SharpnessMultiplier = 1f;
+ }
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroidWaveFormAsset.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroidWaveFormAsset.cs.meta
new file mode 100644
index 0000000..c39facf
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVAndroidWaveFormAsset.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 878a46a2e5200af4ca0b198530f29690
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVEnumCondition.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVEnumCondition.cs
new file mode 100644
index 0000000..f391bcd
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVEnumCondition.cs
@@ -0,0 +1,95 @@
+using UnityEngine;
+using UnityEngine.UI;
+using System.Collections;
+using System;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// An attribute to conditionnally hide fields based on the current selection in an enum.
+ /// Usage : [MMNVEnumCondition("rotationMode", (int)RotationMode.LookAtTarget, (int)RotationMode.RotateToAngles)]
+ ///
+ [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Class | AttributeTargets.Struct, Inherited = true)]
+ public class MMNVEnumConditionAttribute : PropertyAttribute
+ {
+ public string ConditionEnum = "";
+ public bool Hidden = false;
+
+ BitArray bitArray = new BitArray(32);
+ public bool ContainsBitFlag(int enumValue)
+ {
+ return bitArray.Get(enumValue);
+ }
+
+ public MMNVEnumConditionAttribute(string conditionBoolean, params int[] enumValues)
+ {
+ this.ConditionEnum = conditionBoolean;
+ this.Hidden = true;
+
+ for (int i = 0; i < enumValues.Length; i++)
+ {
+ bitArray.Set(enumValues[i], true);
+ }
+ }
+ }
+
+
+#if UNITY_EDITOR
+ [CustomPropertyDrawer(typeof(MMNVEnumConditionAttribute))]
+ public class EnumConditionAttributeDrawer : PropertyDrawer
+ {
+ public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
+ {
+ MMNVEnumConditionAttribute enumConditionAttribute = (MMNVEnumConditionAttribute)attribute;
+ bool enabled = GetConditionAttributeResult(enumConditionAttribute, property);
+ bool previouslyEnabled = GUI.enabled;
+ GUI.enabled = enabled;
+ if (!enumConditionAttribute.Hidden || enabled)
+ {
+ EditorGUI.PropertyField(position, property, label, true);
+ }
+ GUI.enabled = previouslyEnabled;
+ }
+
+ private bool GetConditionAttributeResult(MMNVEnumConditionAttribute enumConditionAttribute, SerializedProperty property)
+ {
+ bool enabled = true;
+ string propertyPath = property.propertyPath;
+ string conditionPath = propertyPath.Replace(property.name, enumConditionAttribute.ConditionEnum);
+ SerializedProperty sourcePropertyValue = property.serializedObject.FindProperty(conditionPath);
+
+ if (sourcePropertyValue != null)
+ {
+ int currentEnum = sourcePropertyValue.enumValueIndex;
+
+ enabled = enumConditionAttribute.ContainsBitFlag(currentEnum);
+ }
+ else
+ {
+ Debug.LogWarning("No matching boolean found for ConditionAttribute in object: " + enumConditionAttribute.ConditionEnum);
+ }
+
+ return enabled;
+ }
+
+ public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
+ {
+ MMNVEnumConditionAttribute enumConditionAttribute = (MMNVEnumConditionAttribute)attribute;
+ bool enabled = GetConditionAttributeResult(enumConditionAttribute, property);
+
+ if (!enumConditionAttribute.Hidden || enabled)
+ {
+ return EditorGUI.GetPropertyHeight(property, label);
+ }
+ else
+ {
+ return -EditorGUIUtility.standardVerticalSpacing;
+ }
+ }
+ }
+#endif
+}
+
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVEnumCondition.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVEnumCondition.cs.meta
new file mode 100644
index 0000000..00c7456
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVEnumCondition.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: eb05d5d3c4efbc14cb10fa6c533b57f3
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVHapticTypes.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVHapticTypes.cs
new file mode 100644
index 0000000..4213245
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVHapticTypes.cs
@@ -0,0 +1,13 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// The list of the all the haptic presets that come bundled with Nice Vibrations
+ ///
+ public enum HapticTypes { Selection, Success, Warning, Failure, LightImpact, MediumImpact, HeavyImpact, RigidImpact, SoftImpact, None }
+}
+
+
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVHapticTypes.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVHapticTypes.cs.meta
new file mode 100644
index 0000000..0fc8f17
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVHapticTypes.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cae0cc22a7febe642a01c40b2778d020
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVInspectorButton.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVInspectorButton.cs
new file mode 100644
index 0000000..3d7b6e7
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVInspectorButton.cs
@@ -0,0 +1,56 @@
+using UnityEngine;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+using System.Reflection;
+
+namespace MoreMountains.NiceVibrations
+{
+ [System.AttributeUsage(System.AttributeTargets.Field)]
+ public class MMNVInspectorButtonAttribute : PropertyAttribute
+ {
+ public readonly string MethodName;
+
+ public MMNVInspectorButtonAttribute(string MethodName)
+ {
+ this.MethodName = MethodName;
+ }
+ }
+
+#if UNITY_EDITOR
+ [CustomPropertyDrawer(typeof(MMNVInspectorButtonAttribute))]
+ public class InspectorMMNVButtonPropertyDrawer : PropertyDrawer
+ {
+ private MethodInfo _eventMethodInfo = null;
+
+ public override void OnGUI(Rect position, SerializedProperty prop, GUIContent label)
+ {
+ MMNVInspectorButtonAttribute inspectorButtonAttribute = (MMNVInspectorButtonAttribute)attribute;
+
+ float buttonLength = position.width;
+ Rect buttonRect = new Rect(position.x, position.y, buttonLength, position.height);
+ GUI.skin.button.alignment = TextAnchor.MiddleLeft;
+
+ if (GUI.Button(buttonRect, inspectorButtonAttribute.MethodName))
+ {
+ System.Type eventOwnerType = prop.serializedObject.targetObject.GetType();
+ string eventName = inspectorButtonAttribute.MethodName;
+
+ if (_eventMethodInfo == null)
+ {
+ _eventMethodInfo = eventOwnerType.GetMethod(eventName, BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
+ }
+
+ if (_eventMethodInfo != null)
+ {
+ _eventMethodInfo.Invoke(prop.serializedObject.targetObject, null);
+ }
+ else
+ {
+ Debug.LogWarning(string.Format("InspectorButton: Unable to find method {0} in {1}", eventName, eventOwnerType));
+ }
+ }
+ }
+ }
+#endif
+}
\ No newline at end of file
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVInspectorButton.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVInspectorButton.cs.meta
new file mode 100644
index 0000000..f0cc527
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVInspectorButton.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1d9bf2d53397a294eacdbab9b13bc653
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVPlatform.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVPlatform.cs
new file mode 100644
index 0000000..fc614a7
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVPlatform.cs
@@ -0,0 +1,35 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ public static class MMNVPlatform
+ {
+
+ ///
+ /// Returns true if the current platform is Android, false otherwise.
+ ///
+ public static bool Android()
+ {
+#if UNITY_ANDROID && !UNITY_EDITOR
+ return true;
+#else
+ return false;
+#endif
+ }
+
+ ///
+ /// Returns true if the current platform is iOS, false otherwise
+ ///
+ /// true, if O was ied, false otherwise.
+ public static bool iOS()
+ {
+#if UNITY_IOS && !UNITY_EDITOR
+ return true;
+#else
+ return false;
+#endif
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVPlatform.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVPlatform.cs.meta
new file mode 100644
index 0000000..eb453b9
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVPlatform.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: b84b1c665a0538d498b5bb2d5cf7de06
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVRumbleWaveFormAsset.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVRumbleWaveFormAsset.cs
new file mode 100644
index 0000000..2e05610
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVRumbleWaveFormAsset.cs
@@ -0,0 +1,32 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// A class used to store android waveform values, used to trigger haptics with varying intensity
+ ///
+ [System.Serializable]
+ public class MMNVRumbleWaveForm
+ {
+ public long[] Pattern;
+ public int[] LowFrequencyAmplitudes;
+ public int[] HighFrequencyAmplitudes;
+ }
+
+ ///
+ /// A scriptable object used to store waveform values
+ ///
+ [CreateAssetMenu(fileName = "RumbleWaveFormAsset", menuName = "MoreMountains/NiceVibrations/RumbleWaveFormAsset")]
+ public class MMNVRumbleWaveFormAsset : ScriptableObject
+ {
+ [Header("Properties")]
+ public MMNVRumbleWaveForm WaveForm;
+
+ [Header("AHAP")]
+ public TextAsset AHAPFile;
+ public float IntensityMultiplier = 1f;
+ public float SharpnessMultiplier = 1f;
+ }
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVRumbleWaveFormAsset.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVRumbleWaveFormAsset.cs.meta
new file mode 100644
index 0000000..9a10462
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNVRumbleWaveFormAsset.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 293e87131443fc542ba7cdc54a7314f4
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOS.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOS.cs
new file mode 100644
index 0000000..c67b6d4
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOS.cs
@@ -0,0 +1,239 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Runtime.InteropServices;
+using System;
+
+#if UNITY_IOS
+ using UnityEngine.iOS;
+#endif
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// This class handles all iOS haptics specific calls, pre-CoreHaptics API
+ ///
+ public static class MMNViOS
+ {
+ // The following will only work if the iOSHapticInterface.m file is in a Plugins folder in your project.
+ // It's a pretty straightforward implementation of iOS's UIFeedbackGenerator's methods.
+ // You can learn more about them there : https://developer.apple.com/documentation/uikit/uifeedbackgenerator
+
+#if UNITY_IOS && !UNITY_EDITOR
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_InstantiateFeedbackGenerators();
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_ReleaseFeedbackGenerators();
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_SelectionHaptic();
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_SuccessHaptic();
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_WarningHaptic();
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_FailureHaptic();
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_LightImpactHaptic();
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_MediumImpactHaptic();
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_HeavyImpactHaptic();
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_RigidImpactHaptic();
+ [DllImport ("__Internal")]
+ private static extern void MMNViOS_SoftImpactHaptic();
+#else
+ private static void MMNViOS_InstantiateFeedbackGenerators() { }
+ private static void MMNViOS_ReleaseFeedbackGenerators() { }
+ private static void MMNViOS_SelectionHaptic() { }
+ private static void MMNViOS_SuccessHaptic() { }
+ private static void MMNViOS_WarningHaptic() { }
+ private static void MMNViOS_FailureHaptic() { }
+ private static void MMNViOS_LightImpactHaptic() { }
+ private static void MMNViOS_MediumImpactHaptic() { }
+ private static void MMNViOS_HeavyImpactHaptic() { }
+ private static void MMNViOS_RigidImpactHaptic() { }
+ private static void MMNViOS_SoftImpactHaptic() { }
+#endif
+ private static bool iOSHapticsInitialized = false;
+
+ ///
+ /// Call this method to initialize the haptics. If you forget to do it, Nice Vibrations will do it for you the first time you
+ /// call iOSTriggerHaptics. It's better if you do it though.
+ ///
+ public static void iOSInitializeHaptics()
+ {
+ if (!MMNVPlatform.iOS()) { return; }
+ MMNViOS_InstantiateFeedbackGenerators();
+ iOSHapticsInitialized = true;
+ }
+
+ ///
+ /// Releases the feedback generators, usually you'll want to call this at OnDisable(); or anytime you know you won't need
+ /// vibrations anymore.
+ ///
+ public static void iOSReleaseHaptics()
+ {
+ if (!MMNVPlatform.iOS()) { return; }
+ MMNViOS_ReleaseFeedbackGenerators();
+ }
+
+ ///
+ /// iOS only : triggers a haptic feedback of the specified type
+ ///
+ /// Type.
+ public static void iOSTriggerHaptics(HapticTypes type, bool defaultToRegularVibrate = false)
+ {
+ if (!MMNVPlatform.iOS()) { return; }
+
+ if (!iOSHapticsInitialized)
+ {
+ iOSInitializeHaptics();
+ }
+
+ // this will trigger a standard vibration on all the iOS devices that don't support haptic feedback
+
+ if (iOSHapticsSupported())
+ {
+ switch (type)
+ {
+ case HapticTypes.Selection:
+ MMNViOS_SelectionHaptic();
+ break;
+
+ case HapticTypes.Success:
+ MMNViOS_SuccessHaptic();
+ break;
+
+ case HapticTypes.Warning:
+ MMNViOS_WarningHaptic();
+ break;
+
+ case HapticTypes.Failure:
+ MMNViOS_FailureHaptic();
+ break;
+
+ case HapticTypes.LightImpact:
+ MMNViOS_LightImpactHaptic();
+ break;
+
+ case HapticTypes.MediumImpact:
+ MMNViOS_MediumImpactHaptic();
+ break;
+
+ case HapticTypes.HeavyImpact:
+ MMNViOS_HeavyImpactHaptic();
+ break;
+
+ case HapticTypes.RigidImpact:
+ MMNViOS_RigidImpactHaptic();
+ break;
+
+ case HapticTypes.SoftImpact:
+ MMNViOS_SoftImpactHaptic();
+ break;
+ }
+ }
+ else if (defaultToRegularVibrate)
+ {
+ #if UNITY_IOS
+ Handheld.Vibrate();
+ #endif
+ }
+ }
+
+ ///
+ /// Returns a string containing iOS SDK informations
+ ///
+ /// The OSSDK version.
+ public static string iOSSDKVersion()
+ {
+ #if UNITY_IOS && !UNITY_EDITOR
+ return Device.systemVersion;
+ #else
+ return null;
+ #endif
+ }
+
+
+ ///
+ /// Computes and stores the current iOS version
+ ///
+ ///
+ public static float ComputeiOSVersion()
+ {
+ int version = 0;
+ string versionAsString = "0.0.0";
+#if UNITY_IOS && !UNITY_EDITOR
+ versionAsString = Device.systemVersion;
+#endif
+
+ string[] versionArray = versionAsString.Split('.');
+
+ int.TryParse(versionArray[0], out version);
+
+ return version;
+ }
+
+ ///
+ /// This methods tests the current device generation against a list of devices that don't support haptics, and returns true if haptics are supported, false otherwise.
+ ///
+ /// true, if supported was hapticsed, false otherwise.
+ public static bool iOSHapticsSupported()
+ {
+ bool hapticsSupported = false;
+ #if UNITY_IOS
+ DeviceGeneration generation = Device.generation;
+ if ((generation == DeviceGeneration.iPhone3G)
+ || (generation == DeviceGeneration.iPhone3GS)
+ || (generation == DeviceGeneration.iPodTouch1Gen)
+ || (generation == DeviceGeneration.iPodTouch2Gen)
+ || (generation == DeviceGeneration.iPodTouch3Gen)
+ || (generation == DeviceGeneration.iPodTouch4Gen)
+ || (generation == DeviceGeneration.iPhone4)
+ || (generation == DeviceGeneration.iPhone4S)
+ || (generation == DeviceGeneration.iPhone5)
+ || (generation == DeviceGeneration.iPhone5C)
+ || (generation == DeviceGeneration.iPhone5S)
+ || (generation == DeviceGeneration.iPhone6)
+ || (generation == DeviceGeneration.iPhone6Plus)
+ || (generation == DeviceGeneration.iPhone6S)
+ || (generation == DeviceGeneration.iPhone6SPlus)
+ || (generation == DeviceGeneration.iPhoneSE1Gen)
+ || (generation == DeviceGeneration.iPad1Gen)
+ || (generation == DeviceGeneration.iPad2Gen)
+ || (generation == DeviceGeneration.iPad3Gen)
+ || (generation == DeviceGeneration.iPad4Gen)
+ || (generation == DeviceGeneration.iPad5Gen)
+ || (generation == DeviceGeneration.iPadAir1)
+ || (generation == DeviceGeneration.iPadAir2)
+ || (generation == DeviceGeneration.iPadMini1Gen)
+ || (generation == DeviceGeneration.iPadMini2Gen)
+ || (generation == DeviceGeneration.iPadMini3Gen)
+ || (generation == DeviceGeneration.iPadMini4Gen)
+ || (generation == DeviceGeneration.iPadPro10Inch1Gen)
+ || (generation == DeviceGeneration.iPadPro10Inch2Gen)
+ || (generation == DeviceGeneration.iPadPro11Inch)
+ || (generation == DeviceGeneration.iPadPro1Gen)
+ || (generation == DeviceGeneration.iPadPro2Gen)
+ || (generation == DeviceGeneration.iPadPro3Gen)
+ || (generation == DeviceGeneration.iPadUnknown)
+ || (generation == DeviceGeneration.iPodTouch1Gen)
+ || (generation == DeviceGeneration.iPodTouch2Gen)
+ || (generation == DeviceGeneration.iPodTouch3Gen)
+ || (generation == DeviceGeneration.iPodTouch4Gen)
+ || (generation == DeviceGeneration.iPodTouch5Gen)
+ || (generation == DeviceGeneration.iPodTouch6Gen)
+ || (generation == DeviceGeneration.iPhone6SPlus))
+ {
+ hapticsSupported = false;
+ }
+ else
+ {
+ hapticsSupported = true;
+ }
+ #endif
+ return hapticsSupported;
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOS.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOS.cs.meta
new file mode 100644
index 0000000..7be51e5
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOS.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 170430725db1fd14585bf5445517f544
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOSCoreHaptics.cs b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOSCoreHaptics.cs
new file mode 100644
index 0000000..94c66d5
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOSCoreHaptics.cs
@@ -0,0 +1,254 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Runtime.InteropServices;
+using System;
+using AOT;
+
+#if UNITY_IOS
+using UnityEngine.iOS;
+#endif
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// This class handles all iOS haptics specific calls for devices that support the CoreHaptics API (post iOS 13)
+ ///
+ public static class MMNViOSCoreHaptics
+ {
+ public static event Action OnHapticPatternStopped;
+ public static event Action OnHapticPatternError;
+ public static event Action OnHapticPatternReset;
+
+ private static float _initialContinuousIntensity;
+ private static float _initialContinuousSharpness;
+
+#if UNITY_IOS && !UNITY_EDITOR
+ [DllImport("__Internal")]
+ private static extern bool MMNViOS_CoreHapticsSupported();
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_CreateEngine();
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_StopEngine();
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_PlayTransientHapticPattern(float intensity, float sharpness, bool threaded);
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_PlayContinuousHapticPattern(float intensity, float sharpness, float duration, bool threaded, bool fullIntensity);
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_UpdateContinuousHapticPattern(float intensity, float sharpness, bool threaded);
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_StopContinuousHaptic();
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_PlayCoreHapticsFromJSON(string jsonString, bool threaded);
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_CoreHapticsRegisterHapticEngineFinishedCallback(Action callback);
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_CoreHapticsRegisterHapticEngineErrorCallback(Action callback);
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_CoreHapticsRegisterHapticEngineResetCallback(Action callback);
+ [DllImport("__Internal")]
+ private static extern void MMNViOS_CoreHapticsSetDebugMode(bool status);
+#else
+ private static bool MMNViOS_CoreHapticsSupported() { return false; }
+ private static void MMNViOS_CoreHapticsSetDebugMode(bool status) { }
+ private static void MMNViOS_CreateEngine() { }
+ private static void MMNViOS_StopEngine() { }
+ private static void MMNViOS_PlayTransientHapticPattern(float intensity, float sharpness, bool threaded) { }
+ private static void MMNViOS_PlayContinuousHapticPattern(float intensity, float sharpness, float duration, bool threaded, bool fullIntensity) { }
+ private static void MMNViOS_UpdateContinuousHapticPattern(float intensity, float sharpness, bool threaded) { }
+ private static void MMNViOS_StopContinuousHaptic() { }
+ private static void MMNViOS_PlayCoreHapticsFromJSON(string jsonString, bool threaded) { }
+ private static void MMNViOS_CoreHapticsRegisterHapticEngineFinishedCallback(Action callback) { }
+ private static void MMNViOS_CoreHapticsRegisterHapticEngineErrorCallback(Action callback) { }
+ private static void MMNViOS_CoreHapticsRegisterHapticEngineResetCallback(Action callback) { }
+#endif
+
+ ///
+ /// On construction we initialize our haptic engine
+ ///
+ static MMNViOSCoreHaptics()
+ {
+ MMNViOS_CoreHapticsRegisterHapticEngineFinishedCallback(HapticStoppedCallback);
+ MMNViOS_CoreHapticsRegisterHapticEngineErrorCallback(HapticsErrorCallback);
+ MMNViOS_CoreHapticsRegisterHapticEngineResetCallback(HapticsResetCallback);
+ }
+
+ ///
+ /// Plays a core haptics pattern from a JSON string that matches the AHAP format
+ ///
+ ///
+ public static void PlayCoreHapticsFromJSON(string jsonString, bool threaded = false)
+ {
+ if ((jsonString == null) || (jsonString == ""))
+ {
+ return;
+ }
+ MMNViOS_PlayCoreHapticsFromJSON(jsonString, threaded);
+ }
+
+ ///
+ /// Plays a transient haptic pattern of the specified intensity and sharpness.
+ /// Transient haptics are very short haptic patterns.
+ ///
+ ///
+ ///
+ public static void PlayTransientHapticPattern(float intensity, float sharpness, bool threaded = false)
+ {
+ MMNViOS_PlayTransientHapticPattern(intensity, sharpness, threaded);
+ }
+
+ ///
+ /// Plays a continuous haptic at the specified intensity and sharpness for the specified duration
+ /// The coroutineMonobehaviour parameter is optional, only send that if you intend to raise this specific continuous pattern's intensity higher than its
+ /// initial value
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void PlayContinuousHapticPattern(float intensity, float sharpness,
+ float duration, MonoBehaviour coroutineMonobehaviour = null, bool threaded = false, bool fullIntensity = true)
+ {
+ if (intensity < 0.01f)
+ {
+ intensity = 0.01f;
+ }
+
+ _initialContinuousIntensity = intensity;
+ _initialContinuousSharpness = sharpness;
+
+ MMNViOS_PlayContinuousHapticPattern(intensity, sharpness, duration, threaded, fullIntensity);
+ }
+
+ ///
+ /// This coroutine waits for a frame and returns intensity to its normal value
+ ///
+ ///
+ ///
+ ///
+ public static IEnumerator ContinuousHapticPatternCoroutine(float intensity, float sharpness, bool threaded = false)
+ {
+ yield return null;
+ MMNViOS_UpdateContinuousHapticPattern(intensity, sharpness, threaded);
+ }
+
+ ///
+ /// This method lets you update the intensity and sharpness of a continuous haptics as it's playing.
+ ///
+ /// On early versions of the Core Haptics API only, this method could end up being confusing,
+ /// as it'd work like so (to mimic Apple's own API implementation) :
+ ///
+ /// Sending a dynamic parameter for intensity multiplies the original pattern’s event intensity by the dynamic parameter value.
+ /// Sending a dynamic parameter for sharpness adds the dynamic parameter value to the original pattern’s event sharpness.
+ ///
+ /// If you'd rather not have to do weird maths to just set two values, you can use
+ /// the UpdateContinuousHapticPatternRational method, which will handle that for you.
+ ///
+ ///
+ ///
+ public static void UpdateContinuousHapticPattern(float intensity, float sharpness, bool threaded = false)
+ {
+ MMNViOS_UpdateContinuousHapticPattern(intensity, sharpness, threaded);
+ }
+
+ ///
+ /// On early versions of the Core Haptics API only,
+ /// this method lets you update the intensity and sharpness of a continuous haptics as it's playing.
+ /// It simply sets the intensity and sharpness values to the ones set in parameters
+ /// Just note that due to limitations in Apple's implementation, the intensity can't go higher than its initial value.
+ /// The only way to bypass that is to pass a monobehaviour to PlayContinuousHapticPattern when calling it
+ ///
+ ///
+ ///
+ public static void UpdateContinuousHapticPatternRational(float intensity, float sharpness, bool threaded = false)
+ {
+ if (_initialContinuousIntensity < 0.01f)
+ {
+ _initialContinuousIntensity = 0.01f;
+ }
+
+ float newIntensity = intensity / _initialContinuousIntensity;
+ float newSharpness = sharpness - _initialContinuousSharpness;
+
+ MMNViOS_UpdateContinuousHapticPattern(newIntensity, newSharpness, threaded);
+ }
+
+ ///
+ /// Stops all running or continuous haptic patterns
+ ///
+ public static void StopHapticPatterns()
+ {
+ MMNViOS_StopContinuousHaptic();
+ }
+
+ ///
+ /// Stops the haptic engine entirely, cutting short any AHAP or transient that may have been playing
+ ///
+ public static void CreateEngine()
+ {
+ MMNViOS_CreateEngine();
+ }
+
+ ///
+ /// Stops the haptic engine entirely, cutting short any AHAP or transient that may have been playing
+ ///
+ public static void StopEngine()
+ {
+ MMNViOS_StopEngine();
+ }
+
+ ///
+ /// Sets the debug mode to true or false.
+ /// While debug mode is active, pretty much every haptic call will output a log in the console.
+ /// Useful when debugging without a device
+ ///
+ ///
+ public static void SetDebugMode(bool newStatus)
+ {
+ MMNViOS_CoreHapticsSetDebugMode(newStatus);
+ }
+
+ ///
+ /// Returns true if CoreHaptics are supported, false otherwise
+ ///
+ ///
+ public static bool CoreHapticsSupported()
+ {
+ return MMNViOS_CoreHapticsSupported();
+ }
+
+
+ ///
+ /// Triggers the haptics stopped callback
+ ///
+ #if UNITY_IOS
+ [MonoPInvokeCallback(typeof(Action))]
+ #endif
+ private static void HapticStoppedCallback()
+ {
+ OnHapticPatternStopped?.Invoke();
+ }
+
+ ///
+ /// Triggers the haptics error callback
+ ///
+ #if UNITY_IOS
+ [MonoPInvokeCallback(typeof(Action))]
+ #endif
+ private static void HapticsErrorCallback()
+ {
+ OnHapticPatternError?.Invoke();
+ }
+
+ ///
+ /// Triggers the haptics reset callback
+ ///
+ #if UNITY_IOS
+ [MonoPInvokeCallback(typeof(Action))]
+ #endif
+ private static void HapticsResetCallback()
+ {
+ OnHapticPatternReset?.Invoke();
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOSCoreHaptics.cs.meta b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOSCoreHaptics.cs.meta
new file mode 100644
index 0000000..9b47803
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Haptics/MMNViOSCoreHaptics.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 17c60a018b5ca4d8489e2f3e7c767bb8
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/NiceVibrations.meta b/Assets/NiceVibrations/Common/Scripts/NiceVibrations.meta
new file mode 100644
index 0000000..5fbda99
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/NiceVibrations.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fde367cdbe2e041c286a017f147f6034
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMNVPath.cs b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMNVPath.cs
new file mode 100644
index 0000000..8fc9da5
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMNVPath.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using Object = UnityEngine.Object;
+
+namespace MoreMountains.NiceVibrations
+{
+ [CreateAssetMenu(fileName = "MMNVPathDefinition", menuName = "MoreMountains/NiceVibrations/MMNVPathDefinition")]
+ public class MMNVPath : ScriptableObject
+ {
+ [Header("Swift")]
+ /// whether or not the post processing build should force ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES to true on the Framework
+ /// it's usually not needed, but it's solved build errors for some people
+ public bool ForceAlwaysEmbedSwiftSLForFramework = false;
+ /// whether or not the post processing build should force ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES to true on the Main Project
+ public bool ForceAlwaysEmbedSwiftSLForMainTarget = false;
+ [Header("Bindings")]
+ /// a link to the bridging header class (UnitySwift-Bridging-Header.h)
+ public Object Header;
+ /// a link to the module map file, module.modulemap
+ public Object ModuleMap;
+ }
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMNVPath.cs.meta b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMNVPath.cs.meta
new file mode 100644
index 0000000..5a5ce62
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMNVPath.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 258c36e07f5da5d438332fef965d7d8e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManager.cs b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManager.cs
new file mode 100644
index 0000000..4cd82d4
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManager.cs
@@ -0,0 +1,654 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Runtime.InteropServices;
+using System;
+
+#if UNITY_IOS
+ using UnityEngine.iOS;
+#endif
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// This class will allow you to trigger vibrations and haptic feedbacks on both iOS and Android,
+ /// or on each specific platform independently.
+ ///
+ /// For haptics patterns, it takes inspiration from the iOS guidelines :
+ /// https://developer.apple.com/ios/human-interface-guidelines/user-interaction/feedback
+ /// Of course the iOS haptics are called directly as they are, and they're crudely reproduced on Android.
+ /// Feel free to tweak the patterns or create your own.
+ ///
+ /// Here's a brief overview of the patterns :
+ ///
+ /// - selection : light
+ /// - success : light / heavy
+ /// - warning : heavy / medium
+ /// - failure : medium / medium / heavy / light
+ /// - light
+ /// - medium
+ /// - heavy
+ /// - soft
+ /// - rigid
+ ///
+ /// In addition, this class will also let you trigger core haptics on supported devices running recent versions of iOS (after iOS 13).
+ /// These let you trigger transient or continuous haptics, or play AHAP based JSON strings for even more control.
+ ///
+ public static class MMVibrationManager
+ {
+ /// the current iOS version
+ public static float iOSVersion;
+ /// the duration of the light vibration (in microseconds)
+ public static long LightDuration = 20;
+ /// the duration of the medium vibration (in microseconds)
+ public static long MediumDuration = 40;
+ /// the duration of the heavy vibration (in microseconds)
+ public static long HeavyDuration = 80;
+ /// the duration of the rigid vibration (in microseconds)
+ public static long RigidDuration = 20;
+ /// the duration of the soft vibration (in microseconds)
+ public static long SoftDuration = 80;
+ /// the amplitude of the light vibration
+ public static int LightAmplitude = 40;
+ /// the amplitude of the medium vibration
+ public static int MediumAmplitude = 120;
+ /// the amplitude of the heavy vibration
+ public static int HeavyAmplitude = 255;
+ /// the amplitude of the rigid vibration
+ public static int RigidAmplitude = 255;
+ /// the amplitude of the soft vibration
+ public static int SoftAmplitude = 40;
+
+ private static bool _vibrationsActive = true;
+ private static bool _debugLogActive = false;
+ private static bool _hapticsPlayedOnce = false;
+
+ private static long[] _rigidImpactPattern = { 0, RigidDuration };
+ private static int[] _rigidImpactPatternAmplitude = { 0, RigidAmplitude };
+ private static long[] _softImpactPattern = { 0, SoftDuration };
+ private static int[] _softImpactPatternAmplitude = { 0, SoftAmplitude };
+ private static long[] _lightImpactPattern = { 0, LightDuration };
+ private static int[] _lightImpactPatternAmplitude = { 0, LightAmplitude };
+ private static long[] _mediumImpactPattern = { 0, MediumDuration };
+ private static int[] _mediumImpactPatternAmplitude = { 0, MediumAmplitude };
+ private static long[] _HeavyImpactPattern = { 0, HeavyDuration };
+ private static int[] _HeavyImpactPatternAmplitude = { 0, HeavyAmplitude };
+ private static long[] _successPattern = { 0, LightDuration, LightDuration, HeavyDuration};
+ private static int[] _successPatternAmplitude = { 0, LightAmplitude, 0, HeavyAmplitude};
+ private static long[] _warningPattern = { 0, HeavyDuration, LightDuration, MediumDuration};
+ private static int[] _warningPatternAmplitude = { 0, HeavyAmplitude, 0, MediumAmplitude};
+ private static long[] _failurePattern = { 0, MediumDuration, LightDuration, MediumDuration, LightDuration, HeavyDuration, LightDuration, LightDuration};
+ private static int[] _failurePatternAmplitude = { 0, MediumAmplitude, 0, MediumAmplitude, 0, HeavyAmplitude, 0, LightAmplitude};
+
+ #if MOREMOUNTAINS_NICEVIBRATIONS_RUMBLE
+ private static Vector3 _rumbleRigid = new Vector3(0.5f, 1f, 0.08f);
+ private static Vector3 _rumbleSoft = new Vector3(1f, 0.03f, 0.1f);
+ private static Vector3 _rumbleLight = new Vector3(0.5f, 0.5f, 0.02f);
+ private static Vector3 _rumbleMedium = new Vector3(0.8f, 0.8f, 0.04f);
+ private static Vector3 _rumbleHeavy = new Vector3(1f, 1f, 0.08f);
+ private static Vector3 _rumbleSuccess = new Vector3(1f, 1f, 1f);
+ private static Vector3 _rumbleWarning = new Vector3(1f, 1f, 1f);
+ private static Vector3 _rumbleFailure = new Vector3(1f, 1f, 1f);
+ private static Vector3 _rumbleSelection = new Vector3(1f, 1f, 1f);
+ #endif
+
+
+ ///
+ /// On construction, computes the current iOS version
+ ///
+ static MMVibrationManager()
+ {
+ DebugLog("[MMVibrationManager] Initialize vibration manager");
+ iOSVersion = MMNViOS.ComputeiOSVersion();
+ }
+
+ ///
+ /// Enables or disables all haptics called via this class
+ ///
+ ///
+ public static void SetHapticsActive(bool status)
+ {
+ DebugLog("[MMVibrationManager] Set haptics active : "+status);
+ _vibrationsActive = status;
+ if (!status)
+ {
+ MMVibrationManager.StopContinuousHaptic(true);
+ }
+ }
+
+ ///
+ /// Returns true if haptics are supported on this device
+ ///
+ ///
+ public static bool HapticsSupported()
+ {
+ if (iOS())
+ {
+ if (iOSVersion >= 13)
+ {
+ return MMNViOSCoreHaptics.CoreHapticsSupported();
+ }
+ else
+ {
+ return MMNViOS.iOSHapticsSupported();
+ }
+ }
+ if (Android())
+ {
+ return MMNVAndroid.AndroidHasVibrator();
+ }
+ return false;
+ }
+
+ ///
+ /// Enables or disables console logs (off by default)
+ ///
+ ///
+ public static void SetDebugMode(bool log)
+ {
+ _debugLogActive = log;
+ MMNViOSCoreHaptics.SetDebugMode(true);
+ }
+
+ ///
+ /// Returns true if the current platform is Android, false otherwise.
+ ///
+ public static bool Android()
+ {
+ return MMNVPlatform.Android();
+ }
+
+ ///
+ /// Returns true if the current platform is iOS, false otherwise
+ ///
+ /// true, if O was ied, false otherwise.
+ public static bool iOS()
+ {
+ return MMNVPlatform.iOS();
+ }
+
+ ///
+ /// Triggers a simple vibration
+ ///
+ public static void Vibrate()
+ {
+ DebugLog("[MMVibrationManager] Vibrate");
+ if (!_vibrationsActive)
+ {
+ return;
+ }
+ if (Android())
+ {
+ MMNVAndroid.AndroidVibrate (MediumDuration);
+ }
+ else if (iOS())
+ {
+ if ((iOSVersion >= 13) && HapticsSupported())
+ {
+ MMNViOSCoreHaptics.PlayTransientHapticPattern(0.8f, 0.8f, true);
+ _hapticsPlayedOnce = true;
+ }
+ else
+ {
+ MMNViOS.iOSTriggerHaptics(HapticTypes.MediumImpact);
+ }
+ }
+ }
+
+ ///
+ /// Triggers a haptic feedback of the specified type
+ ///
+ /// Type.
+ public static void Haptic(HapticTypes type, bool defaultToRegularVibrate = false, bool alsoRumble = false, MonoBehaviour coroutineSupport = null, int controllerID = -1)
+ {
+ if (!_vibrationsActive)
+ {
+ return;
+ }
+
+ DebugLog("[MMVibrationManager] Regular Haptic");
+
+ if (Android())
+ {
+ switch (type)
+ {
+ case HapticTypes.None:
+ // do nothing
+ break;
+ case HapticTypes.Selection:
+ MMNVAndroid.AndroidVibrate (LightDuration, LightAmplitude);
+ break;
+
+ case HapticTypes.Success:
+ MMNVAndroid.AndroidVibrate(_successPattern, _successPatternAmplitude, -1);
+ break;
+
+ case HapticTypes.Warning:
+ MMNVAndroid.AndroidVibrate(_warningPattern, _warningPatternAmplitude, -1);
+ break;
+
+ case HapticTypes.Failure:
+ MMNVAndroid.AndroidVibrate(_failurePattern, _failurePatternAmplitude, -1);
+ break;
+
+ case HapticTypes.LightImpact:
+ MMNVAndroid.AndroidVibrate (_lightImpactPattern, _lightImpactPatternAmplitude, -1);
+ break;
+
+ case HapticTypes.MediumImpact:
+ MMNVAndroid.AndroidVibrate (_mediumImpactPattern, _mediumImpactPatternAmplitude, -1);
+ break;
+
+ case HapticTypes.HeavyImpact:
+ MMNVAndroid.AndroidVibrate (_HeavyImpactPattern, _HeavyImpactPatternAmplitude, -1);
+ break;
+ case HapticTypes.RigidImpact:
+ MMNVAndroid.AndroidVibrate(_rigidImpactPattern, _rigidImpactPatternAmplitude, -1);
+ break;
+ case HapticTypes.SoftImpact:
+ MMNVAndroid.AndroidVibrate(_softImpactPattern, _softImpactPatternAmplitude, -1);
+ break;
+ }
+ }
+ else if (iOS())
+ {
+ MMNViOS.iOSTriggerHaptics(type, defaultToRegularVibrate);
+ }
+
+ if (alsoRumble && (coroutineSupport != null))
+ {
+ #if MOREMOUNTAINS_NICEVIBRATIONS_RUMBLE
+ switch (type)
+ {
+ case HapticTypes.None:
+ // do nothing
+ break;
+ case HapticTypes.Selection:
+ MMNVRumble.Rumble(_rumbleLight.x, _rumbleMedium.y, _rumbleLight.z, coroutineSupport, controllerID);
+ break;
+
+ case HapticTypes.Success:
+ MMNVRumble.Rumble(_successPattern, _successPatternAmplitude, -1, coroutineSupport, controllerID);
+ break;
+
+ case HapticTypes.Warning:
+ MMNVRumble.Rumble(_warningPattern, _warningPatternAmplitude, -1, coroutineSupport, controllerID);
+ break;
+
+ case HapticTypes.Failure:
+ MMNVRumble.Rumble(_failurePattern, _failurePatternAmplitude, -1, coroutineSupport, controllerID);
+ break;
+
+ case HapticTypes.LightImpact:
+ MMNVRumble.Rumble(_rumbleLight.x, _rumbleLight.y, _rumbleLight.z, coroutineSupport, controllerID);
+ break;
+
+ case HapticTypes.MediumImpact:
+ MMNVRumble.Rumble(_rumbleMedium.x, _rumbleMedium.y, _rumbleMedium.z, coroutineSupport, controllerID);
+ break;
+
+ case HapticTypes.HeavyImpact:
+ MMNVRumble.Rumble(_rumbleHeavy.x, _rumbleHeavy.y, _rumbleHeavy.z, coroutineSupport, controllerID);
+ break;
+ case HapticTypes.RigidImpact:
+ MMNVRumble.Rumble(_rumbleRigid.x, _rumbleRigid.y, _rumbleRigid.z, coroutineSupport, controllerID);
+ break;
+ case HapticTypes.SoftImpact:
+ MMNVRumble.Rumble(_rumbleSoft.x, _rumbleSoft.y, _rumbleSoft.z, coroutineSupport, controllerID);
+ break;
+ }
+ #endif
+ }
+ }
+
+ ///
+ /// Plays a transient haptic, a single, short haptic feedback, of the specified intensity and sharpness
+ ///
+ ///
+ ///
+ public static void TransientHaptic(float intensity, float sharpness, bool alsoRumble = false, MonoBehaviour coroutineSupport = null, int controllerID = -1)
+ {
+ TransientHaptic(true, intensity, sharpness, true, intensity, sharpness, true, alsoRumble, intensity, sharpness, controllerID, coroutineSupport);
+ }
+
+ ///
+ /// Plays a transient haptic, signature with more fine control
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void TransientHaptic(bool vibrateiOS, float iOSIntensity, float iOSSharpness,
+ bool vibrateAndroid, float androidIntensity = 1f, float androidSharpness = 1f,
+ bool vibrateAndroidIfNoSupport = false,
+ bool rumble = true, float rumbleLowFrequency = 1f, float rumbleHighFrequency = 1f, int controllerID = -1,
+ MonoBehaviour coroutineSupport = null, bool threaded = true)
+ {
+ if (!_vibrationsActive)
+ {
+ return;
+ }
+
+ DebugLog("[MMVibrationManager] Transient Haptic");
+
+ if (Android() && vibrateAndroid)
+ {
+ if (!MMNVAndroid.AndroidHasAmplitudeControl() && !vibrateAndroidIfNoSupport)
+ {
+ return;
+ }
+ androidIntensity = Remap(androidIntensity, 0f, 1f, 0, 255);
+ MMNVAndroid.AndroidVibrate(100, (int)(androidIntensity));
+ }
+ else if (iOS() && vibrateiOS)
+ {
+ if ((iOSVersion >= 13) && HapticsSupported())
+ {
+ MMNViOSCoreHaptics.PlayTransientHapticPattern(iOSIntensity, iOSSharpness, threaded);
+ _hapticsPlayedOnce = true;
+ }
+ else
+ {
+ if (iOSIntensity < 0.3f)
+ {
+ MMNViOS.iOSTriggerHaptics(HapticTypes.LightImpact);
+ }
+ else if ((iOSIntensity >= 0.3f) && (iOSIntensity < 0.6f))
+ {
+ MMNViOS.iOSTriggerHaptics(HapticTypes.MediumImpact);
+ }
+ else
+ {
+ MMNViOS.iOSTriggerHaptics(HapticTypes.HeavyImpact);
+ }
+ }
+ }
+ if (rumble && (coroutineSupport != null))
+ {
+ #if MOREMOUNTAINS_NICEVIBRATIONS_RUMBLE
+ MMNVRumble.Rumble(rumbleLowFrequency, rumbleHighFrequency, 0.08f, coroutineSupport, controllerID);
+ #endif
+ }
+ }
+
+ ///
+ /// Plays a continuous haptic of the specified intensity, sharpness and duration
+ ///
+ /// the intensity of the haptic, between 0 and 1
+ /// the sharpness of the haptic, between 0 and 1
+ /// the duration in seconds
+ /// the fallback to use on old iOS versions that don't support Core Haptics
+ /// a monobehaviour to use to sustain this haptic
+ /// whether to also rumble or not
+ /// the ID of the controller
+ /// whether to call this on the main thread (false) or a secondary one (true)
+ /// whether to allow for full intensity control for subsequent updates
+ public static void ContinuousHaptic(float intensity, float sharpness, float duration,
+ HapticTypes fallbackOldiOS = HapticTypes.None, MonoBehaviour mono = null, bool alsoRumble = false, int controllerID = -1, bool threaded = false, bool fullIntensity = true)
+ {
+ ContinuousHaptic(true, intensity, sharpness, fallbackOldiOS, true, intensity, sharpness, false, alsoRumble, intensity, sharpness, controllerID, duration, mono, threaded, fullIntensity);
+ }
+
+ ///
+ /// Plays a continuous haptic, full options signature
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// the duration in seconds
+ /// a monobehaviour to use to sustain this haptic
+ /// whether to call this on the main thread (false) or a secondary one (true)
+ /// whether to allow for full intensity control for subsequent updates
+ public static void ContinuousHaptic(bool vibrateiOS, float iOSIntensity, float iOSSharpness, HapticTypes fallbackOldiOS,
+ bool vibrateAndroid, float androidIntensity, float androidSharpness,
+ bool vibrateAndroidIfNoSupport,
+ bool rumble, float rumbleLowFrequency, float rumbleHighFrequency, int controllerID,
+ float duration,
+ MonoBehaviour mono = null, bool threaded = false, bool fullIntensity = true)
+ {
+ if (!_vibrationsActive)
+ {
+ return;
+ }
+
+ DebugLog("[MMVibrationManager] Continuous Haptic");
+
+ if (Android() && vibrateAndroid)
+ {
+ if (!MMNVAndroid.AndroidHasAmplitudeControl() && !vibrateAndroidIfNoSupport)
+ {
+ return;
+ }
+ androidIntensity = Remap(androidIntensity, 0f, 1f, 0, 255);
+ MMNVAndroid.AndroidVibrate((long)(duration * 1000), (int)(androidIntensity));
+ }
+ else if (iOS() && vibrateiOS)
+ {
+ if ((iOSVersion >= 13) && HapticsSupported())
+ {
+ MMNViOSCoreHaptics.PlayContinuousHapticPattern(iOSIntensity, iOSSharpness, duration, mono, threaded, fullIntensity);
+ _hapticsPlayedOnce = true;
+ }
+ else
+ {
+ MMNViOS.iOSTriggerHaptics(fallbackOldiOS);
+ }
+ }
+ if (rumble && (mono != null))
+ {
+#if MOREMOUNTAINS_NICEVIBRATIONS_RUMBLE
+ MMNVRumble.RumbleContinuous(rumbleLowFrequency, rumbleHighFrequency, controllerID);
+#endif
+ }
+ }
+
+ ///
+ /// Updates a continuous haptic while it's playing. Not supported on Android for now, until Google adds API support for that
+ ///
+ ///
+ ///
+ ///
+ public static void UpdateContinuousHaptic(float intensity, float sharpness, bool alsoRumble = false, int controllerID = -1, bool threaded = false)
+ {
+ UpdateContinuousHaptic(true, intensity, sharpness, true, intensity, sharpness, alsoRumble, intensity, sharpness, controllerID, threaded);
+ }
+
+ ///
+ /// Updates a continuous haptic while it's playing. Not supported on Android for now, until Google adds API support for that
+ /// More options signature
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void UpdateContinuousHaptic(bool ios, float iosIntensity, float iosSharpness,
+ bool android, float androidIntensity, float androidSharpness,
+ bool rumble, float rumbleLowFrequency, float rumbleHighFrequency, int controllerID = -1,
+ bool threaded = false)
+ {
+ if (iOS() && ios)
+ {
+ if ((iOSVersion >= 13) && HapticsSupported())
+ {
+ MMNViOSCoreHaptics.UpdateContinuousHapticPattern(iosIntensity, iosSharpness, threaded);
+ _hapticsPlayedOnce = true;
+ }
+ }
+ if (rumble)
+ {
+#if MOREMOUNTAINS_NICEVIBRATIONS_RUMBLE
+ MMNVRumble.RumbleContinuous(rumbleLowFrequency, rumbleHighFrequency, controllerID);
+#endif
+ }
+ }
+
+ ///
+ /// Stops all currently running haptics
+ ///
+ ///
+ public static void StopAllHaptics(bool alsoRumble = false)
+ {
+ if (!_hapticsPlayedOnce)
+ {
+ return;
+ }
+
+ DebugLog("[MMVibrationManager] Stop all haptics");
+ MMNViOSCoreHaptics.StopEngine();
+ MMNVAndroid.AndroidCancelVibrations();
+ #if MOREMOUNTAINS_NICEVIBRATIONS_RUMBLE
+ if (alsoRumble)
+ {
+ MMNVRumble.StopRumble();
+ }
+ #endif
+ }
+
+ ///
+ /// Stops all running pattern or continuous haptics
+ ///
+ public static void StopContinuousHaptic(bool alsoRumble = false)
+ {
+ DebugLog("[MMVibrationManager] Stop Continuous Haptic");
+ MMNViOSCoreHaptics.StopHapticPatterns();
+ MMNVAndroid.AndroidCancelVibrations();
+ #if MOREMOUNTAINS_NICEVIBRATIONS_RUMBLE
+ if (alsoRumble)
+ {
+ MMNVRumble.StopRumble();
+ }
+ #endif
+ }
+
+ ///
+ /// Plays a haptic pattern, the most complex type of haptic, defined by a JSON string on iOS, and a pattern on Android
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void AdvancedHapticPattern(string iOSJSONString,
+ long[] androidPattern, int[] androidAmplitudes, int androidRepeat,
+ long[] rumblePattern, int[] rumbleLowFreqAmplitudes, int[] rumbleHighFreqAmplitudes, int rumbleRepeat,
+ HapticTypes fallbackOldiOS = HapticTypes.None,
+ MonoBehaviour coroutineSupport = null, int controllerID = -1, bool threaded = false)
+ {
+ AdvancedHapticPattern(true, iOSJSONString, true, androidPattern, androidAmplitudes, androidRepeat, false, true, rumblePattern,
+ rumbleLowFreqAmplitudes, rumbleHighFreqAmplitudes, rumbleRepeat, fallbackOldiOS, coroutineSupport, controllerID, threaded);
+ }
+
+ ///
+ /// Plays a advanced haptic pattern,
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void AdvancedHapticPattern(bool ios, string iOSJSONString,
+ bool android, long[] androidPattern, int[] androidAmplitudes, int androidRepeat,
+ bool vibrateAndroidIfNoSupport,
+ bool rumble,
+ long[] rumblePattern, int[] rumbleLowFreqAmplitudes, int[] rumbleHighFreqAmplitudes, int rumbleRepeat,
+ HapticTypes fallbackOldiOS = HapticTypes.None,
+ MonoBehaviour coroutineSupport = null, int controllerID = -1, bool threaded = false)
+ {
+ if (!_vibrationsActive)
+ {
+ return;
+ }
+
+ DebugLog("[MMVibrationManager] Advanced Haptic Pattern");
+
+ if (Android())
+ {
+ if (!MMNVAndroid.AndroidHasAmplitudeControl() && !vibrateAndroidIfNoSupport)
+ {
+ return;
+ }
+ MMNVAndroid.AndroidVibrate(androidPattern, androidAmplitudes, androidRepeat, threaded);
+ }
+ else if (iOS())
+ {
+ if ((iOSVersion >= 13) && HapticsSupported())
+ {
+ MMNViOSCoreHaptics.PlayCoreHapticsFromJSON(iOSJSONString, threaded);
+ _hapticsPlayedOnce = true;
+ }
+ else
+ {
+ MMNViOS.iOSTriggerHaptics(fallbackOldiOS);
+ }
+ }
+#if MOREMOUNTAINS_NICEVIBRATIONS_RUMBLE
+ if (coroutineSupport != null)
+ {
+ MMNVRumble.Rumble(rumblePattern, rumbleLowFreqAmplitudes, rumbleHighFreqAmplitudes, rumbleRepeat, coroutineSupport, controllerID);
+ }
+#endif
+ }
+
+ // DEBUG -------------------------------------------------------------------------------------------------------------------
+
+ ///
+ /// Outputs the specified string to the console if in debug mode
+ ///
+ ///
+ private static void DebugLog(string log)
+ {
+ if (_debugLogActive)
+ {
+ Debug.Log(log);
+ }
+ }
+
+ ///
+ /// Remaps value x between AB to CD
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static float Remap(float x, float A, float B, float C, float D)
+ {
+ float remappedValue = C + (x - A) / (B - A) * (D - C);
+ return remappedValue;
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManager.cs.meta b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManager.cs.meta
new file mode 100644
index 0000000..3ea2f31
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManager.cs.meta
@@ -0,0 +1,13 @@
+fileFormatVersion: 2
+guid: 20c4424cca8b44ea9aa36cd233abf0d8
+timeCreated: 1514906462
+licenseType: Store
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManagerTester.cs b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManagerTester.cs
new file mode 100644
index 0000000..777b0f7
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManagerTester.cs
@@ -0,0 +1,171 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// A minimal test class you can drop in any scene that can be used to trigger vibrations from its inspector
+ ///
+ public class MMVibrationManagerTester : MonoBehaviour
+ {
+ /// the possible haptic methods for this feedback
+ public enum HapticMethods { NativePreset, Transient, Continuous, AdvancedPattern, Stop }
+ /// the timescale to operate on
+ public enum Timescales { ScaledTime, UnscaledTime }
+
+ [Header("Haptics")]
+ public HapticMethods HapticMethod = HapticMethods.NativePreset;
+
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.NativePreset)]
+ public HapticTypes HapticType = HapticTypes.None;
+
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.Transient)]
+ public float TransientIntensity = 1f;
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.Transient)]
+ public float TransientSharpness = 1f;
+
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.Continuous)]
+ public float InitialContinuousIntensity = 1f;
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.Continuous)]
+ public AnimationCurve ContinuousIntensityCurve = new AnimationCurve(new Keyframe(0, 1), new Keyframe(1f, 1f));
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.Continuous)]
+ public float InitialContinuousSharpness = 1f;
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.Continuous)]
+ public AnimationCurve ContinuousSharpnessCurve = new AnimationCurve(new Keyframe(0, 1), new Keyframe(1f, 1f));
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.Continuous)]
+ public float ContinuousDuration = 1f;
+
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.AdvancedPattern)]
+ public TextAsset AHAPFileForIOS;
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.AdvancedPattern)]
+ public MMNVAndroidWaveFormAsset AndroidWaveFormFile;
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.AdvancedPattern)]
+ public MMNVRumbleWaveFormAsset RumbleWaveFormFile;
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.AdvancedPattern)]
+ public int AndroidRepeat = -1;
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.AdvancedPattern)]
+ public int RumbleRepeat = -1;
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.AdvancedPattern)]
+ public HapticTypes OldIOSFallback;
+ [MMNVEnumCondition("HapticMethod", (int)HapticMethods.AdvancedPattern)]
+ public Timescales Timescale = Timescales.UnscaledTime;
+
+ [Header("Rumble")]
+ public bool AllowRumble = true;
+
+ [MMNVInspectorButton("TestVibration")]
+ public bool TestVibrationButton;
+
+ protected static bool _continuousPlaying = false;
+ protected static float _continuousStartedAt = 0f;
+
+ ///
+ /// When this feedback gets played
+ ///
+ ///
+ ///
+ protected virtual void TestVibration()
+ {
+
+ Vector3 position = this.transform.position;
+
+ switch (HapticMethod)
+ {
+ case HapticMethods.AdvancedPattern:
+ string iOSString = (AHAPFileForIOS == null) ? "" : AHAPFileForIOS.text;
+
+ long[] androidPattern = (AndroidWaveFormFile == null) ? null : AndroidWaveFormFile.WaveForm.Pattern;
+ int[] androidAmplitude = (AndroidWaveFormFile == null) ? null : AndroidWaveFormFile.WaveForm.Amplitudes;
+
+ long[] rumblePattern = (RumbleWaveFormFile == null) ? null : RumbleWaveFormFile.WaveForm.Pattern;
+ int[] lowFreqAmplitude = (RumbleWaveFormFile == null) ? null : RumbleWaveFormFile.WaveForm.LowFrequencyAmplitudes;
+ int[] highFreqAmplitude = (RumbleWaveFormFile == null) ? null : RumbleWaveFormFile.WaveForm.HighFrequencyAmplitudes;
+
+ MMVibrationManager.AdvancedHapticPattern(iOSString, androidPattern, androidAmplitude, AndroidRepeat,
+ rumblePattern, lowFreqAmplitude, highFreqAmplitude, RumbleRepeat,
+ OldIOSFallback, this);
+ break;
+
+ case HapticMethods.Continuous:
+ StartCoroutine(ContinuousHapticsCoroutine());
+ break;
+
+ case HapticMethods.NativePreset:
+ MMVibrationManager.Haptic(HapticType, false, AllowRumble, this);
+ break;
+
+ case HapticMethods.Transient:
+ MMVibrationManager.TransientHaptic(TransientIntensity, TransientSharpness, AllowRumble, this);
+ break;
+
+ case HapticMethods.Stop:
+ if (_continuousPlaying)
+ {
+ MMVibrationManager.StopContinuousHaptic(AllowRumble);
+ _continuousPlaying = false;
+ }
+ break;
+ }
+ }
+
+ ///
+ /// A coroutine used to update continuous haptics as they're playing
+ ///
+ ///
+ protected virtual IEnumerator ContinuousHapticsCoroutine()
+ {
+ _continuousStartedAt = (Timescale == Timescales.ScaledTime) ? Time.time : Time.unscaledTime;
+ _continuousPlaying = true;
+ float elapsedTime = ComputeElapsedTime();
+
+ MMVibrationManager.ContinuousHaptic(InitialContinuousIntensity, InitialContinuousSharpness, ContinuousDuration, HapticTypes.Success, this);
+
+ while (_continuousPlaying && (elapsedTime < ContinuousDuration))
+ {
+ elapsedTime = ComputeElapsedTime();
+ float remappedTime = Remap(elapsedTime, 0f, ContinuousDuration, 0f, 1f);
+ float intensity = ContinuousIntensityCurve.Evaluate(remappedTime);
+ float sharpness = ContinuousSharpnessCurve.Evaluate(remappedTime);
+ MMVibrationManager.UpdateContinuousHaptic(intensity, sharpness, true);
+ if (AllowRumble)
+ {
+ #if MOREMOUNTAINS_NICEVIBRATIONS_RUMBLE
+ MMNVRumble.RumbleContinuous(intensity, sharpness);
+ #endif
+ }
+ yield return null;
+ }
+ if (_continuousPlaying)
+ {
+ _continuousPlaying = false;
+ MMVibrationManager.StopContinuousHaptic(AllowRumble);
+ }
+ }
+
+ ///
+ /// This methods computes and returns the elapsed time since the start of the last played continuous haptic
+ ///
+ ///
+ protected virtual float ComputeElapsedTime()
+ {
+ float elapsedTime = (Timescale == Timescales.ScaledTime) ? Time.time - _continuousStartedAt : Time.unscaledTime - _continuousStartedAt;
+ return elapsedTime;
+ }
+
+ ///
+ /// Remaps value x from AB to CD
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static float Remap(float x, float A, float B, float C, float D)
+ {
+ float remappedValue = C + (x - A) / (B - A) * (D - C);
+ return remappedValue;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManagerTester.cs.meta b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManagerTester.cs.meta
new file mode 100644
index 0000000..b35fb90
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/NiceVibrations/MMVibrationManagerTester.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: f1819f64dde59594ca91dd55ebc7cce0
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Rumble.meta b/Assets/NiceVibrations/Common/Scripts/Rumble.meta
new file mode 100644
index 0000000..d1ab524
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Rumble.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f25222f3bc4c54ccb863050ccf14b462
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Rumble/Editor.meta b/Assets/NiceVibrations/Common/Scripts/Rumble/Editor.meta
new file mode 100644
index 0000000..deb76b2
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Rumble/Editor.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4c7490044d8ae4b97bbeac09b1d77357
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Rumble/Editor/DefineSymbols.meta b/Assets/NiceVibrations/Common/Scripts/Rumble/Editor/DefineSymbols.meta
new file mode 100644
index 0000000..343a582
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Rumble/Editor/DefineSymbols.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: af7ca3adc7b5649ff96d32722acf6441
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Rumble/Editor/DefineSymbols/NiceVibrationsRumbleDefineSymbols.cs b/Assets/NiceVibrations/Common/Scripts/Rumble/Editor/DefineSymbols/NiceVibrationsRumbleDefineSymbols.cs
new file mode 100644
index 0000000..7878cfa
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Rumble/Editor/DefineSymbols/NiceVibrationsRumbleDefineSymbols.cs
@@ -0,0 +1,38 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System.Linq;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+
+namespace MoreMountains.Feedbacks
+{
+#if UNITY_EDITOR
+ ///
+ /// This class lets you specify (in code, by editing it) symbols that will be added to the build settings' define symbols list automatically
+ ///
+ [InitializeOnLoad]
+ public class NiceVibrationsRumbleDefineSymbols
+ {
+ ///
+ /// A list of all the symbols you want added to the build settings
+ ///
+ public static readonly string[] Symbols = new string[]
+ {
+ "MOREMOUNTAINS_NICEVIBRATIONS_RUMBLE"
+ };
+
+ ///
+ /// As soon as this class has finished compiling, adds the specified define symbols to the build settings
+ ///
+ static NiceVibrationsRumbleDefineSymbols()
+ {
+ string scriptingDefinesString = PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup);
+ List scriptingDefinesStringList = scriptingDefinesString.Split(';').ToList();
+ scriptingDefinesStringList.AddRange(Symbols.Except(scriptingDefinesStringList));
+ PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, string.Join(";", scriptingDefinesStringList.ToArray()));
+ }
+ }
+#endif
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Rumble/Editor/DefineSymbols/NiceVibrationsRumbleDefineSymbols.cs.meta b/Assets/NiceVibrations/Common/Scripts/Rumble/Editor/DefineSymbols/NiceVibrationsRumbleDefineSymbols.cs.meta
new file mode 100644
index 0000000..9fd589a
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Rumble/Editor/DefineSymbols/NiceVibrationsRumbleDefineSymbols.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a1809e2ead76b7942b0053af685ef036
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Rumble/Scripts.meta b/Assets/NiceVibrations/Common/Scripts/Rumble/Scripts.meta
new file mode 100644
index 0000000..21b07a5
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Rumble/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 121e8b51401f3452f8224dc3281d6944
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Common/Scripts/Rumble/Scripts/MMNVRumble.cs b/Assets/NiceVibrations/Common/Scripts/Rumble/Scripts/MMNVRumble.cs
new file mode 100644
index 0000000..5c8af6b
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Rumble/Scripts/MMNVRumble.cs
@@ -0,0 +1,195 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.InputSystem;
+using UnityEngine.XR;
+
+namespace MoreMountains.NiceVibrations
+{
+ public static class MMNVRumble
+ {
+ /// whether or not the rumble engine is running right now
+ public static bool Rumbling = false;
+ /// whether or not we're playing a continuous rumble right now
+ public static bool RumblingContinuous = false;
+
+ public static UnityEngine.InputSystem.Gamepad GetGamepad(int id)
+ {
+ if (id != -1)
+ {
+ if (id >= UnityEngine.InputSystem.Gamepad.all.Count)
+ {
+ return UnityEngine.InputSystem.Gamepad.current;
+ }
+ else
+ {
+ return UnityEngine.InputSystem.Gamepad.all[id];
+ }
+ }
+ return UnityEngine.InputSystem.Gamepad.current;
+ }
+
+ ///
+ /// Rumbles the controller at the specified frequencies for the specified duration
+ ///
+ /// from 0 to 1
+ /// from 0 to 1
+ /// the duration of the rumble, in seconds
+ /// a monobehaviour to run the coroutine on (usually just use "this")
+ public static void Rumble(float lowFrequency, float highFrequency, float duration, MonoBehaviour coroutineSupport, int controllerID = -1)
+ {
+ coroutineSupport.StartCoroutine(RumbleCoroutine(lowFrequency, highFrequency, duration, controllerID));
+ }
+
+ ///
+ /// A coroutine used to rumble
+ ///
+ ///
+ ///
+ ///
+ ///
+ private static IEnumerator RumbleCoroutine(float lowFrequency, float highFrequency, float duration, int controllerID = -1)
+ {
+ if (GetGamepad(controllerID) == null)
+ {
+ yield break;
+ }
+ Rumbling = true;
+ GetGamepad(controllerID).SetMotorSpeeds(lowFrequency, highFrequency);
+ float startedAt = Time.unscaledTime;
+ while (Time.unscaledTime - startedAt < duration)
+ {
+ yield return null;
+ }
+ InputSystem.ResetHaptics();
+ Rumbling = false;
+ }
+
+ ///
+ /// Requests a rumble for the specified pattern, amplitude and optional repeat
+ ///
+ /// Pattern.
+ /// Amplitudes (from 0 to 255).
+ /// Repeat : -1 : no repeat, 0 : infinite, 1 : repeat once, 2 : repeat twice, etc
+ public static void Rumble(long[] pattern, int[] amplitudes, int repeat, MonoBehaviour coroutineSupport, int controllerID = -1)
+ {
+ if ((pattern == null) || (amplitudes == null))
+ {
+ return;
+ }
+ coroutineSupport.StartCoroutine(RumblePatternCoroutine(pattern, amplitudes, amplitudes, repeat, coroutineSupport, controllerID));
+ }
+
+ ///
+ /// Requests a rumble for the specified pattern, low and high frequency amplitudes and optional repeat
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void Rumble(long[] pattern, int[] lowFreqAmplitudes, int[] highFreqAmplitudes, int repeat, MonoBehaviour coroutineSupport, int controllerID = -1)
+ {
+ if ((pattern == null) || (lowFreqAmplitudes == null) || (highFreqAmplitudes == null))
+ {
+ return;
+ }
+ coroutineSupport.StartCoroutine(RumblePatternCoroutine(pattern, lowFreqAmplitudes, highFreqAmplitudes, repeat, coroutineSupport, controllerID));
+ }
+
+ ///
+ /// A coroutine used to play patterns
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ private static IEnumerator RumblePatternCoroutine(long[] pattern, int[] lowFreqAmplitudes,
+ int[] highFreqAmplitudes, int repeat, MonoBehaviour coroutineSupport, int controllerID = -1)
+ {
+ float startedAt = Time.unscaledTime;
+ float currentTime = startedAt;
+ int currentIndex = 0;
+
+ UnityEngine.InputSystem.Gamepad currentGamepad = GetGamepad(controllerID);
+
+ while (currentIndex < pattern.Length)
+ {
+ if (currentGamepad == null)
+ {
+ yield break;
+ }
+
+ int count = 0;
+ float totalLowFrequency = 0;
+ float totalHighFrequency = 0;
+
+ do
+ {
+ float duration = pattern[currentIndex];
+ float lowFrequencyAmplitude = (lowFreqAmplitudes.Length > currentIndex) ? lowFreqAmplitudes[currentIndex] / 255f : 0f;
+ totalLowFrequency += lowFrequencyAmplitude;
+ float highFrequencyAmplitude = (highFreqAmplitudes.Length > currentIndex) ? highFreqAmplitudes[currentIndex] / 255f : 0f;
+ totalHighFrequency += highFrequencyAmplitude;
+ currentTime += duration / 1000f;
+ count++;
+ currentIndex++;
+ } while (currentTime < Time.unscaledTime && currentIndex < pattern.Length);
+
+ currentGamepad.SetMotorSpeeds(totalLowFrequency / count, totalHighFrequency / count);
+
+ while (currentTime > Time.unscaledTime && currentIndex < pattern.Length)
+ {
+ yield return null;
+ }
+ }
+ currentGamepad.SetMotorSpeeds(0f, 0f);
+ }
+
+ ///
+ /// Lets you update rumble values while playing them
+ ///
+ ///
+ ///
+ public static void RumbleContinuous(float lowFrequency, float highFrequency, int controllerID = -1)
+ {
+ if (GetGamepad(controllerID) == null)
+ {
+ return;
+ }
+ Rumbling = true;
+ RumblingContinuous = true;
+ GetGamepad(controllerID).SetMotorSpeeds(lowFrequency, highFrequency);
+ }
+
+ ///
+ /// Stops all rumbles
+ ///
+ public static void StopRumble()
+ {
+ Rumbling = false;
+ RumblingContinuous = false;
+ InputSystem.ResetHaptics();
+ }
+
+ ///
+ /// Pauses all rumbles
+ ///
+ public static void PauseRumble()
+ {
+ Rumbling = false;
+ RumblingContinuous = false;
+ InputSystem.PauseHaptics();
+ }
+
+ ///
+ /// Resumes all rumbles
+ ///
+ public static void ResumeRumble()
+ {
+ Rumbling = true;
+ InputSystem.ResumeHaptics();
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Common/Scripts/Rumble/Scripts/MMNVRumble.cs.meta b/Assets/NiceVibrations/Common/Scripts/Rumble/Scripts/MMNVRumble.cs.meta
new file mode 100644
index 0000000..b88adc8
--- /dev/null
+++ b/Assets/NiceVibrations/Common/Scripts/Rumble/Scripts/MMNVRumble.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bfe0f13b99e233d4181abce97b08e738
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos.meta b/Assets/NiceVibrations/Demos.meta
new file mode 100644
index 0000000..6dd8c1c
--- /dev/null
+++ b/Assets/NiceVibrations/Demos.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5e11dce0c0bb34c388b798303cc3a827
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets.meta b/Assets/NiceVibrations/Demos/DemoAssets.meta
new file mode 100644
index 0000000..60bfc4e
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 8147c74ab523c4bccb79b45906a8e987
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo.meta b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo.meta
new file mode 100644
index 0000000..6fca68a
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4b477d221b4b14a679fce4094bd5665c
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts.meta b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts.meta
new file mode 100644
index 0000000..50a04dd
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3bddd6e9a00244ae48aca1efb5abe3ee
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoManager.cs b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoManager.cs
new file mode 100644
index 0000000..734dd3d
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoManager.cs
@@ -0,0 +1,122 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace MoreMountains.NiceVibrations
+{
+ [Serializable]
+ public class PresetDemoItem
+ {
+ public string Name;
+ public TextAsset AHAPFile;
+ public Sprite AssociatedSprite;
+ public AudioSource AssociatedSound;
+ public MMNVAndroidWaveFormAsset WaveFormAsset;
+ public MMNVRumbleWaveFormAsset RumbleWaveFormAsset;
+ }
+
+ public class PresetDemoManager : DemoManager
+ {
+ [Header("Image")]
+ public Image IconImage;
+ public Animator IconImageAnimator;
+ public List DemoItems;
+
+ protected WaitForSeconds _ahapTurnDelay;
+ protected int _idleAnimationParameter;
+
+ protected virtual void Awake()
+ {
+ _ahapTurnDelay = new WaitForSeconds(0.02f);
+ _idleAnimationParameter = Animator.StringToHash("Idle");
+ IconImageAnimator.SetBool(_idleAnimationParameter, true);
+ }
+
+ // AHAP ------------------------------------------------------------------------------------------------
+
+ public virtual void PlayAHAP(int index)
+ {
+ Logo.Shaking = true;
+
+ // for the purpose of the demo, and to be able to observe the difference, if any, on certain devices,
+ // the first 4 effects (dice, drums, game over, heart beats) will be called on the main thread, and the remaining ones on a secondary thread
+ if (index < 5)
+ {
+ MMVibrationManager.AdvancedHapticPattern(DemoItems[index].AHAPFile.text,
+ DemoItems[index].WaveFormAsset.WaveForm.Pattern, DemoItems[index].WaveFormAsset.WaveForm.Amplitudes, -1,
+ DemoItems[index].RumbleWaveFormAsset.WaveForm.Pattern, DemoItems[index].RumbleWaveFormAsset.WaveForm.LowFrequencyAmplitudes,
+ DemoItems[index].RumbleWaveFormAsset.WaveForm.HighFrequencyAmplitudes, -1,
+ HapticTypes.LightImpact, this, -1, false);
+ DemoItems[index].AssociatedSound.Play();
+ StartCoroutine(ChangeIcon(DemoItems[index].AssociatedSprite));
+ }
+ else
+ {
+ MMVibrationManager.AdvancedHapticPattern(DemoItems[index].AHAPFile.text,
+ DemoItems[index].WaveFormAsset.WaveForm.Pattern, DemoItems[index].WaveFormAsset.WaveForm.Amplitudes, -1,
+ DemoItems[index].RumbleWaveFormAsset.WaveForm.Pattern, DemoItems[index].RumbleWaveFormAsset.WaveForm.LowFrequencyAmplitudes,
+ DemoItems[index].RumbleWaveFormAsset.WaveForm.HighFrequencyAmplitudes, -1,
+ HapticTypes.LightImpact, this, -1, true);
+ DemoItems[index].AssociatedSound.Play();
+ StartCoroutine(ChangeIcon(DemoItems[index].AssociatedSprite));
+ }
+ }
+
+ // ICON ----------------------------------------------------------------------------------------------
+
+ protected virtual IEnumerator ChangeIcon(Sprite newSprite)
+ {
+ IconImageAnimator.SetBool(_idleAnimationParameter, false);
+ yield return _ahapTurnDelay;
+ IconImage.sprite = newSprite;
+ }
+
+ // CALLBACKS ----------------------------------------------------------------------------------------------
+
+ public virtual void Test()
+ {
+ StartCoroutine(BackToIdle());
+
+ }
+
+ protected virtual void OnHapticsStopped()
+ {
+ StartCoroutine(BackToIdle());
+ }
+
+ protected virtual IEnumerator BackToIdle()
+ {
+ Logo.Shaking = false;
+ IconImageAnimator.SetBool(_idleAnimationParameter, true);
+ yield return _ahapTurnDelay;
+ IconImage.sprite = DemoItems[0].AssociatedSprite;
+ }
+
+ protected virtual void OnHapticsError()
+ {
+
+ }
+
+ protected virtual void OnHapticsReset()
+ {
+
+ }
+
+ protected virtual void OnEnable()
+ {
+ MMNViOSCoreHaptics.OnHapticPatternStopped += OnHapticsStopped;
+ MMNViOSCoreHaptics.OnHapticPatternError += OnHapticsError;
+ MMNViOSCoreHaptics.OnHapticPatternReset += OnHapticsReset;
+ }
+
+ protected virtual void OnDisable()
+ {
+ MMNViOSCoreHaptics.OnHapticPatternStopped -= OnHapticsStopped;
+ MMNViOSCoreHaptics.OnHapticPatternError -= OnHapticsError;
+ MMNViOSCoreHaptics.OnHapticPatternReset -= OnHapticsReset;
+ MMNVAndroid.ClearThreads();
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoManager.cs.meta b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoManager.cs.meta
new file mode 100644
index 0000000..213babb
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0c563ed932a79f9488e91a758966782e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoRotator.cs b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoRotator.cs
new file mode 100644
index 0000000..c138e0a
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoRotator.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ ///
+ /// A minimal, demo only class, used to rotate an image in the demo's UI
+ ///
+ public class PresetDemoRotator : MonoBehaviour
+ {
+ /// the speed at which the image should rotate
+ public Vector3 RotationSpeed = new Vector3(0, 0, 100f);
+
+ ///
+ /// On Update we rotate our image
+ ///
+ protected void Update()
+ {
+ this.transform.Rotate(RotationSpeed * Time.deltaTime, Space.Self);
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoRotator.cs.meta b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoRotator.cs.meta
new file mode 100644
index 0000000..e1d1d92
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/AHAPPresetsDemo/Scripts/PresetDemoRotator.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6d7cd63a9d0b0324492de8a1aa8367b7
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo.meta b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo.meta
new file mode 100644
index 0000000..a70dcdd
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b538d2e179b1548d68093ad7000222ba
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts.meta b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts.meta
new file mode 100644
index 0000000..6a4e699
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5d3e3f52b153e4ac0940b17b7e79a15d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoBall.cs b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoBall.cs
new file mode 100644
index 0000000..dc158dd
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoBall.cs
@@ -0,0 +1,81 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ public class BallDemoBall : MonoBehaviour
+ {
+ public bool HapticsEnabled = true;
+ public ParticleSystem HitParticles;
+ public ParticleSystem HitPusherParticles;
+ public LayerMask WallMask;
+ public LayerMask PusherMask;
+ public MMUIShaker LogoShaker;
+ public AudioSource TransientAudioSource;
+
+ protected Rigidbody2D _rigidBody;
+ protected float _lastRaycastTimestamp = 0f;
+ protected Animator _ballAnimator;
+ protected int _hitAnimationParameter;
+
+ protected virtual void Awake()
+ {
+ _rigidBody = this.gameObject.GetComponent();
+ _ballAnimator = this.gameObject.GetComponent();
+ _hitAnimationParameter = Animator.StringToHash("Hit");
+ MMNViOSCoreHaptics.CreateEngine();
+ }
+
+ protected virtual void OnCollisionEnter2D(Collision2D collision)
+ {
+ if (WallMask == (WallMask | (1 << collision.gameObject.layer)))
+ {
+ HitWall();
+ }
+ }
+
+ protected virtual void Update()
+ {
+ float raycastLength = 5f;
+
+ Debug.DrawLine(this.transform.position, Vector3.down * raycastLength, Color.red);
+
+ if (Time.time - _lastRaycastTimestamp > 1f)
+ {
+ _lastRaycastTimestamp = Time.time;
+ RaycastHit2D hit = Physics2D.Raycast(this.transform.position, Vector2.down, raycastLength, WallMask);
+ if (hit.collider != null)
+ {
+ HitBottom();
+ }
+ }
+ }
+
+ protected virtual void HitBottom()
+ {
+ _rigidBody.AddForce(Vector2.up * 2500f);
+ StartCoroutine(LogoShaker.Shake(0.2f));
+ }
+
+ protected virtual void HitWall()
+ {
+ float intensity = _rigidBody.velocity.magnitude / 100f;
+ MMVibrationManager.TransientHaptic(intensity, 0.7f, true, this);
+ TransientAudioSource.volume = intensity;
+ StartCoroutine(LogoShaker.Shake(0.2f));
+ TransientAudioSource.Play();
+ _ballAnimator.SetTrigger(_hitAnimationParameter);
+ }
+
+ public virtual void HitPusher()
+ {
+ HitPusherParticles.Play();
+ MMVibrationManager.TransientHaptic(0.85f, 0.05f, true, this);
+ TransientAudioSource.volume = 0.1f;
+ StartCoroutine(LogoShaker.Shake(0.2f));
+ TransientAudioSource.Play();
+ _ballAnimator.SetTrigger(_hitAnimationParameter);
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoBall.cs.meta b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoBall.cs.meta
new file mode 100644
index 0000000..3a65584
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoBall.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 59fe36bd4834fab44a9223e70f5fc73e
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoManager.cs b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoManager.cs
new file mode 100644
index 0000000..6b1b0e7
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoManager.cs
@@ -0,0 +1,21 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace MoreMountains.NiceVibrations
+{
+ public class BallDemoManager : DemoManager
+ {
+
+ [Header("Ball")]
+ public Vector2 Gravity = new Vector2(0, -30f);
+
+ protected virtual void Start()
+ {
+ Physics2D.gravity = Gravity;
+ }
+
+
+ }
+}
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoManager.cs.meta b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoManager.cs.meta
new file mode 100644
index 0000000..1c33d35
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 108a3476b6d855545b26c23b7e92e890
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoWall.cs b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoWall.cs
new file mode 100644
index 0000000..590fb54
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoWall.cs
@@ -0,0 +1,20 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ public class BallDemoWall : MonoBehaviour
+ {
+ protected RectTransform _rectTransform;
+ protected BoxCollider2D _boxCollider2D;
+
+ protected virtual void OnEnable()
+ {
+ _rectTransform = this.gameObject.GetComponent();
+ _boxCollider2D = this.gameObject.GetComponent();
+
+ _boxCollider2D.size = new Vector2(_rectTransform.rect.size.x , _rectTransform.rect.size.y );
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoWall.cs.meta b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoWall.cs.meta
new file mode 100644
index 0000000..17e0d8f
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallDemoWall.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 4615302ba7af13645aec1ad743d65dcf
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallPusher.cs b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallPusher.cs
new file mode 100644
index 0000000..fbd0b18
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallPusher.cs
@@ -0,0 +1,27 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace MoreMountains.NiceVibrations
+{
+ public class BallPusher : MonoBehaviour
+ {
+ public float Force = 5f;
+ public BallDemoBall TargetBall;
+ protected Vector2 _direction;
+
+ protected virtual void OnTriggerEnter2D(Collider2D collider)
+ {
+ if (collider.gameObject != TargetBall.gameObject)
+ {
+ return;
+ }
+
+ _direction = (collider.transform.position - this.transform.position).normalized;
+ _direction.y = 1f;
+ collider.attachedRigidbody.velocity = Vector2.zero;
+ collider.attachedRigidbody.AddForce(_direction * Force);
+ TargetBall.HitPusher();
+ }
+ }
+}
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallPusher.cs.meta b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallPusher.cs.meta
new file mode 100644
index 0000000..80fae8f
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallPusher.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bf5e4b668334cb04282cd8a30200b42c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallTouchZone.cs b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallTouchZone.cs
new file mode 100644
index 0000000..e8a950c
--- /dev/null
+++ b/Assets/NiceVibrations/Demos/DemoAssets/BallDemo/Scripts/BallTouchZone.cs
@@ -0,0 +1,71 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.EventSystems;
+
+namespace MoreMountains.NiceVibrations
+{
+ public class BallTouchZone : MonoBehaviour, IPointerExitHandler, IPointerEnterHandler
+ {
+ public RenderMode ParentCanvasRenderMode { get; protected set; }
+ public RectTransform BallMover;
+ protected bool _holding = false;
+ protected PointerEventData _pointerEventData;
+ protected Vector3 _newPosition;
+ protected Canvas _canvas;
+ protected float _initialZPosition;
+ protected Vector2 _workPosition;
+
+
+ protected virtual void Start()
+ {
+ Initialization();
+ }
+
+ protected virtual void Initialization()
+ {
+ ParentCanvasRenderMode = GetComponentInParent