diff --git a/.gitignore b/.gitignore
index e69de29..0786552 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1,30 @@
+# =============== #
+# Unity generated #
+# =============== #
+/Examples~/*/Library
+/Examples~/*/Logs
+/Examples~/*/obj
+/Examples~/*/Temp
+/Examples~/*/UnityGenerated
+/Examples~/*/UserSettings
+
+*.sln
+*.csproj
+
+# ============ #
+# OS generated #
+# ============ #
+.DS_Store
+.DS_Store?
+._*
+.Spotlight-V100
+.Trashes
+Icon?
+ehthumbs.db
+Thumbs.db
+desktop.ini
+
+# ========================= #
+# JetBrains Rider generated #
+# ========================= #
+.idea
diff --git a/Examples~/Main Test Project/Assets/Scenes.meta b/Examples~/Main Test Project/Assets/Scenes.meta
new file mode 100644
index 0000000..352edea
--- /dev/null
+++ b/Examples~/Main Test Project/Assets/Scenes.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d34a77d7a4333234e91cbf022697823a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples~/Main Test Project/Assets/Scenes/Main.unity b/Examples~/Main Test Project/Assets/Scenes/Main.unity
new file mode 100644
index 0000000..bbf8c52
--- /dev/null
+++ b/Examples~/Main Test Project/Assets/Scenes/Main.unity
@@ -0,0 +1,123 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_OcclusionBakeSettings:
+ smallestOccluder: 5
+ smallestHole: 0.25
+ backfaceThreshold: 100
+ m_SceneGUID: 00000000000000000000000000000000
+ m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_Fog: 0
+ m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+ m_FogMode: 3
+ m_FogDensity: 0.01
+ m_LinearFogStart: 0
+ m_LinearFogEnd: 300
+ m_AmbientSkyColor: {r: 0, g: 0, b: 0, a: 1}
+ m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+ m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+ m_AmbientIntensity: 1
+ m_AmbientMode: 3
+ m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+ m_SkyboxMaterial: {fileID: 0}
+ m_HaloStrength: 0
+ m_FlareStrength: 0
+ m_FlareFadeSpeed: 1
+ m_HaloTexture: {fileID: 0}
+ m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+ m_DefaultReflectionMode: 1
+ m_DefaultReflectionResolution: 128
+ m_ReflectionBounces: 1
+ m_ReflectionIntensity: 1
+ m_CustomReflection: {fileID: 0}
+ m_Sun: {fileID: 0}
+ m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
+ m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 11
+ m_GIWorkflowMode: 1
+ m_GISettings:
+ serializedVersion: 2
+ m_BounceScale: 1
+ m_IndirectOutputScale: 1
+ m_AlbedoBoost: 1
+ m_EnvironmentLightingMode: 0
+ m_EnableBakedLightmaps: 0
+ m_EnableRealtimeLightmaps: 0
+ m_LightmapEditorSettings:
+ serializedVersion: 12
+ m_Resolution: 2
+ m_BakeResolution: 40
+ m_AtlasSize: 1024
+ m_AO: 0
+ m_AOMaxDistance: 1
+ m_CompAOExponent: 1
+ m_CompAOExponentDirect: 0
+ m_ExtractAmbientOcclusion: 0
+ m_Padding: 2
+ m_LightmapParameters: {fileID: 0}
+ m_LightmapsBakeMode: 1
+ m_TextureCompression: 1
+ m_FinalGather: 0
+ m_FinalGatherFiltering: 1
+ m_FinalGatherRayCount: 256
+ m_ReflectionCompression: 0
+ m_MixedBakeMode: 2
+ m_BakeBackend: 1
+ m_PVRSampling: 1
+ m_PVRDirectSampleCount: 32
+ m_PVRSampleCount: 512
+ m_PVRBounces: 2
+ m_PVREnvironmentSampleCount: 256
+ m_PVREnvironmentReferencePointCount: 2048
+ m_PVRFilteringMode: 1
+ m_PVRDenoiserTypeDirect: 1
+ m_PVRDenoiserTypeIndirect: 1
+ m_PVRDenoiserTypeAO: 1
+ m_PVRFilterTypeDirect: 0
+ m_PVRFilterTypeIndirect: 0
+ m_PVRFilterTypeAO: 0
+ m_PVREnvironmentMIS: 1
+ m_PVRCulling: 1
+ m_PVRFilteringGaussRadiusDirect: 1
+ m_PVRFilteringGaussRadiusIndirect: 5
+ m_PVRFilteringGaussRadiusAO: 2
+ m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+ m_PVRFilteringAtrousPositionSigmaIndirect: 2
+ m_PVRFilteringAtrousPositionSigmaAO: 1
+ m_ExportTrainingData: 0
+ m_TrainingDataDestination: TrainingData
+ m_LightProbeSampleCountMultiplier: 4
+ m_LightingDataAsset: {fileID: 0}
+ m_UseShadowmask: 1
+--- !u!196 &4
+NavMeshSettings:
+ serializedVersion: 2
+ m_ObjectHideFlags: 0
+ m_BuildSettings:
+ serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.4
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_NavMeshData: {fileID: 0}
diff --git a/Examples~/Main Test Project/Assets/Scenes/Main.unity.meta b/Examples~/Main Test Project/Assets/Scenes/Main.unity.meta
new file mode 100644
index 0000000..c78255e
--- /dev/null
+++ b/Examples~/Main Test Project/Assets/Scenes/Main.unity.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 63dec4e011dfc034ea137417c5e2f8b5
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Examples~/Main Test Project/Packages/manifest.json b/Examples~/Main Test Project/Packages/manifest.json
new file mode 100644
index 0000000..c47be1d
--- /dev/null
+++ b/Examples~/Main Test Project/Packages/manifest.json
@@ -0,0 +1,40 @@
+{
+ "dependencies": {
+ "com.10101software.commons": "file:../../..",
+ "com.unity.ide.rider": "1.2.1",
+ "com.unity.ide.visualstudio": "2.0.16",
+ "com.unity.ide.vscode": "1.2.5",
+ "com.unity.ugui": "1.0.0",
+ "com.unity.modules.ai": "1.0.0",
+ "com.unity.modules.androidjni": "1.0.0",
+ "com.unity.modules.animation": "1.0.0",
+ "com.unity.modules.assetbundle": "1.0.0",
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.cloth": "1.0.0",
+ "com.unity.modules.director": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.particlesystem": "1.0.0",
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.physics2d": "1.0.0",
+ "com.unity.modules.screencapture": "1.0.0",
+ "com.unity.modules.terrain": "1.0.0",
+ "com.unity.modules.terrainphysics": "1.0.0",
+ "com.unity.modules.tilemap": "1.0.0",
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.uielements": "1.0.0",
+ "com.unity.modules.umbra": "1.0.0",
+ "com.unity.modules.unityanalytics": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequestaudio": "1.0.0",
+ "com.unity.modules.unitywebrequesttexture": "1.0.0",
+ "com.unity.modules.unitywebrequestwww": "1.0.0",
+ "com.unity.modules.vehicles": "1.0.0",
+ "com.unity.modules.video": "1.0.0",
+ "com.unity.modules.vr": "1.0.0",
+ "com.unity.modules.wind": "1.0.0",
+ "com.unity.modules.xr": "1.0.0"
+ }
+}
diff --git a/Examples~/Main Test Project/Packages/packages-lock.json b/Examples~/Main Test Project/Packages/packages-lock.json
new file mode 100644
index 0000000..296db9a
--- /dev/null
+++ b/Examples~/Main Test Project/Packages/packages-lock.json
@@ -0,0 +1,304 @@
+{
+ "dependencies": {
+ "com.10101software.commons": {
+ "version": "file:../../..",
+ "depth": 0,
+ "source": "local",
+ "dependencies": {}
+ },
+ "com.unity.ext.nunit": {
+ "version": "1.0.6",
+ "depth": 2,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ide.rider": {
+ "version": "1.2.1",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.test-framework": "1.1.1"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ide.visualstudio": {
+ "version": "2.0.16",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.test-framework": "1.1.9"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ide.vscode": {
+ "version": "1.2.5",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {},
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.test-framework": {
+ "version": "1.1.31",
+ "depth": 1,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.ext.nunit": "1.0.6",
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
+ "com.unity.ugui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.imgui": "1.0.0"
+ }
+ },
+ "com.unity.modules.ai": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.androidjni": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.animation": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.assetbundle": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.audio": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.cloth": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0"
+ }
+ },
+ "com.unity.modules.director": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.animation": "1.0.0"
+ }
+ },
+ "com.unity.modules.imageconversion": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.imgui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.jsonserialize": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.particlesystem": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.physics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.physics2d": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.screencapture": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.subsystems": {
+ "version": "1.0.0",
+ "depth": 1,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.terrain": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.terrainphysics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.terrain": "1.0.0"
+ }
+ },
+ "com.unity.modules.tilemap": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics2d": "1.0.0"
+ }
+ },
+ "com.unity.modules.ui": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.uielements": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.imgui": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.umbra": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.unityanalytics": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequest": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.unitywebrequestassetbundle": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.assetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequestaudio": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.audio": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequesttexture": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.unitywebrequestwww": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.unitywebrequest": "1.0.0",
+ "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
+ "com.unity.modules.unitywebrequestaudio": "1.0.0",
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.assetbundle": "1.0.0",
+ "com.unity.modules.imageconversion": "1.0.0"
+ }
+ },
+ "com.unity.modules.vehicles": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0"
+ }
+ },
+ "com.unity.modules.video": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.audio": "1.0.0",
+ "com.unity.modules.ui": "1.0.0",
+ "com.unity.modules.unitywebrequest": "1.0.0"
+ }
+ },
+ "com.unity.modules.vr": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.xr": "1.0.0"
+ }
+ },
+ "com.unity.modules.wind": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {}
+ },
+ "com.unity.modules.xr": {
+ "version": "1.0.0",
+ "depth": 0,
+ "source": "builtin",
+ "dependencies": {
+ "com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.jsonserialize": "1.0.0",
+ "com.unity.modules.subsystems": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/Examples~/Main Test Project/ProjectSettings/AudioManager.asset b/Examples~/Main Test Project/ProjectSettings/AudioManager.asset
new file mode 100644
index 0000000..df1e809
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/AudioManager.asset
@@ -0,0 +1,20 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!11 &1
+AudioManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Volume: 1
+ Rolloff Scale: 1
+ Doppler Factor: 1
+ Default Speaker Mode: 2
+ m_SampleRate: 0
+ m_DSPBufferSize: 1024
+ m_VirtualVoiceCount: 512
+ m_RealVoiceCount: 32
+ m_EnableOutputSuspension: 1
+ m_SpatializerPlugin:
+ m_AmbisonicDecoderPlugin:
+ m_DisableAudio: 0
+ m_VirtualizeEffects: 1
+ m_RequestedDSPBufferSize: 0
diff --git a/Examples~/Main Test Project/ProjectSettings/ClusterInputManager.asset b/Examples~/Main Test Project/ProjectSettings/ClusterInputManager.asset
new file mode 100644
index 0000000..e7886b2
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/ClusterInputManager.asset
@@ -0,0 +1,6 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!236 &1
+ClusterInputManager:
+ m_ObjectHideFlags: 0
+ m_Inputs: []
diff --git a/Examples~/Main Test Project/ProjectSettings/DynamicsManager.asset b/Examples~/Main Test Project/ProjectSettings/DynamicsManager.asset
new file mode 100644
index 0000000..1596c42
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/DynamicsManager.asset
@@ -0,0 +1,36 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!55 &1
+PhysicsManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_Gravity: {x: 0, y: -9.81, z: 0}
+ m_DefaultMaterial: {fileID: 0}
+ m_BounceThreshold: 2
+ m_SleepThreshold: 0.005
+ m_DefaultContactOffset: 0.01
+ m_DefaultSolverIterations: 6
+ m_DefaultSolverVelocityIterations: 1
+ m_QueriesHitBackfaces: 0
+ m_QueriesHitTriggers: 1
+ m_EnableAdaptiveForce: 0
+ m_ClothInterCollisionDistance: 0.1
+ m_ClothInterCollisionStiffness: 0.2
+ m_ContactsGeneration: 1
+ m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ m_AutoSimulation: 1
+ m_AutoSyncTransforms: 0
+ m_ReuseCollisionCallbacks: 0
+ m_ClothInterCollisionSettingsToggle: 0
+ m_ClothGravity: {x: 0, y: -9.81, z: 0}
+ m_ContactPairsMode: 0
+ m_BroadphaseType: 0
+ m_WorldBounds:
+ m_Center: {x: 0, y: 0, z: 0}
+ m_Extent: {x: 250, y: 250, z: 250}
+ m_WorldSubdivisions: 8
+ m_FrictionType: 0
+ m_EnableEnhancedDeterminism: 0
+ m_EnableUnifiedHeightmaps: 1
+ m_SolverType: 0
+ m_DefaultMaxAngularSpeed: 50
diff --git a/Examples~/Main Test Project/ProjectSettings/EditorBuildSettings.asset b/Examples~/Main Test Project/ProjectSettings/EditorBuildSettings.asset
new file mode 100644
index 0000000..0147887
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/EditorBuildSettings.asset
@@ -0,0 +1,8 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1045 &1
+EditorBuildSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Scenes: []
+ m_configObjects: {}
diff --git a/Examples~/Main Test Project/ProjectSettings/EditorSettings.asset b/Examples~/Main Test Project/ProjectSettings/EditorSettings.asset
new file mode 100644
index 0000000..aaea47f
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/EditorSettings.asset
@@ -0,0 +1,36 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!159 &1
+EditorSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 9
+ m_ExternalVersionControlSupport: Visible Meta Files
+ m_SerializationMode: 2
+ m_LineEndingsForNewScripts: 2
+ m_DefaultBehaviorMode: 0
+ m_PrefabRegularEnvironment: {fileID: 0}
+ m_PrefabUIEnvironment: {fileID: 0}
+ m_SpritePackerMode: 0
+ m_SpritePackerPaddingPower: 1
+ m_EtcTextureCompressorBehavior: 1
+ m_EtcTextureFastCompressor: 1
+ m_EtcTextureNormalCompressor: 2
+ m_EtcTextureBestCompressor: 4
+ m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;asmref;rsp
+ m_ProjectGenerationRootNamespace:
+ m_CollabEditorSettings:
+ inProgressEnabled: 1
+ m_EnableTextureStreamingInEditMode: 1
+ m_EnableTextureStreamingInPlayMode: 1
+ m_AsyncShaderCompilation: 1
+ m_EnterPlayModeOptionsEnabled: 0
+ m_EnterPlayModeOptions: 3
+ m_ShowLightmapResolutionOverlay: 1
+ m_UseLegacyProbeSampleCount: 0
+ m_AssetPipelineMode: 1
+ m_CacheServerMode: 0
+ m_CacheServerEndpoint:
+ m_CacheServerNamespacePrefix: default
+ m_CacheServerEnableDownload: 1
+ m_CacheServerEnableUpload: 1
+ m_CacheServerValidationMode: 2
diff --git a/Examples~/Main Test Project/ProjectSettings/GraphicsSettings.asset b/Examples~/Main Test Project/ProjectSettings/GraphicsSettings.asset
new file mode 100644
index 0000000..35a0fa7
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/GraphicsSettings.asset
@@ -0,0 +1,64 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!30 &1
+GraphicsSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 13
+ m_Deferred:
+ m_Mode: 1
+ m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
+ m_DeferredReflections:
+ m_Mode: 1
+ m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
+ m_ScreenSpaceShadows:
+ m_Mode: 1
+ m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
+ m_LegacyDeferred:
+ m_Mode: 1
+ m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
+ m_DepthNormals:
+ m_Mode: 1
+ m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
+ m_MotionVectors:
+ m_Mode: 1
+ m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
+ m_LightHalo:
+ m_Mode: 1
+ m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
+ m_LensFlare:
+ m_Mode: 1
+ m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
+ m_AlwaysIncludedShaders:
+ - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
+ - {fileID: 10783, guid: 0000000000000000f000000000000000, type: 0}
+ m_PreloadedShaders: []
+ m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
+ type: 0}
+ m_CustomRenderPipeline: {fileID: 0}
+ m_TransparencySortMode: 0
+ m_TransparencySortAxis: {x: 0, y: 0, z: 1}
+ m_DefaultRenderingPath: 1
+ m_DefaultMobileRenderingPath: 1
+ m_TierSettings: []
+ m_LightmapStripping: 0
+ m_FogStripping: 0
+ m_InstancingStripping: 0
+ m_LightmapKeepPlain: 1
+ m_LightmapKeepDirCombined: 1
+ m_LightmapKeepDynamicPlain: 1
+ m_LightmapKeepDynamicDirCombined: 1
+ m_LightmapKeepShadowMask: 1
+ m_LightmapKeepSubtractive: 1
+ m_FogKeepLinear: 1
+ m_FogKeepExp: 1
+ m_FogKeepExp2: 1
+ m_AlbedoSwatchInfos: []
+ m_LightsUseLinearIntensity: 0
+ m_LightsUseColorTemperature: 0
+ m_LogWhenShaderIsCompiled: 0
+ m_AllowEnlightenSupportForUpgradedProject: 0
diff --git a/Examples~/Main Test Project/ProjectSettings/InputManager.asset b/Examples~/Main Test Project/ProjectSettings/InputManager.asset
new file mode 100644
index 0000000..17c8f53
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/InputManager.asset
@@ -0,0 +1,295 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!13 &1
+InputManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_Axes:
+ - serializedVersion: 3
+ m_Name: Horizontal
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton: left
+ positiveButton: right
+ altNegativeButton: a
+ altPositiveButton: d
+ gravity: 3
+ dead: 0.001
+ sensitivity: 3
+ snap: 1
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Vertical
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton: down
+ positiveButton: up
+ altNegativeButton: s
+ altPositiveButton: w
+ gravity: 3
+ dead: 0.001
+ sensitivity: 3
+ snap: 1
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire1
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left ctrl
+ altNegativeButton:
+ altPositiveButton: mouse 0
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire2
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left alt
+ altNegativeButton:
+ altPositiveButton: mouse 1
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire3
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: left shift
+ altNegativeButton:
+ altPositiveButton: mouse 2
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Jump
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: space
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse X
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: 0.1
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse Y
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: 0.1
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 1
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Mouse ScrollWheel
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0
+ sensitivity: 0.1
+ snap: 0
+ invert: 0
+ type: 1
+ axis: 2
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Horizontal
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0.19
+ sensitivity: 1
+ snap: 0
+ invert: 0
+ type: 2
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Vertical
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton:
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 0
+ dead: 0.19
+ sensitivity: 1
+ snap: 0
+ invert: 1
+ type: 2
+ axis: 1
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire1
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 0
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire2
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 1
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Fire3
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 2
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Jump
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: joystick button 3
+ altNegativeButton:
+ altPositiveButton:
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Submit
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: return
+ altNegativeButton:
+ altPositiveButton: joystick button 0
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Submit
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: enter
+ altNegativeButton:
+ altPositiveButton: space
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
+ - serializedVersion: 3
+ m_Name: Cancel
+ descriptiveName:
+ descriptiveNegativeName:
+ negativeButton:
+ positiveButton: escape
+ altNegativeButton:
+ altPositiveButton: joystick button 1
+ gravity: 1000
+ dead: 0.001
+ sensitivity: 1000
+ snap: 0
+ invert: 0
+ type: 0
+ axis: 0
+ joyNum: 0
diff --git a/Examples~/Main Test Project/ProjectSettings/NavMeshAreas.asset b/Examples~/Main Test Project/ProjectSettings/NavMeshAreas.asset
new file mode 100644
index 0000000..3b0b7c3
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/NavMeshAreas.asset
@@ -0,0 +1,91 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!126 &1
+NavMeshProjectSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ areas:
+ - name: Walkable
+ cost: 1
+ - name: Not Walkable
+ cost: 1
+ - name: Jump
+ cost: 2
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ - name:
+ cost: 1
+ m_LastAgentTypeID: -887442657
+ m_Settings:
+ - serializedVersion: 2
+ agentTypeID: 0
+ agentRadius: 0.5
+ agentHeight: 2
+ agentSlope: 45
+ agentClimb: 0.75
+ ledgeDropHeight: 0
+ maxJumpAcrossDistance: 0
+ minRegionArea: 2
+ manualCellSize: 0
+ cellSize: 0.16666667
+ manualTileSize: 0
+ tileSize: 256
+ accuratePlacement: 0
+ debug:
+ m_Flags: 0
+ m_SettingNames:
+ - Humanoid
diff --git a/Examples~/Main Test Project/ProjectSettings/PackageManagerSettings.asset b/Examples~/Main Test Project/ProjectSettings/PackageManagerSettings.asset
new file mode 100644
index 0000000..6920e3a
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/PackageManagerSettings.asset
@@ -0,0 +1,38 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &1
+MonoBehaviour:
+ m_ObjectHideFlags: 61
+ 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: 13964, guid: 0000000000000000e000000000000000, type: 0}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_ScopedRegistriesSettingsExpanded: 1
+ oneTimeWarningShown: 0
+ m_Registries:
+ - m_Id: main
+ m_Name:
+ m_Url: https://packages.unity.com
+ m_Scopes: []
+ m_IsDefault: 1
+ m_UserSelectedRegistryName:
+ m_UserAddingNewScopedRegistry: 0
+ m_RegistryInfoDraft:
+ m_ErrorMessage:
+ m_Original:
+ m_Id:
+ m_Name:
+ m_Url:
+ m_Scopes: []
+ m_IsDefault: 0
+ m_Modified: 0
+ m_Name:
+ m_Url:
+ m_Scopes:
+ -
+ m_SelectedScopeIndex: 0
diff --git a/Examples~/Main Test Project/ProjectSettings/Physics2DSettings.asset b/Examples~/Main Test Project/ProjectSettings/Physics2DSettings.asset
new file mode 100644
index 0000000..6c5cf8a
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/Physics2DSettings.asset
@@ -0,0 +1,56 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!19 &1
+Physics2DSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 4
+ m_Gravity: {x: 0, y: -9.81}
+ m_DefaultMaterial: {fileID: 0}
+ m_VelocityIterations: 8
+ m_PositionIterations: 3
+ m_VelocityThreshold: 1
+ m_MaxLinearCorrection: 0.2
+ m_MaxAngularCorrection: 8
+ m_MaxTranslationSpeed: 100
+ m_MaxRotationSpeed: 360
+ m_BaumgarteScale: 0.2
+ m_BaumgarteTimeOfImpactScale: 0.75
+ m_TimeToSleep: 0.5
+ m_LinearSleepTolerance: 0.01
+ m_AngularSleepTolerance: 2
+ m_DefaultContactOffset: 0.01
+ m_JobOptions:
+ serializedVersion: 2
+ useMultithreading: 0
+ useConsistencySorting: 0
+ m_InterpolationPosesPerJob: 100
+ m_NewContactsPerJob: 30
+ m_CollideContactsPerJob: 100
+ m_ClearFlagsPerJob: 200
+ m_ClearBodyForcesPerJob: 200
+ m_SyncDiscreteFixturesPerJob: 50
+ m_SyncContinuousFixturesPerJob: 50
+ m_FindNearestContactsPerJob: 100
+ m_UpdateTriggerContactsPerJob: 100
+ m_IslandSolverCostThreshold: 100
+ m_IslandSolverBodyCostScale: 1
+ m_IslandSolverContactCostScale: 10
+ m_IslandSolverJointCostScale: 10
+ m_IslandSolverBodiesPerJob: 50
+ m_IslandSolverContactsPerJob: 50
+ m_AutoSimulation: 1
+ m_QueriesHitTriggers: 1
+ m_QueriesStartInColliders: 1
+ m_CallbacksOnDisable: 1
+ m_ReuseCollisionCallbacks: 0
+ m_AutoSyncTransforms: 0
+ m_AlwaysShowColliders: 0
+ m_ShowColliderSleep: 1
+ m_ShowColliderContacts: 0
+ m_ShowColliderAABB: 0
+ m_ContactArrowScale: 0.2
+ m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
+ m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
+ m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
+ m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
+ m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
diff --git a/Examples~/Main Test Project/ProjectSettings/PresetManager.asset b/Examples~/Main Test Project/ProjectSettings/PresetManager.asset
new file mode 100644
index 0000000..67a94da
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/PresetManager.asset
@@ -0,0 +1,7 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1386491679 &1
+PresetManager:
+ m_ObjectHideFlags: 0
+ serializedVersion: 2
+ m_DefaultPresets: {}
diff --git a/Examples~/Main Test Project/ProjectSettings/ProjectSettings.asset b/Examples~/Main Test Project/ProjectSettings/ProjectSettings.asset
new file mode 100644
index 0000000..f1b9816
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/ProjectSettings.asset
@@ -0,0 +1,660 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!129 &1
+PlayerSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 20
+ productGUID: 5c9462834ad3dc9428942b63db7f2925
+ AndroidProfiler: 0
+ AndroidFilterTouchesWhenObscured: 0
+ AndroidEnableSustainedPerformanceMode: 0
+ defaultScreenOrientation: 4
+ targetDevice: 2
+ useOnDemandResources: 0
+ accelerometerFrequency: 60
+ companyName: 10101 Software
+ productName: Main Test Project
+ defaultCursor: {fileID: 0}
+ cursorHotspot: {x: 0, y: 0}
+ m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
+ m_ShowUnitySplashScreen: 1
+ m_ShowUnitySplashLogo: 1
+ m_SplashScreenOverlayOpacity: 1
+ m_SplashScreenAnimation: 1
+ m_SplashScreenLogoStyle: 1
+ m_SplashScreenDrawMode: 0
+ m_SplashScreenBackgroundAnimationZoom: 1
+ m_SplashScreenLogoAnimationZoom: 1
+ m_SplashScreenBackgroundLandscapeAspect: 1
+ m_SplashScreenBackgroundPortraitAspect: 1
+ m_SplashScreenBackgroundLandscapeUvs:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ m_SplashScreenBackgroundPortraitUvs:
+ serializedVersion: 2
+ x: 0
+ y: 0
+ width: 1
+ height: 1
+ m_SplashScreenLogos: []
+ m_VirtualRealitySplashScreen: {fileID: 0}
+ m_HolographicTrackingLossScreen: {fileID: 0}
+ defaultScreenWidth: 800
+ defaultScreenHeight: 600
+ defaultScreenWidthWeb: 960
+ defaultScreenHeightWeb: 600
+ m_StereoRenderingPath: 0
+ m_ActiveColorSpace: 1
+ m_MTRendering: 1
+ m_StackTraceTypes: 010000000100000001000000010000000100000001000000
+ iosShowActivityIndicatorOnLoading: -1
+ androidShowActivityIndicatorOnLoading: -1
+ iosUseCustomAppBackgroundBehavior: 0
+ iosAllowHTTPDownload: 1
+ allowedAutorotateToPortrait: 1
+ allowedAutorotateToPortraitUpsideDown: 1
+ allowedAutorotateToLandscapeRight: 1
+ allowedAutorotateToLandscapeLeft: 1
+ useOSAutorotation: 1
+ use32BitDisplayBuffer: 1
+ preserveFramebufferAlpha: 0
+ disableDepthAndStencilBuffers: 0
+ androidStartInFullscreen: 1
+ androidRenderOutsideSafeArea: 1
+ androidUseSwappy: 0
+ androidBlitType: 0
+ androidResizableWindow: 0
+ androidDefaultWindowWidth: 1920
+ androidDefaultWindowHeight: 1080
+ androidMinimumWindowWidth: 400
+ androidMinimumWindowHeight: 300
+ androidFullscreenMode: 1
+ defaultIsNativeResolution: 1
+ macRetinaSupport: 1
+ runInBackground: 1
+ captureSingleScreen: 0
+ muteOtherAudioSources: 0
+ Prepare IOS For Recording: 0
+ Force IOS Speakers When Recording: 0
+ deferSystemGesturesMode: 0
+ hideHomeButton: 0
+ submitAnalytics: 1
+ usePlayerLog: 1
+ bakeCollisionMeshes: 0
+ forceSingleInstance: 0
+ useFlipModelSwapchain: 1
+ resizableWindow: 1
+ useMacAppStoreValidation: 0
+ macAppStoreCategory: public.app-category.games
+ gpuSkinning: 0
+ xboxPIXTextureCapture: 0
+ xboxEnableAvatar: 0
+ xboxEnableKinect: 0
+ xboxEnableKinectAutoTracking: 0
+ xboxEnableFitness: 0
+ visibleInBackground: 1
+ allowFullscreenSwitch: 0
+ fullscreenMode: 3
+ xboxSpeechDB: 0
+ xboxEnableHeadOrientation: 0
+ xboxEnableGuest: 0
+ xboxEnablePIXSampling: 0
+ metalFramebufferOnly: 0
+ xboxOneResolution: 0
+ xboxOneSResolution: 0
+ xboxOneXResolution: 3
+ xboxOneMonoLoggingLevel: 0
+ xboxOneLoggingLevel: 1
+ xboxOneDisableEsram: 0
+ xboxOneEnableTypeOptimization: 0
+ xboxOnePresentImmediateThreshold: 0
+ switchQueueCommandMemory: 1048576
+ switchQueueControlMemory: 16384
+ switchQueueComputeMemory: 262144
+ switchNVNShaderPoolsGranularity: 33554432
+ switchNVNDefaultPoolsGranularity: 16777216
+ switchNVNOtherPoolsGranularity: 16777216
+ switchNVNMaxPublicTextureIDCount: 0
+ switchNVNMaxPublicSamplerIDCount: 0
+ stadiaPresentMode: 0
+ stadiaTargetFramerate: 0
+ vulkanNumSwapchainBuffers: 3
+ vulkanEnableSetSRGBWrite: 0
+ vulkanEnableLateAcquireNextImage: 0
+ m_SupportedAspectRatios:
+ 4:3: 1
+ 5:4: 1
+ 16:10: 1
+ 16:9: 1
+ Others: 1
+ bundleVersion: 1.0
+ preloadedAssets: []
+ metroInputSource: 0
+ wsaTransparentSwapchain: 0
+ m_HolographicPauseOnTrackingLoss: 1
+ xboxOneDisableKinectGpuReservation: 1
+ xboxOneEnable7thCore: 1
+ vrSettings:
+ cardboard:
+ depthFormat: 0
+ enableTransitionView: 0
+ daydream:
+ depthFormat: 0
+ useSustainedPerformanceMode: 0
+ enableVideoLayer: 0
+ useProtectedVideoMemory: 0
+ minimumSupportedHeadTracking: 0
+ maximumSupportedHeadTracking: 1
+ hololens:
+ depthFormat: 1
+ depthBufferSharingEnabled: 1
+ lumin:
+ depthFormat: 0
+ frameTiming: 2
+ enableGLCache: 0
+ glCacheMaxBlobSize: 524288
+ glCacheMaxFileSize: 8388608
+ oculus:
+ sharedDepthBuffer: 1
+ dashSupport: 1
+ lowOverheadMode: 0
+ protectedContext: 0
+ v2Signing: 1
+ enable360StereoCapture: 0
+ isWsaHolographicRemotingEnabled: 0
+ enableFrameTimingStats: 0
+ useHDRDisplay: 0
+ D3DHDRBitDepth: 0
+ m_ColorGamuts: 00000000
+ targetPixelDensity: 30
+ resolutionScalingMode: 0
+ androidSupportedAspectRatio: 1
+ androidMaxAspectRatio: 2.1
+ applicationIdentifier: {}
+ buildNumber: {}
+ AndroidBundleVersionCode: 1
+ AndroidMinSdkVersion: 19
+ AndroidTargetSdkVersion: 0
+ AndroidPreferredInstallLocation: 1
+ aotOptions:
+ stripEngineCode: 1
+ iPhoneStrippingLevel: 0
+ iPhoneScriptCallOptimization: 0
+ ForceInternetPermission: 0
+ ForceSDCardPermission: 0
+ CreateWallpaper: 0
+ APKExpansionFiles: 0
+ keepLoadedShadersAlive: 0
+ StripUnusedMeshComponents: 0
+ VertexChannelCompressionMask: 4054
+ iPhoneSdkVersion: 988
+ iOSTargetOSVersionString: 10.0
+ tvOSSdkVersion: 0
+ tvOSRequireExtendedGameController: 0
+ tvOSTargetOSVersionString: 10.0
+ uIPrerenderedIcon: 0
+ uIRequiresPersistentWiFi: 0
+ uIRequiresFullScreen: 1
+ uIStatusBarHidden: 1
+ uIExitOnSuspend: 0
+ uIStatusBarStyle: 0
+ appleTVSplashScreen: {fileID: 0}
+ appleTVSplashScreen2x: {fileID: 0}
+ tvOSSmallIconLayers: []
+ tvOSSmallIconLayers2x: []
+ tvOSLargeIconLayers: []
+ tvOSLargeIconLayers2x: []
+ tvOSTopShelfImageLayers: []
+ tvOSTopShelfImageLayers2x: []
+ tvOSTopShelfImageWideLayers: []
+ tvOSTopShelfImageWideLayers2x: []
+ iOSLaunchScreenType: 0
+ iOSLaunchScreenPortrait: {fileID: 0}
+ iOSLaunchScreenLandscape: {fileID: 0}
+ iOSLaunchScreenBackgroundColor:
+ serializedVersion: 2
+ rgba: 0
+ iOSLaunchScreenFillPct: 100
+ iOSLaunchScreenSize: 100
+ iOSLaunchScreenCustomXibPath:
+ iOSLaunchScreeniPadType: 0
+ iOSLaunchScreeniPadImage: {fileID: 0}
+ iOSLaunchScreeniPadBackgroundColor:
+ serializedVersion: 2
+ rgba: 0
+ iOSLaunchScreeniPadFillPct: 100
+ iOSLaunchScreeniPadSize: 100
+ iOSLaunchScreeniPadCustomXibPath:
+ iOSUseLaunchScreenStoryboard: 0
+ iOSLaunchScreenCustomStoryboardPath:
+ iOSDeviceRequirements: []
+ iOSURLSchemes: []
+ iOSBackgroundModes: 0
+ iOSMetalForceHardShadows: 0
+ metalEditorSupport: 1
+ metalAPIValidation: 1
+ iOSRenderExtraFrameOnPause: 0
+ iosCopyPluginsCodeInsteadOfSymlink: 0
+ appleDeveloperTeamID:
+ iOSManualSigningProvisioningProfileID:
+ tvOSManualSigningProvisioningProfileID:
+ iOSManualSigningProvisioningProfileType: 0
+ tvOSManualSigningProvisioningProfileType: 0
+ appleEnableAutomaticSigning: 0
+ iOSRequireARKit: 0
+ iOSAutomaticallyDetectAndAddCapabilities: 1
+ appleEnableProMotion: 0
+ clonedFromGUID: 00000000000000000000000000000000
+ templatePackageId:
+ templateDefaultScene:
+ AndroidTargetArchitectures: 1
+ AndroidTargetDevices: 0
+ AndroidSplashScreenScale: 0
+ androidSplashScreen: {fileID: 0}
+ AndroidKeystoreName:
+ AndroidKeyaliasName:
+ AndroidBuildApkPerCpuArchitecture: 0
+ AndroidTVCompatibility: 0
+ AndroidIsGame: 1
+ AndroidEnableTango: 0
+ androidEnableBanner: 1
+ androidUseLowAccuracyLocation: 0
+ androidUseCustomKeystore: 0
+ m_AndroidBanners:
+ - width: 320
+ height: 180
+ banner: {fileID: 0}
+ androidGamepadSupportLevel: 0
+ chromeosInputEmulation: 1
+ AndroidValidateAppBundleSize: 1
+ AndroidAppBundleSizeToValidate: 150
+ m_BuildTargetIcons: []
+ m_BuildTargetPlatformIcons: []
+ m_BuildTargetBatching:
+ - m_BuildTarget: Standalone
+ m_StaticBatching: 0
+ m_DynamicBatching: 0
+ m_BuildTargetGraphicsJobs: []
+ m_BuildTargetGraphicsJobMode: []
+ m_BuildTargetGraphicsAPIs: []
+ m_BuildTargetVRSettings: []
+ openGLRequireES31: 0
+ openGLRequireES31AEP: 0
+ openGLRequireES32: 0
+ m_TemplateCustomTags: {}
+ mobileMTRendering:
+ Android: 1
+ iPhone: 1
+ tvOS: 1
+ m_BuildTargetGroupLightmapEncodingQuality:
+ - m_BuildTarget: Standalone
+ m_EncodingQuality: 0
+ m_BuildTargetGroupLightmapSettings:
+ - m_BuildTarget: Standalone
+ m_TextureStreamingEnabled: 0
+ m_TextureStreamingPriority: 0
+ playModeTestRunnerEnabled: 0
+ runPlayModeTestAsEditModeTest: 0
+ actionOnDotNetUnhandledException: 1
+ enableInternalProfiler: 0
+ logObjCUncaughtExceptions: 1
+ enableCrashReportAPI: 0
+ cameraUsageDescription:
+ locationUsageDescription:
+ microphoneUsageDescription:
+ switchNetLibKey:
+ switchSocketMemoryPoolSize: 6144
+ switchSocketAllocatorPoolSize: 128
+ switchSocketConcurrencyLimit: 14
+ switchScreenResolutionBehavior: 2
+ switchUseCPUProfiler: 0
+ switchApplicationID: 0x01004b9000490000
+ switchNSODependencies:
+ switchTitleNames_0:
+ switchTitleNames_1:
+ switchTitleNames_2:
+ switchTitleNames_3:
+ switchTitleNames_4:
+ switchTitleNames_5:
+ switchTitleNames_6:
+ switchTitleNames_7:
+ switchTitleNames_8:
+ switchTitleNames_9:
+ switchTitleNames_10:
+ switchTitleNames_11:
+ switchTitleNames_12:
+ switchTitleNames_13:
+ switchTitleNames_14:
+ switchTitleNames_15:
+ switchPublisherNames_0:
+ switchPublisherNames_1:
+ switchPublisherNames_2:
+ switchPublisherNames_3:
+ switchPublisherNames_4:
+ switchPublisherNames_5:
+ switchPublisherNames_6:
+ switchPublisherNames_7:
+ switchPublisherNames_8:
+ switchPublisherNames_9:
+ switchPublisherNames_10:
+ switchPublisherNames_11:
+ switchPublisherNames_12:
+ switchPublisherNames_13:
+ switchPublisherNames_14:
+ switchPublisherNames_15:
+ switchIcons_0: {fileID: 0}
+ switchIcons_1: {fileID: 0}
+ switchIcons_2: {fileID: 0}
+ switchIcons_3: {fileID: 0}
+ switchIcons_4: {fileID: 0}
+ switchIcons_5: {fileID: 0}
+ switchIcons_6: {fileID: 0}
+ switchIcons_7: {fileID: 0}
+ switchIcons_8: {fileID: 0}
+ switchIcons_9: {fileID: 0}
+ switchIcons_10: {fileID: 0}
+ switchIcons_11: {fileID: 0}
+ switchIcons_12: {fileID: 0}
+ switchIcons_13: {fileID: 0}
+ switchIcons_14: {fileID: 0}
+ switchIcons_15: {fileID: 0}
+ switchSmallIcons_0: {fileID: 0}
+ switchSmallIcons_1: {fileID: 0}
+ switchSmallIcons_2: {fileID: 0}
+ switchSmallIcons_3: {fileID: 0}
+ switchSmallIcons_4: {fileID: 0}
+ switchSmallIcons_5: {fileID: 0}
+ switchSmallIcons_6: {fileID: 0}
+ switchSmallIcons_7: {fileID: 0}
+ switchSmallIcons_8: {fileID: 0}
+ switchSmallIcons_9: {fileID: 0}
+ switchSmallIcons_10: {fileID: 0}
+ switchSmallIcons_11: {fileID: 0}
+ switchSmallIcons_12: {fileID: 0}
+ switchSmallIcons_13: {fileID: 0}
+ switchSmallIcons_14: {fileID: 0}
+ switchSmallIcons_15: {fileID: 0}
+ switchManualHTML:
+ switchAccessibleURLs:
+ switchLegalInformation:
+ switchMainThreadStackSize: 1048576
+ switchPresenceGroupId:
+ switchLogoHandling: 0
+ switchReleaseVersion: 0
+ switchDisplayVersion: 1.0.0
+ switchStartupUserAccount: 0
+ switchTouchScreenUsage: 0
+ switchSupportedLanguagesMask: 0
+ switchLogoType: 0
+ switchApplicationErrorCodeCategory:
+ switchUserAccountSaveDataSize: 0
+ switchUserAccountSaveDataJournalSize: 0
+ switchApplicationAttribute: 0
+ switchCardSpecSize: -1
+ switchCardSpecClock: -1
+ switchRatingsMask: 0
+ switchRatingsInt_0: 0
+ switchRatingsInt_1: 0
+ switchRatingsInt_2: 0
+ switchRatingsInt_3: 0
+ switchRatingsInt_4: 0
+ switchRatingsInt_5: 0
+ switchRatingsInt_6: 0
+ switchRatingsInt_7: 0
+ switchRatingsInt_8: 0
+ switchRatingsInt_9: 0
+ switchRatingsInt_10: 0
+ switchRatingsInt_11: 0
+ switchRatingsInt_12: 0
+ switchLocalCommunicationIds_0:
+ switchLocalCommunicationIds_1:
+ switchLocalCommunicationIds_2:
+ switchLocalCommunicationIds_3:
+ switchLocalCommunicationIds_4:
+ switchLocalCommunicationIds_5:
+ switchLocalCommunicationIds_6:
+ switchLocalCommunicationIds_7:
+ switchParentalControl: 0
+ switchAllowsScreenshot: 1
+ switchAllowsVideoCapturing: 1
+ switchAllowsRuntimeAddOnContentInstall: 0
+ switchDataLossConfirmation: 0
+ switchUserAccountLockEnabled: 0
+ switchSystemResourceMemory: 16777216
+ switchSupportedNpadStyles: 22
+ switchNativeFsCacheSize: 32
+ switchIsHoldTypeHorizontal: 0
+ switchSupportedNpadCount: 8
+ switchSocketConfigEnabled: 0
+ switchTcpInitialSendBufferSize: 32
+ switchTcpInitialReceiveBufferSize: 64
+ switchTcpAutoSendBufferSizeMax: 256
+ switchTcpAutoReceiveBufferSizeMax: 256
+ switchUdpSendBufferSize: 9
+ switchUdpReceiveBufferSize: 42
+ switchSocketBufferEfficiency: 4
+ switchSocketInitializeEnabled: 1
+ switchNetworkInterfaceManagerInitializeEnabled: 1
+ switchPlayerConnectionEnabled: 1
+ switchUseMicroSleepForYield: 1
+ switchEnableRamDiskSupport: 0
+ switchMicroSleepForYieldTime: 25
+ switchRamDiskSpaceSize: 12
+ ps4NPAgeRating: 12
+ ps4NPTitleSecret:
+ ps4NPTrophyPackPath:
+ ps4ParentalLevel: 11
+ ps4ContentID: ED1633-NPXX51362_00-0000000000000000
+ ps4Category: 0
+ ps4MasterVersion: 01.00
+ ps4AppVersion: 01.00
+ ps4AppType: 0
+ ps4ParamSfxPath:
+ ps4VideoOutPixelFormat: 0
+ ps4VideoOutInitialWidth: 1920
+ ps4VideoOutBaseModeInitialWidth: 1920
+ ps4VideoOutReprojectionRate: 60
+ ps4PronunciationXMLPath:
+ ps4PronunciationSIGPath:
+ ps4BackgroundImagePath:
+ ps4StartupImagePath:
+ ps4StartupImagesFolder:
+ ps4IconImagesFolder:
+ ps4SaveDataImagePath:
+ ps4SdkOverride:
+ ps4BGMPath:
+ ps4ShareFilePath:
+ ps4ShareOverlayImagePath:
+ ps4PrivacyGuardImagePath:
+ ps4ExtraSceSysFile:
+ ps4NPtitleDatPath:
+ ps4RemotePlayKeyAssignment: -1
+ ps4RemotePlayKeyMappingDir:
+ ps4PlayTogetherPlayerCount: 0
+ ps4EnterButtonAssignment: 2
+ ps4ApplicationParam1: 0
+ ps4ApplicationParam2: 0
+ ps4ApplicationParam3: 0
+ ps4ApplicationParam4: 0
+ ps4DownloadDataSize: 0
+ ps4GarlicHeapSize: 2048
+ ps4ProGarlicHeapSize: 2560
+ playerPrefsMaxSize: 32768
+ ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
+ ps4pnSessions: 1
+ ps4pnPresence: 1
+ ps4pnFriends: 1
+ ps4pnGameCustomData: 1
+ playerPrefsSupport: 0
+ enableApplicationExit: 0
+ resetTempFolder: 1
+ restrictedAudioUsageRights: 0
+ ps4UseResolutionFallback: 0
+ ps4ReprojectionSupport: 0
+ ps4UseAudio3dBackend: 0
+ ps4UseLowGarlicFragmentationMode: 1
+ ps4SocialScreenEnabled: 0
+ ps4ScriptOptimizationLevel: 2
+ ps4Audio3dVirtualSpeakerCount: 14
+ ps4attribCpuUsage: 0
+ ps4PatchPkgPath:
+ ps4PatchLatestPkgPath:
+ ps4PatchChangeinfoPath:
+ ps4PatchDayOne: 0
+ ps4attribUserManagement: 0
+ ps4attribMoveSupport: 0
+ ps4attrib3DSupport: 0
+ ps4attribShareSupport: 0
+ ps4attribExclusiveVR: 0
+ ps4disableAutoHideSplash: 0
+ ps4videoRecordingFeaturesUsed: 0
+ ps4contentSearchFeaturesUsed: 0
+ ps4CompatibilityPS5: 0
+ ps4AllowPS5Detection: 0
+ ps4GPU800MHz: 1
+ ps4attribEyeToEyeDistanceSettingVR: 0
+ ps4IncludedModules: []
+ ps4attribVROutputEnabled: 0
+ ps5ParamFilePath:
+ ps5VideoOutPixelFormat: 0
+ ps5VideoOutInitialWidth: 1920
+ ps5VideoOutOutputMode: 1
+ ps5BackgroundImagePath:
+ ps5StartupImagePath:
+ ps5Pic2Path:
+ ps5StartupImagesFolder:
+ ps5IconImagesFolder:
+ ps5SaveDataImagePath:
+ ps5SdkOverride:
+ ps5BGMPath:
+ ps5ShareOverlayImagePath:
+ ps5NPConfigZipPath:
+ ps5Passcode: F69AzBlax3CF3EDNhm3soLBPh71Yexui
+ ps5UseResolutionFallback: 0
+ ps5UseAudio3dBackend: 0
+ ps5ScriptOptimizationLevel: 2
+ ps5Audio3dVirtualSpeakerCount: 14
+ ps5VrrSupport: 0
+ ps5UpdateReferencePackage:
+ ps5disableAutoHideSplash: 0
+ ps5OperatingSystemCanDisableSplashScreen: 0
+ ps5IncludedModules: []
+ ps5SharedBinaryContentLabels: []
+ ps5SharedBinarySystemFolders: []
+ monoEnv:
+ splashScreenBackgroundSourceLandscape: {fileID: 0}
+ splashScreenBackgroundSourcePortrait: {fileID: 0}
+ blurSplashScreenBackground: 1
+ spritePackerPolicy:
+ webGLMemorySize: 32
+ webGLExceptionSupport: 1
+ webGLNameFilesAsHashes: 0
+ webGLDataCaching: 1
+ webGLDebugSymbols: 0
+ webGLEmscriptenArgs:
+ webGLModulesDirectory:
+ webGLTemplate: APPLICATION:Default
+ webGLAnalyzeBuildSize: 0
+ webGLUseEmbeddedResources: 0
+ webGLCompressionFormat: 0
+ webGLLinkerTarget: 1
+ webGLThreadsSupport: 0
+ webGLWasmStreaming: 0
+ scriptingDefineSymbols: {}
+ platformArchitecture: {}
+ scriptingBackend: {}
+ il2cppCompilerConfiguration: {}
+ managedStrippingLevel: {}
+ incrementalIl2cppBuild: {}
+ suppressCommonWarnings: 1
+ allowUnsafeCode: 0
+ additionalIl2CppArgs:
+ scriptingRuntimeVersion: 1
+ gcIncremental: 0
+ assemblyVersionValidation: 1
+ gcWBarrierValidation: 0
+ apiCompatibilityLevelPerPlatform: {}
+ m_RenderingPath: 1
+ m_MobileRenderingPath: 1
+ metroPackageName: Main Test Project
+ metroPackageVersion:
+ metroCertificatePath:
+ metroCertificatePassword:
+ metroCertificateSubject:
+ metroCertificateIssuer:
+ metroCertificateNotAfter: 0000000000000000
+ metroApplicationDescription: Main Test Project
+ wsaImages: {}
+ metroTileShortName:
+ metroTileShowName: 0
+ metroMediumTileShowName: 0
+ metroLargeTileShowName: 0
+ metroWideTileShowName: 0
+ metroSupportStreamingInstall: 0
+ metroLastRequiredScene: 0
+ metroDefaultTileSize: 1
+ metroTileForegroundText: 2
+ metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
+ metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,
+ a: 1}
+ metroSplashScreenUseBackgroundColor: 0
+ platformCapabilities: {}
+ metroTargetDeviceFamilies: {}
+ metroFTAName:
+ metroFTAFileTypes: []
+ metroProtocolName:
+ XboxOneProductId:
+ XboxOneUpdateKey:
+ XboxOneSandboxId:
+ XboxOneContentId:
+ XboxOneTitleId:
+ XboxOneSCId:
+ XboxOneGameOsOverridePath:
+ XboxOnePackagingOverridePath:
+ XboxOneAppManifestOverridePath:
+ XboxOneVersion: 1.0.0.0
+ XboxOnePackageEncryption: 0
+ XboxOnePackageUpdateGranularity: 2
+ XboxOneDescription:
+ XboxOneLanguage:
+ - enus
+ XboxOneCapability: []
+ XboxOneGameRating: {}
+ XboxOneIsContentPackage: 0
+ XboxOneEnhancedXboxCompatibilityMode: 0
+ XboxOneEnableGPUVariability: 1
+ XboxOneSockets: {}
+ XboxOneSplashScreen: {fileID: 0}
+ XboxOneAllowedProductIds: []
+ XboxOnePersistentLocalStorageSize: 0
+ XboxOneXTitleMemory: 8
+ XboxOneOverrideIdentityName:
+ XboxOneOverrideIdentityPublisher:
+ vrEditorSettings:
+ daydream:
+ daydreamIconForeground: {fileID: 0}
+ daydreamIconBackground: {fileID: 0}
+ cloudServicesEnabled: {}
+ luminIcon:
+ m_Name:
+ m_ModelFolderPath:
+ m_PortalFolderPath:
+ luminCert:
+ m_CertPath:
+ m_SignPackage: 1
+ luminIsChannelApp: 0
+ luminVersion:
+ m_VersionCode: 1
+ m_VersionName:
+ apiCompatibilityLevel: 6
+ cloudProjectId:
+ framebufferDepthMemorylessMode: 0
+ projectName:
+ organizationId:
+ cloudEnabled: 0
+ enableNativePlatformBackendsForNewInputSystem: 0
+ disableOldInputManagerSupport: 0
+ legacyClampBlendShapeWeights: 0
diff --git a/Examples~/Main Test Project/ProjectSettings/ProjectVersion.txt b/Examples~/Main Test Project/ProjectSettings/ProjectVersion.txt
new file mode 100644
index 0000000..4c19129
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/ProjectVersion.txt
@@ -0,0 +1,2 @@
+m_EditorVersion: 2019.4.40f1
+m_EditorVersionWithRevision: 2019.4.40f1 (ffc62b691db5)
diff --git a/Examples~/Main Test Project/ProjectSettings/QualitySettings.asset b/Examples~/Main Test Project/ProjectSettings/QualitySettings.asset
new file mode 100644
index 0000000..58c8d01
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/QualitySettings.asset
@@ -0,0 +1,60 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!47 &1
+QualitySettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 5
+ m_CurrentQuality: 0
+ m_QualitySettings:
+ - serializedVersion: 2
+ name: High
+ pixelLightCount: 1
+ shadows: 0
+ shadowResolution: 1
+ shadowProjection: 1
+ shadowCascades: 1
+ shadowDistance: 40
+ shadowNearPlaneOffset: 3
+ shadowCascade2Split: 0.33333334
+ shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
+ shadowmaskMode: 1
+ skinWeights: 255
+ textureQuality: 0
+ anisotropicTextures: 1
+ antiAliasing: 0
+ softParticles: 0
+ softVegetation: 1
+ realtimeReflectionProbes: 1
+ billboardsFaceCameraPosition: 1
+ vSyncCount: 0
+ lodBias: 1
+ maximumLODLevel: 0
+ streamingMipmapsActive: 0
+ streamingMipmapsAddAllCameras: 1
+ streamingMipmapsMemoryBudget: 512
+ streamingMipmapsRenderersPerFrame: 512
+ streamingMipmapsMaxLevelReduction: 2
+ streamingMipmapsMaxFileIORequests: 1024
+ particleRaycastBudget: 256
+ asyncUploadTimeSlice: 2
+ asyncUploadBufferSize: 16
+ asyncUploadPersistentBuffer: 1
+ resolutionScalingFixedDPIFactor: 1
+ customRenderPipeline: {fileID: 0}
+ excludedTargetPlatforms: []
+ m_PerPlatformDefaultQuality:
+ Android: 0
+ CloudRendering: 0
+ GameCoreScarlett: 0
+ GameCoreXboxOne: 0
+ Lumin: 0
+ Nintendo Switch: 0
+ PS4: 0
+ PS5: 0
+ Stadia: 0
+ Standalone: 0
+ WebGL: 0
+ Windows Store Apps: 0
+ XboxOne: 0
+ iPhone: 0
+ tvOS: 0
diff --git a/Examples~/Main Test Project/ProjectSettings/TagManager.asset b/Examples~/Main Test Project/ProjectSettings/TagManager.asset
new file mode 100644
index 0000000..1c92a78
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/TagManager.asset
@@ -0,0 +1,43 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!78 &1
+TagManager:
+ serializedVersion: 2
+ tags: []
+ layers:
+ - Default
+ - TransparentFX
+ - Ignore Raycast
+ -
+ - Water
+ - UI
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ -
+ m_SortingLayers:
+ - name: Default
+ uniqueID: 0
+ locked: 0
diff --git a/Examples~/Main Test Project/ProjectSettings/TimeManager.asset b/Examples~/Main Test Project/ProjectSettings/TimeManager.asset
new file mode 100644
index 0000000..558a017
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/TimeManager.asset
@@ -0,0 +1,9 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!5 &1
+TimeManager:
+ m_ObjectHideFlags: 0
+ Fixed Timestep: 0.02
+ Maximum Allowed Timestep: 0.33333334
+ m_TimeScale: 1
+ Maximum Particle Timestep: 0.03
diff --git a/Examples~/Main Test Project/ProjectSettings/UnityConnectSettings.asset b/Examples~/Main Test Project/ProjectSettings/UnityConnectSettings.asset
new file mode 100644
index 0000000..fa0b146
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/UnityConnectSettings.asset
@@ -0,0 +1,34 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!310 &1
+UnityConnectSettings:
+ m_ObjectHideFlags: 0
+ serializedVersion: 1
+ m_Enabled: 0
+ m_TestMode: 0
+ m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
+ m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
+ m_ConfigUrl: https://config.uca.cloud.unity3d.com
+ m_TestInitMode: 0
+ CrashReportingSettings:
+ m_EventUrl: https://perf-events.cloud.unity3d.com
+ m_Enabled: 0
+ m_LogBufferSize: 10
+ m_CaptureEditorExceptions: 1
+ UnityPurchasingSettings:
+ m_Enabled: 0
+ m_TestMode: 0
+ UnityAnalyticsSettings:
+ m_Enabled: 0
+ m_TestMode: 0
+ m_InitializeOnStartup: 1
+ UnityAdsSettings:
+ m_Enabled: 0
+ m_InitializeOnStartup: 1
+ m_TestMode: 0
+ m_IosGameId:
+ m_AndroidGameId:
+ m_GameIds: {}
+ m_GameId:
+ PerformanceReportingSettings:
+ m_Enabled: 0
diff --git a/Examples~/Main Test Project/ProjectSettings/VFXManager.asset b/Examples~/Main Test Project/ProjectSettings/VFXManager.asset
new file mode 100644
index 0000000..3a95c98
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/VFXManager.asset
@@ -0,0 +1,12 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!937362698 &1
+VFXManager:
+ m_ObjectHideFlags: 0
+ m_IndirectShader: {fileID: 0}
+ m_CopyBufferShader: {fileID: 0}
+ m_SortShader: {fileID: 0}
+ m_StripUpdateShader: {fileID: 0}
+ m_RenderPipeSettingsPath:
+ m_FixedTimeStep: 0.016666668
+ m_MaxDeltaTime: 0.05
diff --git a/Examples~/Main Test Project/ProjectSettings/XRSettings.asset b/Examples~/Main Test Project/ProjectSettings/XRSettings.asset
new file mode 100644
index 0000000..482590c
--- /dev/null
+++ b/Examples~/Main Test Project/ProjectSettings/XRSettings.asset
@@ -0,0 +1,10 @@
+{
+ "m_SettingKeys": [
+ "VR Device Disabled",
+ "VR Device User Alert"
+ ],
+ "m_SettingValues": [
+ "False",
+ "False"
+ ]
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 71311ec..2a382c7 100644
--- a/README.md
+++ b/README.md
@@ -2,12 +2,6 @@
This is a collection of useful additions to .NET when developing in Unity.
-## Installation
-
-Place the files under the Assets directory in a Unity project. The easiest way is to use a git submodule:
-
-> git submodule add git@github.com:tbg10101/10101-Software-Unity-Commons.git Assets/10101\ Software/Common
-
## Contributors
Created and maintained by Tristan Bellman-Greenwood.
diff --git a/Runtime.meta b/Runtime.meta
new file mode 100644
index 0000000..b43fc29
--- /dev/null
+++ b/Runtime.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6039900e9e8c17d49a5ddce30f64839d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Scripts.meta b/Runtime/Scripts.meta
old mode 100755
new mode 100644
similarity index 77%
rename from Scripts.meta
rename to Runtime/Scripts.meta
index 449aa13..0ead777
--- a/Scripts.meta
+++ b/Runtime/Scripts.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 540bba6cf54fe944a8238d18dd765b9d
+guid: 338324038ee77954594d6b4943e2f961
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Scripts/Components.meta b/Runtime/Scripts/Components.meta
similarity index 100%
rename from Scripts/Components.meta
rename to Runtime/Scripts/Components.meta
diff --git a/Scripts/Components/10101Software.Commons.Components.asmdef b/Runtime/Scripts/Components/10101Software.Commons.Components.asmdef
similarity index 100%
rename from Scripts/Components/10101Software.Commons.Components.asmdef
rename to Runtime/Scripts/Components/10101Software.Commons.Components.asmdef
diff --git a/Scripts/Components/10101Software.Commons.Components.asmdef.meta b/Runtime/Scripts/Components/10101Software.Commons.Components.asmdef.meta
similarity index 100%
rename from Scripts/Components/10101Software.Commons.Components.asmdef.meta
rename to Runtime/Scripts/Components/10101Software.Commons.Components.asmdef.meta
diff --git a/Scripts/Components/AnchorToPosition.cs b/Runtime/Scripts/Components/AnchorToPosition.cs
similarity index 100%
rename from Scripts/Components/AnchorToPosition.cs
rename to Runtime/Scripts/Components/AnchorToPosition.cs
diff --git a/Scripts/Components/AnchorToPosition.cs.meta b/Runtime/Scripts/Components/AnchorToPosition.cs.meta
similarity index 100%
rename from Scripts/Components/AnchorToPosition.cs.meta
rename to Runtime/Scripts/Components/AnchorToPosition.cs.meta
diff --git a/Scripts/Components/CameraOrbit.cs b/Runtime/Scripts/Components/CameraOrbit.cs
similarity index 100%
rename from Scripts/Components/CameraOrbit.cs
rename to Runtime/Scripts/Components/CameraOrbit.cs
diff --git a/Scripts/Components/CameraOrbit.cs.meta b/Runtime/Scripts/Components/CameraOrbit.cs.meta
similarity index 100%
rename from Scripts/Components/CameraOrbit.cs.meta
rename to Runtime/Scripts/Components/CameraOrbit.cs.meta
diff --git a/Scripts/Components/DestroyOnLoad.cs b/Runtime/Scripts/Components/DestroyOnLoad.cs
similarity index 100%
rename from Scripts/Components/DestroyOnLoad.cs
rename to Runtime/Scripts/Components/DestroyOnLoad.cs
diff --git a/Scripts/Components/DestroyOnLoad.cs.meta b/Runtime/Scripts/Components/DestroyOnLoad.cs.meta
similarity index 100%
rename from Scripts/Components/DestroyOnLoad.cs.meta
rename to Runtime/Scripts/Components/DestroyOnLoad.cs.meta
diff --git a/Scripts/Components/DisableOnAwake.cs b/Runtime/Scripts/Components/DisableOnAwake.cs
similarity index 100%
rename from Scripts/Components/DisableOnAwake.cs
rename to Runtime/Scripts/Components/DisableOnAwake.cs
diff --git a/Scripts/Components/DisableOnAwake.cs.meta b/Runtime/Scripts/Components/DisableOnAwake.cs.meta
similarity index 100%
rename from Scripts/Components/DisableOnAwake.cs.meta
rename to Runtime/Scripts/Components/DisableOnAwake.cs.meta
diff --git a/Scripts/Components/DontDestroyOnLoad.cs b/Runtime/Scripts/Components/DontDestroyOnLoad.cs
similarity index 100%
rename from Scripts/Components/DontDestroyOnLoad.cs
rename to Runtime/Scripts/Components/DontDestroyOnLoad.cs
diff --git a/Scripts/Components/DontDestroyOnLoad.cs.meta b/Runtime/Scripts/Components/DontDestroyOnLoad.cs.meta
similarity index 100%
rename from Scripts/Components/DontDestroyOnLoad.cs.meta
rename to Runtime/Scripts/Components/DontDestroyOnLoad.cs.meta
diff --git a/Scripts/Components/LookAtCamera.cs b/Runtime/Scripts/Components/LookAtCamera.cs
similarity index 100%
rename from Scripts/Components/LookAtCamera.cs
rename to Runtime/Scripts/Components/LookAtCamera.cs
diff --git a/Scripts/Components/LookAtCamera.cs.meta b/Runtime/Scripts/Components/LookAtCamera.cs.meta
similarity index 100%
rename from Scripts/Components/LookAtCamera.cs.meta
rename to Runtime/Scripts/Components/LookAtCamera.cs.meta
diff --git a/Scripts/Components/MainThreadJobExecutor.cs b/Runtime/Scripts/Components/MainThreadJobExecutor.cs
similarity index 100%
rename from Scripts/Components/MainThreadJobExecutor.cs
rename to Runtime/Scripts/Components/MainThreadJobExecutor.cs
diff --git a/Scripts/Components/MainThreadJobExecutor.cs.meta b/Runtime/Scripts/Components/MainThreadJobExecutor.cs.meta
similarity index 100%
rename from Scripts/Components/MainThreadJobExecutor.cs.meta
rename to Runtime/Scripts/Components/MainThreadJobExecutor.cs.meta
diff --git a/Scripts/Components/MouseOverBehaviour.cs b/Runtime/Scripts/Components/MouseOverBehaviour.cs
similarity index 100%
rename from Scripts/Components/MouseOverBehaviour.cs
rename to Runtime/Scripts/Components/MouseOverBehaviour.cs
diff --git a/Scripts/Components/MouseOverBehaviour.cs.meta b/Runtime/Scripts/Components/MouseOverBehaviour.cs.meta
similarity index 100%
rename from Scripts/Components/MouseOverBehaviour.cs.meta
rename to Runtime/Scripts/Components/MouseOverBehaviour.cs.meta
diff --git a/Scripts/Components/ReplicateRotation.cs b/Runtime/Scripts/Components/ReplicateRotation.cs
similarity index 100%
rename from Scripts/Components/ReplicateRotation.cs
rename to Runtime/Scripts/Components/ReplicateRotation.cs
diff --git a/Scripts/Components/ReplicateRotation.cs.meta b/Runtime/Scripts/Components/ReplicateRotation.cs.meta
similarity index 100%
rename from Scripts/Components/ReplicateRotation.cs.meta
rename to Runtime/Scripts/Components/ReplicateRotation.cs.meta
diff --git a/Scripts/Components/UI.meta b/Runtime/Scripts/Components/UI.meta
similarity index 100%
rename from Scripts/Components/UI.meta
rename to Runtime/Scripts/Components/UI.meta
diff --git a/Scripts/Components/UI/10101Software.Commons.Components.UI.asmdef b/Runtime/Scripts/Components/UI/10101Software.Commons.Components.UI.asmdef
similarity index 100%
rename from Scripts/Components/UI/10101Software.Commons.Components.UI.asmdef
rename to Runtime/Scripts/Components/UI/10101Software.Commons.Components.UI.asmdef
diff --git a/Scripts/Components/UI/10101Software.Commons.Components.UI.asmdef.meta b/Runtime/Scripts/Components/UI/10101Software.Commons.Components.UI.asmdef.meta
similarity index 100%
rename from Scripts/Components/UI/10101Software.Commons.Components.UI.asmdef.meta
rename to Runtime/Scripts/Components/UI/10101Software.Commons.Components.UI.asmdef.meta
diff --git a/Scripts/Components/UI/CanvasMonoBehaviour.cs b/Runtime/Scripts/Components/UI/CanvasMonoBehaviour.cs
similarity index 100%
rename from Scripts/Components/UI/CanvasMonoBehaviour.cs
rename to Runtime/Scripts/Components/UI/CanvasMonoBehaviour.cs
diff --git a/Scripts/Components/UI/CanvasMonoBehaviour.cs.meta b/Runtime/Scripts/Components/UI/CanvasMonoBehaviour.cs.meta
similarity index 100%
rename from Scripts/Components/UI/CanvasMonoBehaviour.cs.meta
rename to Runtime/Scripts/Components/UI/CanvasMonoBehaviour.cs.meta
diff --git a/Scripts/Components/UI/FpsCounter.cs b/Runtime/Scripts/Components/UI/FpsCounter.cs
similarity index 100%
rename from Scripts/Components/UI/FpsCounter.cs
rename to Runtime/Scripts/Components/UI/FpsCounter.cs
diff --git a/Scripts/Components/UI/FpsCounter.cs.meta b/Runtime/Scripts/Components/UI/FpsCounter.cs.meta
similarity index 100%
rename from Scripts/Components/UI/FpsCounter.cs.meta
rename to Runtime/Scripts/Components/UI/FpsCounter.cs.meta
diff --git a/Scripts/Components/UI/PointerMonoBehaviour.cs b/Runtime/Scripts/Components/UI/PointerMonoBehaviour.cs
similarity index 100%
rename from Scripts/Components/UI/PointerMonoBehaviour.cs
rename to Runtime/Scripts/Components/UI/PointerMonoBehaviour.cs
diff --git a/Scripts/Components/UI/PointerMonoBehaviour.cs.meta b/Runtime/Scripts/Components/UI/PointerMonoBehaviour.cs.meta
similarity index 100%
rename from Scripts/Components/UI/PointerMonoBehaviour.cs.meta
rename to Runtime/Scripts/Components/UI/PointerMonoBehaviour.cs.meta
diff --git a/Scripts/Components/UI/UiAnchor.cs b/Runtime/Scripts/Components/UI/UiAnchor.cs
similarity index 100%
rename from Scripts/Components/UI/UiAnchor.cs
rename to Runtime/Scripts/Components/UI/UiAnchor.cs
diff --git a/Scripts/Components/UI/UiAnchor.cs.meta b/Runtime/Scripts/Components/UI/UiAnchor.cs.meta
similarity index 100%
rename from Scripts/Components/UI/UiAnchor.cs.meta
rename to Runtime/Scripts/Components/UI/UiAnchor.cs.meta
diff --git a/Scripts/Components/UI/UiSpinner.cs b/Runtime/Scripts/Components/UI/UiSpinner.cs
similarity index 100%
rename from Scripts/Components/UI/UiSpinner.cs
rename to Runtime/Scripts/Components/UI/UiSpinner.cs
diff --git a/Scripts/Components/UI/UiSpinner.cs.meta b/Runtime/Scripts/Components/UI/UiSpinner.cs.meta
similarity index 100%
rename from Scripts/Components/UI/UiSpinner.cs.meta
rename to Runtime/Scripts/Components/UI/UiSpinner.cs.meta
diff --git a/Scripts/Components/UI/VersionDisplay.cs b/Runtime/Scripts/Components/UI/VersionDisplay.cs
similarity index 100%
rename from Scripts/Components/UI/VersionDisplay.cs
rename to Runtime/Scripts/Components/UI/VersionDisplay.cs
diff --git a/Scripts/Components/UI/VersionDisplay.cs.meta b/Runtime/Scripts/Components/UI/VersionDisplay.cs.meta
similarity index 100%
rename from Scripts/Components/UI/VersionDisplay.cs.meta
rename to Runtime/Scripts/Components/UI/VersionDisplay.cs.meta
diff --git a/Scripts/Components/UI/WedgeProgressBar.cs b/Runtime/Scripts/Components/UI/WedgeProgressBar.cs
similarity index 100%
rename from Scripts/Components/UI/WedgeProgressBar.cs
rename to Runtime/Scripts/Components/UI/WedgeProgressBar.cs
diff --git a/Scripts/Components/UI/WedgeProgressBar.cs.meta b/Runtime/Scripts/Components/UI/WedgeProgressBar.cs.meta
similarity index 100%
rename from Scripts/Components/UI/WedgeProgressBar.cs.meta
rename to Runtime/Scripts/Components/UI/WedgeProgressBar.cs.meta
diff --git a/Scripts/Editor Extensions.meta b/Runtime/Scripts/Editor Extensions.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions.meta
rename to Runtime/Scripts/Editor Extensions.meta
diff --git a/Scripts/Editor Extensions/10101Software.Commons.EditorExtensions.asmdef b/Runtime/Scripts/Editor Extensions/10101Software.Commons.EditorExtensions.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/10101Software.Commons.EditorExtensions.asmdef
rename to Runtime/Scripts/Editor Extensions/10101Software.Commons.EditorExtensions.asmdef
diff --git a/Scripts/Editor Extensions/10101Software.Commons.EditorExtensions.asmdef.meta b/Runtime/Scripts/Editor Extensions/10101Software.Commons.EditorExtensions.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/10101Software.Commons.EditorExtensions.asmdef.meta
rename to Runtime/Scripts/Editor Extensions/10101Software.Commons.EditorExtensions.asmdef.meta
diff --git a/Scripts/Editor Extensions/Custom Property Drawers.meta b/Runtime/Scripts/Editor Extensions/Custom Property Drawers.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/Custom Property Drawers.meta
rename to Runtime/Scripts/Editor Extensions/Custom Property Drawers.meta
diff --git a/Scripts/Editor Extensions/Custom Property Drawers/InspectorButtonDrawer.cs b/Runtime/Scripts/Editor Extensions/Custom Property Drawers/InspectorButtonDrawer.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/Custom Property Drawers/InspectorButtonDrawer.cs
rename to Runtime/Scripts/Editor Extensions/Custom Property Drawers/InspectorButtonDrawer.cs
diff --git a/Scripts/Editor Extensions/Custom Property Drawers/InspectorButtonDrawer.cs.meta b/Runtime/Scripts/Editor Extensions/Custom Property Drawers/InspectorButtonDrawer.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/Custom Property Drawers/InspectorButtonDrawer.cs.meta
rename to Runtime/Scripts/Editor Extensions/Custom Property Drawers/InspectorButtonDrawer.cs.meta
diff --git a/Scripts/Editor Extensions/Custom Property Drawers/ProgressBarDrawer.cs b/Runtime/Scripts/Editor Extensions/Custom Property Drawers/ProgressBarDrawer.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/Custom Property Drawers/ProgressBarDrawer.cs
rename to Runtime/Scripts/Editor Extensions/Custom Property Drawers/ProgressBarDrawer.cs
diff --git a/Scripts/Editor Extensions/Custom Property Drawers/ProgressBarDrawer.cs.meta b/Runtime/Scripts/Editor Extensions/Custom Property Drawers/ProgressBarDrawer.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/Custom Property Drawers/ProgressBarDrawer.cs.meta
rename to Runtime/Scripts/Editor Extensions/Custom Property Drawers/ProgressBarDrawer.cs.meta
diff --git a/Scripts/Editor Extensions/Custom Property Drawers/ReadOnlyDrawer.cs b/Runtime/Scripts/Editor Extensions/Custom Property Drawers/ReadOnlyDrawer.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/Custom Property Drawers/ReadOnlyDrawer.cs
rename to Runtime/Scripts/Editor Extensions/Custom Property Drawers/ReadOnlyDrawer.cs
diff --git a/Scripts/Editor Extensions/Custom Property Drawers/ReadOnlyDrawer.cs.meta b/Runtime/Scripts/Editor Extensions/Custom Property Drawers/ReadOnlyDrawer.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/Custom Property Drawers/ReadOnlyDrawer.cs.meta
rename to Runtime/Scripts/Editor Extensions/Custom Property Drawers/ReadOnlyDrawer.cs.meta
diff --git a/Scripts/Editor Extensions/EditorExtensions.cs b/Runtime/Scripts/Editor Extensions/EditorExtensions.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/EditorExtensions.cs
rename to Runtime/Scripts/Editor Extensions/EditorExtensions.cs
diff --git a/Scripts/Editor Extensions/EditorExtensions.cs.meta b/Runtime/Scripts/Editor Extensions/EditorExtensions.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Editor Extensions/EditorExtensions.cs.meta
rename to Runtime/Scripts/Editor Extensions/EditorExtensions.cs.meta
diff --git a/Scripts/Engine Extensions.meta b/Runtime/Scripts/Engine Extensions.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions.meta
rename to Runtime/Scripts/Engine Extensions.meta
diff --git a/Scripts/Engine Extensions/10101Software.Commons.EngineExtensions.asmdef b/Runtime/Scripts/Engine Extensions/10101Software.Commons.EngineExtensions.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/10101Software.Commons.EngineExtensions.asmdef
rename to Runtime/Scripts/Engine Extensions/10101Software.Commons.EngineExtensions.asmdef
diff --git a/Scripts/Engine Extensions/10101Software.Commons.EngineExtensions.asmdef.meta b/Runtime/Scripts/Engine Extensions/10101Software.Commons.EngineExtensions.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/10101Software.Commons.EngineExtensions.asmdef.meta
rename to Runtime/Scripts/Engine Extensions/10101Software.Commons.EngineExtensions.asmdef.meta
diff --git a/Scripts/Engine Extensions/Attributes.meta b/Runtime/Scripts/Engine Extensions/Attributes.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/Attributes.meta
rename to Runtime/Scripts/Engine Extensions/Attributes.meta
diff --git a/Scripts/Engine Extensions/Attributes/InspectorButtonAttribute.cs b/Runtime/Scripts/Engine Extensions/Attributes/InspectorButtonAttribute.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/Attributes/InspectorButtonAttribute.cs
rename to Runtime/Scripts/Engine Extensions/Attributes/InspectorButtonAttribute.cs
diff --git a/Scripts/Engine Extensions/Attributes/InspectorButtonAttribute.cs.meta b/Runtime/Scripts/Engine Extensions/Attributes/InspectorButtonAttribute.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/Attributes/InspectorButtonAttribute.cs.meta
rename to Runtime/Scripts/Engine Extensions/Attributes/InspectorButtonAttribute.cs.meta
diff --git a/Scripts/Engine Extensions/Attributes/ProgressBarAttribute.cs b/Runtime/Scripts/Engine Extensions/Attributes/ProgressBarAttribute.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/Attributes/ProgressBarAttribute.cs
rename to Runtime/Scripts/Engine Extensions/Attributes/ProgressBarAttribute.cs
diff --git a/Scripts/Engine Extensions/Attributes/ProgressBarAttribute.cs.meta b/Runtime/Scripts/Engine Extensions/Attributes/ProgressBarAttribute.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/Attributes/ProgressBarAttribute.cs.meta
rename to Runtime/Scripts/Engine Extensions/Attributes/ProgressBarAttribute.cs.meta
diff --git a/Scripts/Engine Extensions/Attributes/ReadOnlyAttribute.cs b/Runtime/Scripts/Engine Extensions/Attributes/ReadOnlyAttribute.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/Attributes/ReadOnlyAttribute.cs
rename to Runtime/Scripts/Engine Extensions/Attributes/ReadOnlyAttribute.cs
diff --git a/Scripts/Engine Extensions/Attributes/ReadOnlyAttribute.cs.meta b/Runtime/Scripts/Engine Extensions/Attributes/ReadOnlyAttribute.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/Attributes/ReadOnlyAttribute.cs.meta
rename to Runtime/Scripts/Engine Extensions/Attributes/ReadOnlyAttribute.cs.meta
diff --git a/Scripts/Engine Extensions/GameObjectExtensions.cs b/Runtime/Scripts/Engine Extensions/GameObjectExtensions.cs
similarity index 100%
rename from Scripts/Engine Extensions/GameObjectExtensions.cs
rename to Runtime/Scripts/Engine Extensions/GameObjectExtensions.cs
diff --git a/Scripts/Engine Extensions/GameObjectExtensions.cs.meta b/Runtime/Scripts/Engine Extensions/GameObjectExtensions.cs.meta
similarity index 100%
rename from Scripts/Engine Extensions/GameObjectExtensions.cs.meta
rename to Runtime/Scripts/Engine Extensions/GameObjectExtensions.cs.meta
diff --git a/Scripts/Engine Extensions/LayerMaskExtensions.cs b/Runtime/Scripts/Engine Extensions/LayerMaskExtensions.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/LayerMaskExtensions.cs
rename to Runtime/Scripts/Engine Extensions/LayerMaskExtensions.cs
diff --git a/Scripts/Engine Extensions/LayerMaskExtensions.cs.meta b/Runtime/Scripts/Engine Extensions/LayerMaskExtensions.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/LayerMaskExtensions.cs.meta
rename to Runtime/Scripts/Engine Extensions/LayerMaskExtensions.cs.meta
diff --git a/Scripts/Engine Extensions/PreLoadableScriptableObject.cs b/Runtime/Scripts/Engine Extensions/PreLoadableScriptableObject.cs
similarity index 100%
rename from Scripts/Engine Extensions/PreLoadableScriptableObject.cs
rename to Runtime/Scripts/Engine Extensions/PreLoadableScriptableObject.cs
diff --git a/Scripts/Engine Extensions/PreLoadableScriptableObject.cs.meta b/Runtime/Scripts/Engine Extensions/PreLoadableScriptableObject.cs.meta
similarity index 100%
rename from Scripts/Engine Extensions/PreLoadableScriptableObject.cs.meta
rename to Runtime/Scripts/Engine Extensions/PreLoadableScriptableObject.cs.meta
diff --git a/Scripts/Engine Extensions/TransformExtensions.cs b/Runtime/Scripts/Engine Extensions/TransformExtensions.cs
similarity index 100%
rename from Scripts/Engine Extensions/TransformExtensions.cs
rename to Runtime/Scripts/Engine Extensions/TransformExtensions.cs
diff --git a/Scripts/Engine Extensions/TransformExtensions.cs.meta b/Runtime/Scripts/Engine Extensions/TransformExtensions.cs.meta
similarity index 100%
rename from Scripts/Engine Extensions/TransformExtensions.cs.meta
rename to Runtime/Scripts/Engine Extensions/TransformExtensions.cs.meta
diff --git a/Scripts/Engine Extensions/Vector3Extensions.cs b/Runtime/Scripts/Engine Extensions/Vector3Extensions.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/Vector3Extensions.cs
rename to Runtime/Scripts/Engine Extensions/Vector3Extensions.cs
diff --git a/Scripts/Engine Extensions/Vector3Extensions.cs.meta b/Runtime/Scripts/Engine Extensions/Vector3Extensions.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Engine Extensions/Vector3Extensions.cs.meta
rename to Runtime/Scripts/Engine Extensions/Vector3Extensions.cs.meta
diff --git a/Scripts/Logging.meta b/Runtime/Scripts/Logging.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging.meta
rename to Runtime/Scripts/Logging.meta
diff --git a/Scripts/Logging/10101Software.Commons.Logging.asmdef b/Runtime/Scripts/Logging/10101Software.Commons.Logging.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/10101Software.Commons.Logging.asmdef
rename to Runtime/Scripts/Logging/10101Software.Commons.Logging.asmdef
diff --git a/Scripts/Logging/10101Software.Commons.Logging.asmdef.meta b/Runtime/Scripts/Logging/10101Software.Commons.Logging.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/10101Software.Commons.Logging.asmdef.meta
rename to Runtime/Scripts/Logging/10101Software.Commons.Logging.asmdef.meta
diff --git a/Scripts/Logging/Editor.meta b/Runtime/Scripts/Logging/Editor.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/Editor.meta
rename to Runtime/Scripts/Logging/Editor.meta
diff --git a/Scripts/Logging/Editor/10101Software.Commons.Logging.Editor.asmdef b/Runtime/Scripts/Logging/Editor/10101Software.Commons.Logging.Editor.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/Editor/10101Software.Commons.Logging.Editor.asmdef
rename to Runtime/Scripts/Logging/Editor/10101Software.Commons.Logging.Editor.asmdef
diff --git a/Scripts/Logging/Editor/10101Software.Commons.Logging.Editor.asmdef.meta b/Runtime/Scripts/Logging/Editor/10101Software.Commons.Logging.Editor.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/Editor/10101Software.Commons.Logging.Editor.asmdef.meta
rename to Runtime/Scripts/Logging/Editor/10101Software.Commons.Logging.Editor.asmdef.meta
diff --git a/Scripts/Logging/Editor/OpenLog.cs b/Runtime/Scripts/Logging/Editor/OpenLog.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/Editor/OpenLog.cs
rename to Runtime/Scripts/Logging/Editor/OpenLog.cs
diff --git a/Scripts/Logging/Editor/OpenLog.cs.meta b/Runtime/Scripts/Logging/Editor/OpenLog.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/Editor/OpenLog.cs.meta
rename to Runtime/Scripts/Logging/Editor/OpenLog.cs.meta
diff --git a/Scripts/Logging/Log.cs b/Runtime/Scripts/Logging/Log.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/Log.cs
rename to Runtime/Scripts/Logging/Log.cs
diff --git a/Scripts/Logging/Log.cs.meta b/Runtime/Scripts/Logging/Log.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/Log.cs.meta
rename to Runtime/Scripts/Logging/Log.cs.meta
diff --git a/Scripts/Logging/LogCloser.cs b/Runtime/Scripts/Logging/LogCloser.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/LogCloser.cs
rename to Runtime/Scripts/Logging/LogCloser.cs
diff --git a/Scripts/Logging/LogCloser.cs.meta b/Runtime/Scripts/Logging/LogCloser.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Logging/LogCloser.cs.meta
rename to Runtime/Scripts/Logging/LogCloser.cs.meta
diff --git a/Scripts/Serialization.meta b/Runtime/Scripts/Serialization.meta
similarity index 100%
rename from Scripts/Serialization.meta
rename to Runtime/Scripts/Serialization.meta
diff --git a/Scripts/Serialization/Json.meta b/Runtime/Scripts/Serialization/Json.meta
similarity index 100%
rename from Scripts/Serialization/Json.meta
rename to Runtime/Scripts/Serialization/Json.meta
diff --git a/Scripts/Serialization/Json/10101Software.Commons.Serialization.Json.asmdef b/Runtime/Scripts/Serialization/Json/10101Software.Commons.Serialization.Json.asmdef
similarity index 100%
rename from Scripts/Serialization/Json/10101Software.Commons.Serialization.Json.asmdef
rename to Runtime/Scripts/Serialization/Json/10101Software.Commons.Serialization.Json.asmdef
diff --git a/Scripts/Serialization/Json/10101Software.Commons.Serialization.Json.asmdef.meta b/Runtime/Scripts/Serialization/Json/10101Software.Commons.Serialization.Json.asmdef.meta
similarity index 100%
rename from Scripts/Serialization/Json/10101Software.Commons.Serialization.Json.asmdef.meta
rename to Runtime/Scripts/Serialization/Json/10101Software.Commons.Serialization.Json.asmdef.meta
diff --git a/Scripts/Serialization/Json/Extensions.cs b/Runtime/Scripts/Serialization/Json/Extensions.cs
similarity index 100%
rename from Scripts/Serialization/Json/Extensions.cs
rename to Runtime/Scripts/Serialization/Json/Extensions.cs
diff --git a/Scripts/Serialization/Json/Extensions.cs.meta b/Runtime/Scripts/Serialization/Json/Extensions.cs.meta
similarity index 100%
rename from Scripts/Serialization/Json/Extensions.cs.meta
rename to Runtime/Scripts/Serialization/Json/Extensions.cs.meta
diff --git a/Scripts/Serialization/Json/FileHelper.cs b/Runtime/Scripts/Serialization/Json/FileHelper.cs
similarity index 100%
rename from Scripts/Serialization/Json/FileHelper.cs
rename to Runtime/Scripts/Serialization/Json/FileHelper.cs
diff --git a/Scripts/Serialization/Json/FileHelper.cs.meta b/Runtime/Scripts/Serialization/Json/FileHelper.cs.meta
similarity index 100%
rename from Scripts/Serialization/Json/FileHelper.cs.meta
rename to Runtime/Scripts/Serialization/Json/FileHelper.cs.meta
diff --git a/Scripts/Serialization/Json/GenericJson.cs b/Runtime/Scripts/Serialization/Json/GenericJson.cs
similarity index 100%
rename from Scripts/Serialization/Json/GenericJson.cs
rename to Runtime/Scripts/Serialization/Json/GenericJson.cs
diff --git a/Scripts/Serialization/Json/GenericJson.cs.meta b/Runtime/Scripts/Serialization/Json/GenericJson.cs.meta
similarity index 100%
rename from Scripts/Serialization/Json/GenericJson.cs.meta
rename to Runtime/Scripts/Serialization/Json/GenericJson.cs.meta
diff --git a/Scripts/Serialization/Json/JsonDictionary.cs b/Runtime/Scripts/Serialization/Json/JsonDictionary.cs
similarity index 100%
rename from Scripts/Serialization/Json/JsonDictionary.cs
rename to Runtime/Scripts/Serialization/Json/JsonDictionary.cs
diff --git a/Scripts/Serialization/Json/JsonDictionary.cs.meta b/Runtime/Scripts/Serialization/Json/JsonDictionary.cs.meta
similarity index 100%
rename from Scripts/Serialization/Json/JsonDictionary.cs.meta
rename to Runtime/Scripts/Serialization/Json/JsonDictionary.cs.meta
diff --git a/Scripts/Serialization/Json/JsonList.cs b/Runtime/Scripts/Serialization/Json/JsonList.cs
similarity index 100%
rename from Scripts/Serialization/Json/JsonList.cs
rename to Runtime/Scripts/Serialization/Json/JsonList.cs
diff --git a/Scripts/Serialization/Json/JsonList.cs.meta b/Runtime/Scripts/Serialization/Json/JsonList.cs.meta
similarity index 100%
rename from Scripts/Serialization/Json/JsonList.cs.meta
rename to Runtime/Scripts/Serialization/Json/JsonList.cs.meta
diff --git a/Scripts/System.meta b/Runtime/Scripts/System.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System.meta
rename to Runtime/Scripts/System.meta
diff --git a/Scripts/System/10101Software.Commons.System.asmdef b/Runtime/Scripts/System/10101Software.Commons.System.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/10101Software.Commons.System.asmdef
rename to Runtime/Scripts/System/10101Software.Commons.System.asmdef
diff --git a/Scripts/System/10101Software.Commons.System.asmdef.meta b/Runtime/Scripts/System/10101Software.Commons.System.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/10101Software.Commons.System.asmdef.meta
rename to Runtime/Scripts/System/10101Software.Commons.System.asmdef.meta
diff --git a/Scripts/System/Collections.meta b/Runtime/Scripts/System/Collections.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Collections.meta
rename to Runtime/Scripts/System/Collections.meta
diff --git a/Scripts/System/Collections/10101Software.Commons.System.Collections.asmdef b/Runtime/Scripts/System/Collections/10101Software.Commons.System.Collections.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Collections/10101Software.Commons.System.Collections.asmdef
rename to Runtime/Scripts/System/Collections/10101Software.Commons.System.Collections.asmdef
diff --git a/Scripts/System/Collections/10101Software.Commons.System.Collections.asmdef.meta b/Runtime/Scripts/System/Collections/10101Software.Commons.System.Collections.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Collections/10101Software.Commons.System.Collections.asmdef.meta
rename to Runtime/Scripts/System/Collections/10101Software.Commons.System.Collections.asmdef.meta
diff --git a/Scripts/System/Collections/Generic.meta b/Runtime/Scripts/System/Collections/Generic.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Collections/Generic.meta
rename to Runtime/Scripts/System/Collections/Generic.meta
diff --git a/Scripts/System/Collections/Generic/Collections.cs b/Runtime/Scripts/System/Collections/Generic/Collections.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Collections/Generic/Collections.cs
rename to Runtime/Scripts/System/Collections/Generic/Collections.cs
diff --git a/Scripts/System/Collections/Generic/Collections.cs.meta b/Runtime/Scripts/System/Collections/Generic/Collections.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Collections/Generic/Collections.cs.meta
rename to Runtime/Scripts/System/Collections/Generic/Collections.cs.meta
diff --git a/Scripts/System/Collections/Generic/HashQueue.cs b/Runtime/Scripts/System/Collections/Generic/HashQueue.cs
similarity index 100%
rename from Scripts/System/Collections/Generic/HashQueue.cs
rename to Runtime/Scripts/System/Collections/Generic/HashQueue.cs
diff --git a/Scripts/System/Collections/Generic/HashQueue.cs.meta b/Runtime/Scripts/System/Collections/Generic/HashQueue.cs.meta
similarity index 100%
rename from Scripts/System/Collections/Generic/HashQueue.cs.meta
rename to Runtime/Scripts/System/Collections/Generic/HashQueue.cs.meta
diff --git a/Scripts/System/Collections/Generic/LinkedHashSet.cs b/Runtime/Scripts/System/Collections/Generic/LinkedHashSet.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Collections/Generic/LinkedHashSet.cs
rename to Runtime/Scripts/System/Collections/Generic/LinkedHashSet.cs
diff --git a/Scripts/System/Collections/Generic/LinkedHashSet.cs.meta b/Runtime/Scripts/System/Collections/Generic/LinkedHashSet.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Collections/Generic/LinkedHashSet.cs.meta
rename to Runtime/Scripts/System/Collections/Generic/LinkedHashSet.cs.meta
diff --git a/Scripts/System/Collections/Generic/MultiDictionary.cs b/Runtime/Scripts/System/Collections/Generic/MultiDictionary.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Collections/Generic/MultiDictionary.cs
rename to Runtime/Scripts/System/Collections/Generic/MultiDictionary.cs
diff --git a/Scripts/System/Collections/Generic/MultiDictionary.cs.meta b/Runtime/Scripts/System/Collections/Generic/MultiDictionary.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Collections/Generic/MultiDictionary.cs.meta
rename to Runtime/Scripts/System/Collections/Generic/MultiDictionary.cs.meta
diff --git a/Scripts/System/DateTimes.cs b/Runtime/Scripts/System/DateTimes.cs
similarity index 100%
rename from Scripts/System/DateTimes.cs
rename to Runtime/Scripts/System/DateTimes.cs
diff --git a/Scripts/System/DateTimes.cs.meta b/Runtime/Scripts/System/DateTimes.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/DateTimes.cs.meta
rename to Runtime/Scripts/System/DateTimes.cs.meta
diff --git a/Scripts/System/Ints.cs b/Runtime/Scripts/System/Ints.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Ints.cs
rename to Runtime/Scripts/System/Ints.cs
diff --git a/Scripts/System/Ints.cs.meta b/Runtime/Scripts/System/Ints.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Ints.cs.meta
rename to Runtime/Scripts/System/Ints.cs.meta
diff --git a/Scripts/System/Objects.cs b/Runtime/Scripts/System/Objects.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Objects.cs
rename to Runtime/Scripts/System/Objects.cs
diff --git a/Scripts/System/Objects.cs.meta b/Runtime/Scripts/System/Objects.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Objects.cs.meta
rename to Runtime/Scripts/System/Objects.cs.meta
diff --git a/Scripts/System/Strings.cs b/Runtime/Scripts/System/Strings.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Strings.cs
rename to Runtime/Scripts/System/Strings.cs
diff --git a/Scripts/System/Strings.cs.meta b/Runtime/Scripts/System/Strings.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Strings.cs.meta
rename to Runtime/Scripts/System/Strings.cs.meta
diff --git a/Scripts/System/Text.meta b/Runtime/Scripts/System/Text.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Text.meta
rename to Runtime/Scripts/System/Text.meta
diff --git a/Scripts/System/Text/10101Software.Commons.System.Text.asmdef b/Runtime/Scripts/System/Text/10101Software.Commons.System.Text.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Text/10101Software.Commons.System.Text.asmdef
rename to Runtime/Scripts/System/Text/10101Software.Commons.System.Text.asmdef
diff --git a/Scripts/System/Text/10101Software.Commons.System.Text.asmdef.meta b/Runtime/Scripts/System/Text/10101Software.Commons.System.Text.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Text/10101Software.Commons.System.Text.asmdef.meta
rename to Runtime/Scripts/System/Text/10101Software.Commons.System.Text.asmdef.meta
diff --git a/Scripts/System/Text/StringJoiner.cs b/Runtime/Scripts/System/Text/StringJoiner.cs
old mode 100755
new mode 100644
similarity index 82%
rename from Scripts/System/Text/StringJoiner.cs
rename to Runtime/Scripts/System/Text/StringJoiner.cs
index 76a1409..3ee85a8
--- a/Scripts/System/Text/StringJoiner.cs
+++ b/Runtime/Scripts/System/Text/StringJoiner.cs
@@ -2,7 +2,7 @@
///
/// is used to construct a string separated by a delimiter and optionally starting with a supplied prefix and ending with a supplied suffix.
///
- /// Prior to adding something to the , its sj.ToString () method will, by default, return prefix + suffix.However, if the SetEmptyValue() method is called, the emptyValue supplied will be returned instead. This can be used, for example, when creating a string using set notation to indicate an empty set, i.e. "{}", where the prefix is "{", the suffix is "}" and nothing has been added to the .
+ /// Prior to adding something to the , its ToString() method will, by default, return prefix + suffix. However, if the SetEmptyValue() method is called, the emptyValue supplied will be returned instead. This can be used, for example, when creating a string using set notation to indicate an empty set, i.e. "{}", where the prefix is "{", the suffix is "}" and nothing has been added to the .
///
public sealed class StringJoiner {
private readonly string _delimiter;
@@ -19,11 +19,7 @@ public sealed class StringJoiner {
///
/// The to be used between each element added to the value.
public StringJoiner (string delimiter) {
- if (delimiter == null) {
- throw new ArgumentNullException("delimiter", "Delimiter must not be null.");
- }
-
- _delimiter = delimiter;
+ _delimiter = delimiter ?? throw new ArgumentNullException(nameof(delimiter), "Delimiter must not be null.");
_prefix = _suffix = "";
}
@@ -34,21 +30,9 @@ public StringJoiner (string delimiter) {
/// The to be used at the beginning.
/// The to be used at the end.
public StringJoiner (string delimiter, string prefix, string suffix) {
- if (delimiter == null) {
- throw new ArgumentNullException("delimiter", "Delimiter must not be null.");
- }
-
- if (prefix == null) {
- throw new ArgumentNullException("prefix", "Prefix must not be null.");
- }
-
- if (suffix == null) {
- throw new ArgumentNullException("suffix", "Suffix must not be null.");
- }
-
- _delimiter = delimiter;
- _prefix = prefix;
- _suffix = suffix;
+ _delimiter = delimiter ?? throw new ArgumentNullException(nameof(delimiter), "Delimiter must not be null.");
+ _prefix = prefix ?? throw new ArgumentNullException(nameof(prefix), "Prefix must not be null.");
+ _suffix = suffix ?? throw new ArgumentNullException(nameof(suffix), "Suffix must not be null.");
_emptyValue = prefix + suffix;
}
diff --git a/Scripts/System/Text/StringJoiner.cs.meta b/Runtime/Scripts/System/Text/StringJoiner.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/System/Text/StringJoiner.cs.meta
rename to Runtime/Scripts/System/Text/StringJoiner.cs.meta
diff --git a/Scripts/Units Of Measure.meta b/Runtime/Scripts/Units Of Measure.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure.meta
rename to Runtime/Scripts/Units Of Measure.meta
diff --git a/Scripts/Units Of Measure/10101Software.Commons.UnitsOfMeasure.asmdef b/Runtime/Scripts/Units Of Measure/10101Software.Commons.UnitsOfMeasure.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/10101Software.Commons.UnitsOfMeasure.asmdef
rename to Runtime/Scripts/Units Of Measure/10101Software.Commons.UnitsOfMeasure.asmdef
diff --git a/Scripts/Units Of Measure/10101Software.Commons.UnitsOfMeasure.asmdef.meta b/Runtime/Scripts/Units Of Measure/10101Software.Commons.UnitsOfMeasure.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/10101Software.Commons.UnitsOfMeasure.asmdef.meta
rename to Runtime/Scripts/Units Of Measure/10101Software.Commons.UnitsOfMeasure.asmdef.meta
diff --git a/Scripts/Units Of Measure/Area.cs b/Runtime/Scripts/Units Of Measure/Area.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Area.cs
rename to Runtime/Scripts/Units Of Measure/Area.cs
diff --git a/Scripts/Units Of Measure/Area.cs.meta b/Runtime/Scripts/Units Of Measure/Area.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Area.cs.meta
rename to Runtime/Scripts/Units Of Measure/Area.cs.meta
diff --git a/Scripts/Units Of Measure/Density.cs b/Runtime/Scripts/Units Of Measure/Density.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Density.cs
rename to Runtime/Scripts/Units Of Measure/Density.cs
diff --git a/Scripts/Units Of Measure/Density.cs.meta b/Runtime/Scripts/Units Of Measure/Density.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Density.cs.meta
rename to Runtime/Scripts/Units Of Measure/Density.cs.meta
diff --git a/Scripts/Units Of Measure/Duration.cs b/Runtime/Scripts/Units Of Measure/Duration.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Duration.cs
rename to Runtime/Scripts/Units Of Measure/Duration.cs
diff --git a/Scripts/Units Of Measure/Duration.cs.meta b/Runtime/Scripts/Units Of Measure/Duration.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Duration.cs.meta
rename to Runtime/Scripts/Units Of Measure/Duration.cs.meta
diff --git a/Scripts/Units Of Measure/Length.cs b/Runtime/Scripts/Units Of Measure/Length.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Length.cs
rename to Runtime/Scripts/Units Of Measure/Length.cs
diff --git a/Scripts/Units Of Measure/Length.cs.meta b/Runtime/Scripts/Units Of Measure/Length.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Length.cs.meta
rename to Runtime/Scripts/Units Of Measure/Length.cs.meta
diff --git a/Scripts/Units Of Measure/Mass.cs b/Runtime/Scripts/Units Of Measure/Mass.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Mass.cs
rename to Runtime/Scripts/Units Of Measure/Mass.cs
diff --git a/Scripts/Units Of Measure/Mass.cs.meta b/Runtime/Scripts/Units Of Measure/Mass.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Mass.cs.meta
rename to Runtime/Scripts/Units Of Measure/Mass.cs.meta
diff --git a/Scripts/Units Of Measure/Momentum.cs b/Runtime/Scripts/Units Of Measure/Momentum.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Momentum.cs
rename to Runtime/Scripts/Units Of Measure/Momentum.cs
diff --git a/Scripts/Units Of Measure/Momentum.cs.meta b/Runtime/Scripts/Units Of Measure/Momentum.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Momentum.cs.meta
rename to Runtime/Scripts/Units Of Measure/Momentum.cs.meta
diff --git a/Scripts/Units Of Measure/SI.cs b/Runtime/Scripts/Units Of Measure/SI.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/SI.cs
rename to Runtime/Scripts/Units Of Measure/SI.cs
diff --git a/Scripts/Units Of Measure/SI.cs.meta b/Runtime/Scripts/Units Of Measure/SI.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/SI.cs.meta
rename to Runtime/Scripts/Units Of Measure/SI.cs.meta
diff --git a/Scripts/Units Of Measure/Speed.cs b/Runtime/Scripts/Units Of Measure/Speed.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Speed.cs
rename to Runtime/Scripts/Units Of Measure/Speed.cs
diff --git a/Scripts/Units Of Measure/Speed.cs.meta b/Runtime/Scripts/Units Of Measure/Speed.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Speed.cs.meta
rename to Runtime/Scripts/Units Of Measure/Speed.cs.meta
diff --git a/Scripts/Units Of Measure/Temperature.cs b/Runtime/Scripts/Units Of Measure/Temperature.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Temperature.cs
rename to Runtime/Scripts/Units Of Measure/Temperature.cs
diff --git a/Scripts/Units Of Measure/Temperature.cs.meta b/Runtime/Scripts/Units Of Measure/Temperature.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Temperature.cs.meta
rename to Runtime/Scripts/Units Of Measure/Temperature.cs.meta
diff --git a/Scripts/Units Of Measure/Volume.cs b/Runtime/Scripts/Units Of Measure/Volume.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Volume.cs
rename to Runtime/Scripts/Units Of Measure/Volume.cs
diff --git a/Scripts/Units Of Measure/Volume.cs.meta b/Runtime/Scripts/Units Of Measure/Volume.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/Volume.cs.meta
rename to Runtime/Scripts/Units Of Measure/Volume.cs.meta
diff --git a/Scripts/Units Of Measure/VolumetricFlowRate.cs b/Runtime/Scripts/Units Of Measure/VolumetricFlowRate.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/VolumetricFlowRate.cs
rename to Runtime/Scripts/Units Of Measure/VolumetricFlowRate.cs
diff --git a/Scripts/Units Of Measure/VolumetricFlowRate.cs.meta b/Runtime/Scripts/Units Of Measure/VolumetricFlowRate.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Units Of Measure/VolumetricFlowRate.cs.meta
rename to Runtime/Scripts/Units Of Measure/VolumetricFlowRate.cs.meta
diff --git a/Scripts/Utils.meta b/Runtime/Scripts/Utils.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils.meta
rename to Runtime/Scripts/Utils.meta
diff --git a/Scripts/Utils/10101Software.Commons.Utils.asmdef b/Runtime/Scripts/Utils/10101Software.Commons.Utils.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/10101Software.Commons.Utils.asmdef
rename to Runtime/Scripts/Utils/10101Software.Commons.Utils.asmdef
diff --git a/Scripts/Utils/10101Software.Commons.Utils.asmdef.meta b/Runtime/Scripts/Utils/10101Software.Commons.Utils.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/10101Software.Commons.Utils.asmdef.meta
rename to Runtime/Scripts/Utils/10101Software.Commons.Utils.asmdef.meta
diff --git a/Scripts/Utils/BatchHelper.cs b/Runtime/Scripts/Utils/BatchHelper.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/BatchHelper.cs
rename to Runtime/Scripts/Utils/BatchHelper.cs
diff --git a/Scripts/Utils/BatchHelper.cs.meta b/Runtime/Scripts/Utils/BatchHelper.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/BatchHelper.cs.meta
rename to Runtime/Scripts/Utils/BatchHelper.cs.meta
diff --git a/Scripts/Utils/CameraPlanes.cs b/Runtime/Scripts/Utils/CameraPlanes.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/CameraPlanes.cs
rename to Runtime/Scripts/Utils/CameraPlanes.cs
diff --git a/Scripts/Utils/CameraPlanes.cs.meta b/Runtime/Scripts/Utils/CameraPlanes.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/CameraPlanes.cs.meta
rename to Runtime/Scripts/Utils/CameraPlanes.cs.meta
diff --git a/Scripts/Utils/ColorHelper.cs b/Runtime/Scripts/Utils/ColorHelper.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/ColorHelper.cs
rename to Runtime/Scripts/Utils/ColorHelper.cs
diff --git a/Scripts/Utils/ColorHelper.cs.meta b/Runtime/Scripts/Utils/ColorHelper.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/ColorHelper.cs.meta
rename to Runtime/Scripts/Utils/ColorHelper.cs.meta
diff --git a/Scripts/Utils/Frame Cache.meta b/Runtime/Scripts/Utils/Frame Cache.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Frame Cache.meta
rename to Runtime/Scripts/Utils/Frame Cache.meta
diff --git a/Scripts/Utils/Frame Cache/10101Software.Commons.Utils.FrameCache.asmdef b/Runtime/Scripts/Utils/Frame Cache/10101Software.Commons.Utils.FrameCache.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Frame Cache/10101Software.Commons.Utils.FrameCache.asmdef
rename to Runtime/Scripts/Utils/Frame Cache/10101Software.Commons.Utils.FrameCache.asmdef
diff --git a/Scripts/Utils/Frame Cache/10101Software.Commons.Utils.FrameCache.asmdef.meta b/Runtime/Scripts/Utils/Frame Cache/10101Software.Commons.Utils.FrameCache.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Frame Cache/10101Software.Commons.Utils.FrameCache.asmdef.meta
rename to Runtime/Scripts/Utils/Frame Cache/10101Software.Commons.Utils.FrameCache.asmdef.meta
diff --git a/Scripts/Utils/Frame Cache/FrameCache.cs b/Runtime/Scripts/Utils/Frame Cache/FrameCache.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Frame Cache/FrameCache.cs
rename to Runtime/Scripts/Utils/Frame Cache/FrameCache.cs
diff --git a/Scripts/Utils/Frame Cache/FrameCache.cs.meta b/Runtime/Scripts/Utils/Frame Cache/FrameCache.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Frame Cache/FrameCache.cs.meta
rename to Runtime/Scripts/Utils/Frame Cache/FrameCache.cs.meta
diff --git a/Scripts/Utils/Loading.meta b/Runtime/Scripts/Utils/Loading.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Loading.meta
rename to Runtime/Scripts/Utils/Loading.meta
diff --git a/Scripts/Utils/Loading/10101Software.Commons.Utils.Loading.asmdef b/Runtime/Scripts/Utils/Loading/10101Software.Commons.Utils.Loading.asmdef
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Loading/10101Software.Commons.Utils.Loading.asmdef
rename to Runtime/Scripts/Utils/Loading/10101Software.Commons.Utils.Loading.asmdef
diff --git a/Scripts/Utils/Loading/10101Software.Commons.Utils.Loading.asmdef.meta b/Runtime/Scripts/Utils/Loading/10101Software.Commons.Utils.Loading.asmdef.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Loading/10101Software.Commons.Utils.Loading.asmdef.meta
rename to Runtime/Scripts/Utils/Loading/10101Software.Commons.Utils.Loading.asmdef.meta
diff --git a/Scripts/Utils/Loading/ColorObject.cs b/Runtime/Scripts/Utils/Loading/ColorObject.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Loading/ColorObject.cs
rename to Runtime/Scripts/Utils/Loading/ColorObject.cs
diff --git a/Scripts/Utils/Loading/ColorObject.cs.meta b/Runtime/Scripts/Utils/Loading/ColorObject.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Loading/ColorObject.cs.meta
rename to Runtime/Scripts/Utils/Loading/ColorObject.cs.meta
diff --git a/Scripts/Utils/Loading/LoadingHelper.cs b/Runtime/Scripts/Utils/Loading/LoadingHelper.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Loading/LoadingHelper.cs
rename to Runtime/Scripts/Utils/Loading/LoadingHelper.cs
diff --git a/Scripts/Utils/Loading/LoadingHelper.cs.meta b/Runtime/Scripts/Utils/Loading/LoadingHelper.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/Loading/LoadingHelper.cs.meta
rename to Runtime/Scripts/Utils/Loading/LoadingHelper.cs.meta
diff --git a/Scripts/Utils/MathHelper.cs b/Runtime/Scripts/Utils/MathHelper.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/MathHelper.cs
rename to Runtime/Scripts/Utils/MathHelper.cs
diff --git a/Scripts/Utils/MathHelper.cs.meta b/Runtime/Scripts/Utils/MathHelper.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/MathHelper.cs.meta
rename to Runtime/Scripts/Utils/MathHelper.cs.meta
diff --git a/Scripts/Utils/RandomHelper.cs b/Runtime/Scripts/Utils/RandomHelper.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/RandomHelper.cs
rename to Runtime/Scripts/Utils/RandomHelper.cs
diff --git a/Scripts/Utils/RandomHelper.cs.meta b/Runtime/Scripts/Utils/RandomHelper.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/RandomHelper.cs.meta
rename to Runtime/Scripts/Utils/RandomHelper.cs.meta
diff --git a/Scripts/Utils/ShaderPropertyIds.cs b/Runtime/Scripts/Utils/ShaderPropertyIds.cs
similarity index 100%
rename from Scripts/Utils/ShaderPropertyIds.cs
rename to Runtime/Scripts/Utils/ShaderPropertyIds.cs
diff --git a/Scripts/Utils/ShaderPropertyIds.cs.meta b/Runtime/Scripts/Utils/ShaderPropertyIds.cs.meta
similarity index 100%
rename from Scripts/Utils/ShaderPropertyIds.cs.meta
rename to Runtime/Scripts/Utils/ShaderPropertyIds.cs.meta
diff --git a/Scripts/Utils/TimeHelper.cs b/Runtime/Scripts/Utils/TimeHelper.cs
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/TimeHelper.cs
rename to Runtime/Scripts/Utils/TimeHelper.cs
diff --git a/Scripts/Utils/TimeHelper.cs.meta b/Runtime/Scripts/Utils/TimeHelper.cs.meta
old mode 100755
new mode 100644
similarity index 100%
rename from Scripts/Utils/TimeHelper.cs.meta
rename to Runtime/Scripts/Utils/TimeHelper.cs.meta
diff --git a/package.json b/package.json
index 96ff65e..8a5113d 100644
--- a/package.json
+++ b/package.json
@@ -1,20 +1,18 @@
-{
- "name": "com.10101software.commons",
- "version": "2019.0",
- "displayName": "10101 Software Commons",
- "description": "A collection of helpful classes and functions by 10101 Software.",
- "unity": "2019.3",
- "unityRelease": "0b8",
- "dependencies": {
- },
- "keywords": [
- "10101",
- "utility",
- "commons"
- ],
- "author": {
- "name": "10101 Software",
- "email": "10101software@gmail.com",
- "url": "https://www.10101software.com/"
- }
-}
+{
+ "name": "com.10101software.commons",
+ "version": "1.0.0",
+ "displayName": "10101 Software Commons",
+ "description": "A collection of helpful classes and functions by 10101 Software.",
+ "unity": "2019.4",
+ "keywords": [
+ "10101",
+ "utility",
+ "commons"
+ ],
+ "author": {
+ "name": "10101 Software",
+ "email": "10101software@gmail.com",
+ "url": "https://www.10101software.com/"
+ },
+ "type": "library"
+}
\ No newline at end of file