├── .codacy.yaml ├── .editorconfig ├── .gitattributes ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── pull_request_template.md ├── .gitignore ├── Images ├── AutoPresetConfigCreateMenu.png ├── AutoPresetConfigInspector.png └── PresetButtonOnInspector.png ├── Unity ├── .gitignore ├── Assets │ ├── .gitkeep │ ├── ExampleContent.meta │ ├── ExampleContent │ │ ├── Audio.meta │ │ ├── Audio │ │ │ ├── MusicAutoPresetConfig.asset │ │ │ ├── MusicAutoPresetConfig.asset.meta │ │ │ ├── license.txt │ │ │ ├── license.txt.meta │ │ │ ├── stay-the-course-by-kevin-macleod.mp3 │ │ │ └── stay-the-course-by-kevin-macleod.mp3.meta │ │ ├── Textures.meta │ │ ├── Textures │ │ │ ├── TextureAutoPresetConfig.asset │ │ │ ├── TextureAutoPresetConfig.asset.meta │ │ │ ├── circle.png │ │ │ ├── circle.png.meta │ │ │ ├── square.png │ │ │ └── square.png.meta │ │ ├── _Presets.meta │ │ └── _Presets │ │ │ ├── Music.preset │ │ │ ├── Music.preset.meta │ │ │ ├── UITexture.preset │ │ │ └── UITexture.preset.meta │ ├── JCMG.meta │ ├── JCMG │ │ ├── AutoPresets.meta │ │ └── AutoPresets │ │ │ ├── Docs.meta │ │ │ ├── Docs │ │ │ ├── Images.meta │ │ │ └── Images │ │ │ │ ├── portrait.png │ │ │ │ ├── portrait.png.meta │ │ │ │ ├── social_share_image.png │ │ │ │ └── social_share_image.png.meta │ │ │ ├── IconMap.meta │ │ │ ├── IconMap │ │ │ ├── AutoPresetConfigIcon.png │ │ │ └── AutoPresetConfigIcon.png.meta │ │ │ ├── Scripts.meta │ │ │ └── Scripts │ │ │ ├── Editor.meta │ │ │ └── Editor │ │ │ ├── AssetProcessors.meta │ │ │ ├── AssetProcessors │ │ │ ├── AutoPresetAssetPostProcessor.cs │ │ │ └── AutoPresetAssetPostProcessor.cs.meta │ │ │ ├── AutoPresetConfig.cs │ │ │ ├── AutoPresetConfig.cs.meta │ │ │ ├── AutoPresetMenuItems.cs │ │ │ ├── AutoPresetMenuItems.cs.meta │ │ │ ├── Inspectors.meta │ │ │ ├── Inspectors │ │ │ ├── AutoPresetConfigInspector.cs │ │ │ └── AutoPresetConfigInspector.cs.meta │ │ │ ├── JCMG.AutoPresets.Editor.asmdef │ │ │ ├── JCMG.AutoPresets.Editor.asmdef.meta │ │ │ ├── Menus.meta │ │ │ ├── Menus │ │ │ ├── PresetContextMenus.cs │ │ │ └── PresetContextMenus.cs.meta │ │ │ ├── Tools.meta │ │ │ ├── Tools │ │ │ ├── AssetDatabaseTools.cs │ │ │ ├── AssetDatabaseTools.cs.meta │ │ │ ├── PresetTools.cs │ │ │ └── PresetTools.cs.meta │ │ │ ├── VersionConstants.cs │ │ │ ├── VersionConstants.cs.meta │ │ │ ├── Window.meta │ │ │ └── Window │ │ │ ├── AboutWindow.cs │ │ │ └── AboutWindow.cs.meta │ ├── PackageManifests.meta │ └── PackageManifests │ │ ├── Generated.meta │ │ ├── Generated │ │ ├── 860453f0-9f55-42ca-944e-327714f906d6.meta │ │ └── 860453f0-9f55-42ca-944e-327714f906d6 │ │ │ ├── package.json │ │ │ └── package.json.meta │ │ ├── PackageManifestConfig.asset │ │ └── PackageManifestConfig.asset.meta ├── JCMG.AutoPresets.Editor.csproj.DotSettings ├── JCMG.AutoPresets.csproj.DotSettings ├── Packages │ └── manifest.json └── ProjectSettings │ ├── AudioManager.asset │ ├── ClusterInputManager.asset │ ├── DynamicsManager.asset │ ├── EditorBuildSettings.asset │ ├── EditorSettings.asset │ ├── GraphicsSettings.asset │ ├── InputManager.asset │ ├── NavMeshAreas.asset │ ├── Physics2DSettings.asset │ ├── PresetManager.asset │ ├── ProjectSettings.asset │ ├── ProjectVersion.txt │ ├── QualitySettings.asset │ ├── TagManager.asset │ ├── TimeManager.asset │ ├── UnityConnectSettings.asset │ ├── VFXManager.asset │ └── XRSettings.asset ├── contributing.md ├── license.txt └── readme.md /.codacy.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | engines: 3 | exclude_paths: 4 | - 'DocFXProject/**' 5 | - '.github/**' 6 | - 'docs/**' 7 | - 'license.md' 8 | - 'license.txt' 9 | - 'readme.md' 10 | - '.gitignore' 11 | - '.gitattributes' 12 | - '.editorconfig' -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.cs] 2 | indent_style = tab 3 | indent_size = 4 4 | end_of_line = lf 5 | trim_trailing_whitespace = true 6 | insert_final_newline = true -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | *.cs eol=lf 3 | 4 | # Explicitly declare text files you want to always be normalized and converted 5 | # to native line endings on checkout. 6 | *.cs text 7 | *.md text 8 | *.meta text 9 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | github: jeffcampbellmakesgames 3 | ko_fi: stampyturtle 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: "[BUG] Title goes here" 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **Unity Version:** 14 | 15 | **To Reproduce** 16 | Steps to reproduce the behavior: 17 | 1. Go to '...' 18 | 2. Click on '....' 19 | 3. Scroll down to '....' 20 | 4. See error 21 | 22 | **Expected behavior** 23 | A clear and concise description of what you expected to happen. 24 | 25 | **Screenshots** 26 | If applicable, add screenshots to help explain your problem. 27 | 28 | **Additional context** 29 | Add any other context about the problem here. 30 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | # Description 2 | 3 | Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. 4 | 5 | Fixes # (issue) 6 | 7 | # How Has This Been Tested? 8 | 9 | Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration. 10 | 11 | - [ ] Test A 12 | - [ ] Test B 13 | 14 | # Checklist: 15 | 16 | - [ ] My code follows the style guidelines of this project 17 | - [ ] I have performed a self-review of my own code 18 | - [ ] I have commented my code, particularly in hard-to-understand areas 19 | - [ ] I have made corresponding changes to the documentation 20 | - [ ] My changes generate no new warnings 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.DS_Store 2 | 3 | [Bb]uilds/ -------------------------------------------------------------------------------- /Images/AutoPresetConfigCreateMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffcampbellmakesgames/unity-auto-preset/f24fd87c988c6b375aa9056fabf2638df8ab45ba/Images/AutoPresetConfigCreateMenu.png -------------------------------------------------------------------------------- /Images/AutoPresetConfigInspector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffcampbellmakesgames/unity-auto-preset/f24fd87c988c6b375aa9056fabf2638df8ab45ba/Images/AutoPresetConfigInspector.png -------------------------------------------------------------------------------- /Images/PresetButtonOnInspector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffcampbellmakesgames/unity-auto-preset/f24fd87c988c6b375aa9056fabf2638df8ab45ba/Images/PresetButtonOnInspector.png -------------------------------------------------------------------------------- /Unity/.gitignore: -------------------------------------------------------------------------------- 1 | # =============== # 2 | # Unity generated # 3 | # =============== # 4 | [Ll]ogs/ 5 | [Tt]emp/ 6 | [Oo]bj/ 7 | [Bb]uild 8 | /[Ll]ibrary/ 9 | sysinfo.txt 10 | *.stackdump 11 | 12 | # JetBrains Plugin 13 | JetBrains/ 14 | JetBrains.meta 15 | 16 | # ============================================= # 17 | # Visual Studio / MonoDevelop / Rider generated # 18 | # ============================================= # 19 | [Ee]xported[Oo]bj/ 20 | .vs/ 21 | /*.userprefs 22 | /*.csproj 23 | /*.pidb 24 | /*.suo 25 | /*.sln* 26 | /*.user 27 | /*.unityproj 28 | /*.booproj 29 | /.idea*/ 30 | 31 | # ============ # 32 | # OS generated # 33 | # ============ # 34 | .DS_Store* 35 | ._* 36 | .Spotlight-V100 37 | .Trashes 38 | ehthumbs.db 39 | [Tt]humbs.db 40 | [Dd]esktop.ini -------------------------------------------------------------------------------- /Unity/Assets/.gitkeep: -------------------------------------------------------------------------------- 1 | This hidden file is created to preserve potentially empty folders in git commits. -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b530e6726d851d14699d86064fc98277 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Audio.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ab18c9fc94d0c5e478618e1248e5821e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Audio/MusicAutoPresetConfig.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 58dc361311687f54ea131462f58babd8, type: 3} 13 | m_Name: MusicAutoPresetConfig 14 | m_EditorClassIdentifier: 15 | _preset: {fileID: 2655988077585873504, guid: fda9f72576bd4bd4bbc7979ef4f6160d, type: 2} 16 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Audio/MusicAutoPresetConfig.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bf087c399dabcd749a974eb8079adc52 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Audio/license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffcampbellmakesgames/unity-auto-preset/f24fd87c988c6b375aa9056fabf2638df8ab45ba/Unity/Assets/ExampleContent/Audio/license.txt -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Audio/license.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b702c1e31d421bf43ad5d289c8d38fe9 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Audio/stay-the-course-by-kevin-macleod.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffcampbellmakesgames/unity-auto-preset/f24fd87c988c6b375aa9056fabf2638df8ab45ba/Unity/Assets/ExampleContent/Audio/stay-the-course-by-kevin-macleod.mp3 -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Audio/stay-the-course-by-kevin-macleod.mp3.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1bbd96d31f3f9fb4bb7d26345b9a808f 3 | AudioImporter: 4 | externalObjects: {} 5 | serializedVersion: 6 6 | defaultSettings: 7 | loadType: 0 8 | sampleRateSetting: 0 9 | sampleRateOverride: 44100 10 | compressionFormat: 1 11 | quality: 1 12 | conversionMode: 0 13 | platformSettingOverrides: {} 14 | forceToMono: 0 15 | normalize: 1 16 | preloadAudioData: 1 17 | loadInBackground: 0 18 | ambisonic: 0 19 | 3D: 1 20 | userData: 21 | assetBundleName: 22 | assetBundleVariant: 23 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f7682ea6a08529b47a08e422cf6f9667 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Textures/TextureAutoPresetConfig.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 58dc361311687f54ea131462f58babd8, type: 3} 13 | m_Name: TextureAutoPresetConfig 14 | m_EditorClassIdentifier: 15 | _preset: {fileID: 2655988077585873504, guid: 5b5107a2b94be4447bf065fc730bed8d, type: 2} 16 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Textures/TextureAutoPresetConfig.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb477c3c58e4e014c9e7ed30b64c38bb 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Textures/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffcampbellmakesgames/unity-auto-preset/f24fd87c988c6b375aa9056fabf2638df8ab45ba/Unity/Assets/ExampleContent/Textures/circle.png -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Textures/circle.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9a13a3b8288e48746aa3a6a29d9d9d2f 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 10 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: 0 35 | aniso: 1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 0 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 3 62 | buildTarget: iPhone 63 | maxTextureSize: 128 64 | resizeAlgorithm: 0 65 | textureFormat: 4 66 | textureCompression: 1 67 | compressionQuality: 100 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 1 71 | androidETC2FallbackOverride: 0 72 | forceMaximumCompressionQuality_BC6H_BC7: 1 73 | - serializedVersion: 3 74 | buildTarget: Android 75 | maxTextureSize: 128 76 | resizeAlgorithm: 0 77 | textureFormat: 4 78 | textureCompression: 1 79 | compressionQuality: 100 80 | crunchedCompression: 0 81 | allowsAlphaSplitting: 0 82 | overridden: 1 83 | androidETC2FallbackOverride: 0 84 | forceMaximumCompressionQuality_BC6H_BC7: 1 85 | - serializedVersion: 3 86 | buildTarget: DefaultTexturePlatform 87 | maxTextureSize: 2048 88 | resizeAlgorithm: 0 89 | textureFormat: -1 90 | textureCompression: 1 91 | compressionQuality: 50 92 | crunchedCompression: 0 93 | allowsAlphaSplitting: 0 94 | overridden: 0 95 | androidETC2FallbackOverride: 0 96 | forceMaximumCompressionQuality_BC6H_BC7: 1 97 | spriteSheet: 98 | serializedVersion: 2 99 | sprites: [] 100 | outline: [] 101 | physicsShape: [] 102 | bones: [] 103 | spriteID: 4112ca7117f669449b4de9e53e2e0d01 104 | internalID: 0 105 | vertices: [] 106 | indices: 107 | edges: [] 108 | weights: [] 109 | secondaryTextures: [] 110 | spritePackingTag: 111 | pSDRemoveMatte: 0 112 | pSDShowRemoveMatteOption: 0 113 | userData: 114 | assetBundleName: 115 | assetBundleVariant: 116 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Textures/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffcampbellmakesgames/unity-auto-preset/f24fd87c988c6b375aa9056fabf2638df8ab45ba/Unity/Assets/ExampleContent/Textures/square.png -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/Textures/square.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 43822d2495970ae4b8a9ad918dfb0acf 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 10 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: 0 35 | aniso: 1 36 | mipBias: -100 37 | wrapU: 1 38 | wrapV: 1 39 | wrapW: -1 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 0 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 3 62 | buildTarget: iPhone 63 | maxTextureSize: 128 64 | resizeAlgorithm: 0 65 | textureFormat: 4 66 | textureCompression: 1 67 | compressionQuality: 100 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 1 71 | androidETC2FallbackOverride: 0 72 | forceMaximumCompressionQuality_BC6H_BC7: 1 73 | - serializedVersion: 3 74 | buildTarget: Android 75 | maxTextureSize: 128 76 | resizeAlgorithm: 0 77 | textureFormat: 4 78 | textureCompression: 1 79 | compressionQuality: 100 80 | crunchedCompression: 0 81 | allowsAlphaSplitting: 0 82 | overridden: 1 83 | androidETC2FallbackOverride: 0 84 | forceMaximumCompressionQuality_BC6H_BC7: 1 85 | - serializedVersion: 3 86 | buildTarget: DefaultTexturePlatform 87 | maxTextureSize: 2048 88 | resizeAlgorithm: 0 89 | textureFormat: -1 90 | textureCompression: 1 91 | compressionQuality: 50 92 | crunchedCompression: 0 93 | allowsAlphaSplitting: 0 94 | overridden: 0 95 | androidETC2FallbackOverride: 0 96 | forceMaximumCompressionQuality_BC6H_BC7: 1 97 | spriteSheet: 98 | serializedVersion: 2 99 | sprites: [] 100 | outline: [] 101 | physicsShape: [] 102 | bones: [] 103 | spriteID: 4112ca7117f669449b4de9e53e2e0d01 104 | internalID: 0 105 | vertices: [] 106 | indices: 107 | edges: [] 108 | weights: [] 109 | secondaryTextures: [] 110 | spritePackingTag: 111 | pSDRemoveMatte: 0 112 | pSDShowRemoveMatteOption: 0 113 | userData: 114 | assetBundleName: 115 | assetBundleVariant: 116 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/_Presets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c0b25c6043d2f64b96152dc7410d23b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/_Presets/Music.preset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!181963792 &2655988077585873504 4 | Preset: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: Music 10 | m_TargetType: 11 | m_NativeTypeID: 1020 12 | m_ManagedTypePPtr: {fileID: 0} 13 | m_ManagedTypeFallback: 14 | m_Properties: 15 | - target: {fileID: 0} 16 | propertyPath: m_ExternalObjects.Array.size 17 | value: 0 18 | objectReference: {fileID: 0} 19 | - target: {fileID: 0} 20 | propertyPath: m_DefaultSettings.loadType 21 | value: 0 22 | objectReference: {fileID: 0} 23 | - target: {fileID: 0} 24 | propertyPath: m_DefaultSettings.sampleRateSetting 25 | value: 0 26 | objectReference: {fileID: 0} 27 | - target: {fileID: 0} 28 | propertyPath: m_DefaultSettings.sampleRateOverride 29 | value: 44100 30 | objectReference: {fileID: 0} 31 | - target: {fileID: 0} 32 | propertyPath: m_DefaultSettings.compressionFormat 33 | value: 1 34 | objectReference: {fileID: 0} 35 | - target: {fileID: 0} 36 | propertyPath: m_DefaultSettings.quality 37 | value: 1 38 | objectReference: {fileID: 0} 39 | - target: {fileID: 0} 40 | propertyPath: m_DefaultSettings.conversionMode 41 | value: 0 42 | objectReference: {fileID: 0} 43 | - target: {fileID: 0} 44 | propertyPath: m_PlatformSettingOverrides.Array.size 45 | value: 0 46 | objectReference: {fileID: 0} 47 | - target: {fileID: 0} 48 | propertyPath: m_ForceToMono 49 | value: 0 50 | objectReference: {fileID: 0} 51 | - target: {fileID: 0} 52 | propertyPath: m_Normalize 53 | value: 1 54 | objectReference: {fileID: 0} 55 | - target: {fileID: 0} 56 | propertyPath: m_PreloadAudioData 57 | value: 1 58 | objectReference: {fileID: 0} 59 | - target: {fileID: 0} 60 | propertyPath: m_LoadInBackground 61 | value: 0 62 | objectReference: {fileID: 0} 63 | - target: {fileID: 0} 64 | propertyPath: m_Ambisonic 65 | value: 0 66 | objectReference: {fileID: 0} 67 | - target: {fileID: 0} 68 | propertyPath: m_3D 69 | value: 1 70 | objectReference: {fileID: 0} 71 | - target: {fileID: 0} 72 | propertyPath: m_UserData 73 | value: 74 | objectReference: {fileID: 0} 75 | - target: {fileID: 0} 76 | propertyPath: m_AssetBundleName 77 | value: 78 | objectReference: {fileID: 0} 79 | - target: {fileID: 0} 80 | propertyPath: m_AssetBundleVariant 81 | value: 82 | objectReference: {fileID: 0} 83 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/_Presets/Music.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fda9f72576bd4bd4bbc7979ef4f6160d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/_Presets/UITexture.preset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!181963792 &2655988077585873504 4 | Preset: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_Name: UITexture 10 | m_TargetType: 11 | m_NativeTypeID: 1006 12 | m_ManagedTypePPtr: {fileID: 0} 13 | m_ManagedTypeFallback: 14 | m_Properties: 15 | - target: {fileID: 0} 16 | propertyPath: m_ExternalObjects.Array.size 17 | value: 0 18 | objectReference: {fileID: 0} 19 | - target: {fileID: 0} 20 | propertyPath: m_MipMapMode 21 | value: 0 22 | objectReference: {fileID: 0} 23 | - target: {fileID: 0} 24 | propertyPath: m_EnableMipMap 25 | value: 0 26 | objectReference: {fileID: 0} 27 | - target: {fileID: 0} 28 | propertyPath: m_sRGBTexture 29 | value: 1 30 | objectReference: {fileID: 0} 31 | - target: {fileID: 0} 32 | propertyPath: m_LinearTexture 33 | value: 0 34 | objectReference: {fileID: 0} 35 | - target: {fileID: 0} 36 | propertyPath: m_FadeOut 37 | value: 0 38 | objectReference: {fileID: 0} 39 | - target: {fileID: 0} 40 | propertyPath: m_BorderMipMap 41 | value: 0 42 | objectReference: {fileID: 0} 43 | - target: {fileID: 0} 44 | propertyPath: m_MipMapsPreserveCoverage 45 | value: 0 46 | objectReference: {fileID: 0} 47 | - target: {fileID: 0} 48 | propertyPath: m_AlphaTestReferenceValue 49 | value: 0.5 50 | objectReference: {fileID: 0} 51 | - target: {fileID: 0} 52 | propertyPath: m_MipMapFadeDistanceStart 53 | value: 1 54 | objectReference: {fileID: 0} 55 | - target: {fileID: 0} 56 | propertyPath: m_MipMapFadeDistanceEnd 57 | value: 3 58 | objectReference: {fileID: 0} 59 | - target: {fileID: 0} 60 | propertyPath: m_ConvertToNormalMap 61 | value: 0 62 | objectReference: {fileID: 0} 63 | - target: {fileID: 0} 64 | propertyPath: m_ExternalNormalMap 65 | value: 0 66 | objectReference: {fileID: 0} 67 | - target: {fileID: 0} 68 | propertyPath: m_HeightScale 69 | value: 0.25 70 | objectReference: {fileID: 0} 71 | - target: {fileID: 0} 72 | propertyPath: m_NormalMapFilter 73 | value: 0 74 | objectReference: {fileID: 0} 75 | - target: {fileID: 0} 76 | propertyPath: m_IsReadable 77 | value: 0 78 | objectReference: {fileID: 0} 79 | - target: {fileID: 0} 80 | propertyPath: m_StreamingMipmaps 81 | value: 0 82 | objectReference: {fileID: 0} 83 | - target: {fileID: 0} 84 | propertyPath: m_StreamingMipmapsPriority 85 | value: 0 86 | objectReference: {fileID: 0} 87 | - target: {fileID: 0} 88 | propertyPath: m_GrayScaleToAlpha 89 | value: 0 90 | objectReference: {fileID: 0} 91 | - target: {fileID: 0} 92 | propertyPath: m_GenerateCubemap 93 | value: 6 94 | objectReference: {fileID: 0} 95 | - target: {fileID: 0} 96 | propertyPath: m_CubemapConvolution 97 | value: 0 98 | objectReference: {fileID: 0} 99 | - target: {fileID: 0} 100 | propertyPath: m_SeamlessCubemap 101 | value: 0 102 | objectReference: {fileID: 0} 103 | - target: {fileID: 0} 104 | propertyPath: m_TextureFormat 105 | value: 1 106 | objectReference: {fileID: 0} 107 | - target: {fileID: 0} 108 | propertyPath: m_MaxTextureSize 109 | value: 2048 110 | objectReference: {fileID: 0} 111 | - target: {fileID: 0} 112 | propertyPath: m_TextureSettings.m_FilterMode 113 | value: -1 114 | objectReference: {fileID: 0} 115 | - target: {fileID: 0} 116 | propertyPath: m_TextureSettings.m_Aniso 117 | value: -1 118 | objectReference: {fileID: 0} 119 | - target: {fileID: 0} 120 | propertyPath: m_TextureSettings.m_MipBias 121 | value: -100 122 | objectReference: {fileID: 0} 123 | - target: {fileID: 0} 124 | propertyPath: m_TextureSettings.m_WrapU 125 | value: -1 126 | objectReference: {fileID: 0} 127 | - target: {fileID: 0} 128 | propertyPath: m_TextureSettings.m_WrapV 129 | value: -1 130 | objectReference: {fileID: 0} 131 | - target: {fileID: 0} 132 | propertyPath: m_TextureSettings.m_WrapW 133 | value: -1 134 | objectReference: {fileID: 0} 135 | - target: {fileID: 0} 136 | propertyPath: m_NPOTScale 137 | value: 1 138 | objectReference: {fileID: 0} 139 | - target: {fileID: 0} 140 | propertyPath: m_Lightmap 141 | value: 0 142 | objectReference: {fileID: 0} 143 | - target: {fileID: 0} 144 | propertyPath: m_CompressionQuality 145 | value: 50 146 | objectReference: {fileID: 0} 147 | - target: {fileID: 0} 148 | propertyPath: m_SpriteMode 149 | value: 1 150 | objectReference: {fileID: 0} 151 | - target: {fileID: 0} 152 | propertyPath: m_SpriteExtrude 153 | value: 1 154 | objectReference: {fileID: 0} 155 | - target: {fileID: 0} 156 | propertyPath: m_SpriteMeshType 157 | value: 1 158 | objectReference: {fileID: 0} 159 | - target: {fileID: 0} 160 | propertyPath: m_Alignment 161 | value: 0 162 | objectReference: {fileID: 0} 163 | - target: {fileID: 0} 164 | propertyPath: m_SpritePivot.x 165 | value: 0.5 166 | objectReference: {fileID: 0} 167 | - target: {fileID: 0} 168 | propertyPath: m_SpritePivot.y 169 | value: 0.5 170 | objectReference: {fileID: 0} 171 | - target: {fileID: 0} 172 | propertyPath: m_SpritePixelsToUnits 173 | value: 100 174 | objectReference: {fileID: 0} 175 | - target: {fileID: 0} 176 | propertyPath: m_SpriteBorder.x 177 | value: 0 178 | objectReference: {fileID: 0} 179 | - target: {fileID: 0} 180 | propertyPath: m_SpriteBorder.y 181 | value: 0 182 | objectReference: {fileID: 0} 183 | - target: {fileID: 0} 184 | propertyPath: m_SpriteBorder.z 185 | value: 0 186 | objectReference: {fileID: 0} 187 | - target: {fileID: 0} 188 | propertyPath: m_SpriteBorder.w 189 | value: 0 190 | objectReference: {fileID: 0} 191 | - target: {fileID: 0} 192 | propertyPath: m_SpriteGenerateFallbackPhysicsShape 193 | value: 1 194 | objectReference: {fileID: 0} 195 | - target: {fileID: 0} 196 | propertyPath: m_AlphaUsage 197 | value: 1 198 | objectReference: {fileID: 0} 199 | - target: {fileID: 0} 200 | propertyPath: m_AlphaIsTransparency 201 | value: 1 202 | objectReference: {fileID: 0} 203 | - target: {fileID: 0} 204 | propertyPath: m_SpriteTessellationDetail 205 | value: -1 206 | objectReference: {fileID: 0} 207 | - target: {fileID: 0} 208 | propertyPath: m_TextureType 209 | value: 8 210 | objectReference: {fileID: 0} 211 | - target: {fileID: 0} 212 | propertyPath: m_TextureShape 213 | value: 1 214 | objectReference: {fileID: 0} 215 | - target: {fileID: 0} 216 | propertyPath: m_SingleChannelComponent 217 | value: 0 218 | objectReference: {fileID: 0} 219 | - target: {fileID: 0} 220 | propertyPath: m_MaxTextureSizeSet 221 | value: 0 222 | objectReference: {fileID: 0} 223 | - target: {fileID: 0} 224 | propertyPath: m_CompressionQualitySet 225 | value: 0 226 | objectReference: {fileID: 0} 227 | - target: {fileID: 0} 228 | propertyPath: m_TextureFormatSet 229 | value: 0 230 | objectReference: {fileID: 0} 231 | - target: {fileID: 0} 232 | propertyPath: m_PlatformSettings.Array.size 233 | value: 3 234 | objectReference: {fileID: 0} 235 | - target: {fileID: 0} 236 | propertyPath: m_PlatformSettings.Array.data[0].m_BuildTarget 237 | value: iPhone 238 | objectReference: {fileID: 0} 239 | - target: {fileID: 0} 240 | propertyPath: m_PlatformSettings.Array.data[0].m_MaxTextureSize 241 | value: 128 242 | objectReference: {fileID: 0} 243 | - target: {fileID: 0} 244 | propertyPath: m_PlatformSettings.Array.data[0].m_ResizeAlgorithm 245 | value: 0 246 | objectReference: {fileID: 0} 247 | - target: {fileID: 0} 248 | propertyPath: m_PlatformSettings.Array.data[0].m_TextureFormat 249 | value: 4 250 | objectReference: {fileID: 0} 251 | - target: {fileID: 0} 252 | propertyPath: m_PlatformSettings.Array.data[0].m_TextureCompression 253 | value: 1 254 | objectReference: {fileID: 0} 255 | - target: {fileID: 0} 256 | propertyPath: m_PlatformSettings.Array.data[0].m_CompressionQuality 257 | value: 100 258 | objectReference: {fileID: 0} 259 | - target: {fileID: 0} 260 | propertyPath: m_PlatformSettings.Array.data[0].m_CrunchedCompression 261 | value: 0 262 | objectReference: {fileID: 0} 263 | - target: {fileID: 0} 264 | propertyPath: m_PlatformSettings.Array.data[0].m_AllowsAlphaSplitting 265 | value: 0 266 | objectReference: {fileID: 0} 267 | - target: {fileID: 0} 268 | propertyPath: m_PlatformSettings.Array.data[0].m_Overridden 269 | value: 1 270 | objectReference: {fileID: 0} 271 | - target: {fileID: 0} 272 | propertyPath: m_PlatformSettings.Array.data[0].m_AndroidETC2FallbackOverride 273 | value: 0 274 | objectReference: {fileID: 0} 275 | - target: {fileID: 0} 276 | propertyPath: m_PlatformSettings.Array.data[0].m_ForceMaximumCompressionQuality_BC6H_BC7 277 | value: 1 278 | objectReference: {fileID: 0} 279 | - target: {fileID: 0} 280 | propertyPath: m_PlatformSettings.Array.data[1].m_BuildTarget 281 | value: Android 282 | objectReference: {fileID: 0} 283 | - target: {fileID: 0} 284 | propertyPath: m_PlatformSettings.Array.data[1].m_MaxTextureSize 285 | value: 128 286 | objectReference: {fileID: 0} 287 | - target: {fileID: 0} 288 | propertyPath: m_PlatformSettings.Array.data[1].m_ResizeAlgorithm 289 | value: 0 290 | objectReference: {fileID: 0} 291 | - target: {fileID: 0} 292 | propertyPath: m_PlatformSettings.Array.data[1].m_TextureFormat 293 | value: 4 294 | objectReference: {fileID: 0} 295 | - target: {fileID: 0} 296 | propertyPath: m_PlatformSettings.Array.data[1].m_TextureCompression 297 | value: 1 298 | objectReference: {fileID: 0} 299 | - target: {fileID: 0} 300 | propertyPath: m_PlatformSettings.Array.data[1].m_CompressionQuality 301 | value: 100 302 | objectReference: {fileID: 0} 303 | - target: {fileID: 0} 304 | propertyPath: m_PlatformSettings.Array.data[1].m_CrunchedCompression 305 | value: 0 306 | objectReference: {fileID: 0} 307 | - target: {fileID: 0} 308 | propertyPath: m_PlatformSettings.Array.data[1].m_AllowsAlphaSplitting 309 | value: 0 310 | objectReference: {fileID: 0} 311 | - target: {fileID: 0} 312 | propertyPath: m_PlatformSettings.Array.data[1].m_Overridden 313 | value: 1 314 | objectReference: {fileID: 0} 315 | - target: {fileID: 0} 316 | propertyPath: m_PlatformSettings.Array.data[1].m_AndroidETC2FallbackOverride 317 | value: 0 318 | objectReference: {fileID: 0} 319 | - target: {fileID: 0} 320 | propertyPath: m_PlatformSettings.Array.data[1].m_ForceMaximumCompressionQuality_BC6H_BC7 321 | value: 1 322 | objectReference: {fileID: 0} 323 | - target: {fileID: 0} 324 | propertyPath: m_PlatformSettings.Array.data[2].m_BuildTarget 325 | value: DefaultTexturePlatform 326 | objectReference: {fileID: 0} 327 | - target: {fileID: 0} 328 | propertyPath: m_PlatformSettings.Array.data[2].m_MaxTextureSize 329 | value: 2048 330 | objectReference: {fileID: 0} 331 | - target: {fileID: 0} 332 | propertyPath: m_PlatformSettings.Array.data[2].m_ResizeAlgorithm 333 | value: 0 334 | objectReference: {fileID: 0} 335 | - target: {fileID: 0} 336 | propertyPath: m_PlatformSettings.Array.data[2].m_TextureFormat 337 | value: -1 338 | objectReference: {fileID: 0} 339 | - target: {fileID: 0} 340 | propertyPath: m_PlatformSettings.Array.data[2].m_TextureCompression 341 | value: 1 342 | objectReference: {fileID: 0} 343 | - target: {fileID: 0} 344 | propertyPath: m_PlatformSettings.Array.data[2].m_CompressionQuality 345 | value: 50 346 | objectReference: {fileID: 0} 347 | - target: {fileID: 0} 348 | propertyPath: m_PlatformSettings.Array.data[2].m_CrunchedCompression 349 | value: 0 350 | objectReference: {fileID: 0} 351 | - target: {fileID: 0} 352 | propertyPath: m_PlatformSettings.Array.data[2].m_AllowsAlphaSplitting 353 | value: 0 354 | objectReference: {fileID: 0} 355 | - target: {fileID: 0} 356 | propertyPath: m_PlatformSettings.Array.data[2].m_Overridden 357 | value: 0 358 | objectReference: {fileID: 0} 359 | - target: {fileID: 0} 360 | propertyPath: m_PlatformSettings.Array.data[2].m_AndroidETC2FallbackOverride 361 | value: 0 362 | objectReference: {fileID: 0} 363 | - target: {fileID: 0} 364 | propertyPath: m_PlatformSettings.Array.data[2].m_ForceMaximumCompressionQuality_BC6H_BC7 365 | value: 1 366 | objectReference: {fileID: 0} 367 | - target: {fileID: 0} 368 | propertyPath: m_SpriteSheet.m_Sprites.Array.size 369 | value: 0 370 | objectReference: {fileID: 0} 371 | - target: {fileID: 0} 372 | propertyPath: m_SpriteSheet.m_Outline.Array.size 373 | value: 0 374 | objectReference: {fileID: 0} 375 | - target: {fileID: 0} 376 | propertyPath: m_SpriteSheet.m_PhysicsShape.Array.size 377 | value: 0 378 | objectReference: {fileID: 0} 379 | - target: {fileID: 0} 380 | propertyPath: m_SpriteSheet.m_Bones.Array.size 381 | value: 0 382 | objectReference: {fileID: 0} 383 | - target: {fileID: 0} 384 | propertyPath: m_SpriteSheet.m_SpriteID 385 | value: 4112ca7117f669449b4de9e53e2e0d01 386 | objectReference: {fileID: 0} 387 | - target: {fileID: 0} 388 | propertyPath: m_SpriteSheet.m_InternalID 389 | value: 0 390 | objectReference: {fileID: 0} 391 | - target: {fileID: 0} 392 | propertyPath: m_SpriteSheet.m_Vertices.Array.size 393 | value: 0 394 | objectReference: {fileID: 0} 395 | - target: {fileID: 0} 396 | propertyPath: m_SpriteSheet.m_Indices.Array.size 397 | value: 0 398 | objectReference: {fileID: 0} 399 | - target: {fileID: 0} 400 | propertyPath: m_SpriteSheet.m_Edges.Array.size 401 | value: 0 402 | objectReference: {fileID: 0} 403 | - target: {fileID: 0} 404 | propertyPath: m_SpriteSheet.m_Weights.Array.size 405 | value: 0 406 | objectReference: {fileID: 0} 407 | - target: {fileID: 0} 408 | propertyPath: m_SpriteSheet.m_SecondaryTextures.Array.size 409 | value: 0 410 | objectReference: {fileID: 0} 411 | - target: {fileID: 0} 412 | propertyPath: m_SpritePackingTag 413 | value: 414 | objectReference: {fileID: 0} 415 | - target: {fileID: 0} 416 | propertyPath: m_PSDRemoveMatte 417 | value: 0 418 | objectReference: {fileID: 0} 419 | - target: {fileID: 0} 420 | propertyPath: m_PSDShowRemoveMatteOption 421 | value: 0 422 | objectReference: {fileID: 0} 423 | - target: {fileID: 0} 424 | propertyPath: m_UserData 425 | value: 426 | objectReference: {fileID: 0} 427 | - target: {fileID: 0} 428 | propertyPath: m_AssetBundleName 429 | value: 430 | objectReference: {fileID: 0} 431 | - target: {fileID: 0} 432 | propertyPath: m_AssetBundleVariant 433 | value: 434 | objectReference: {fileID: 0} 435 | -------------------------------------------------------------------------------- /Unity/Assets/ExampleContent/_Presets/UITexture.preset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5b5107a2b94be4447bf065fc730bed8d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2655988077585873504 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e778146fa4c462840b59fe719de355d4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 179bfadc0da0d5d4bbd58d8c25edaaa3 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Docs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e73c789deba3a24fb3deb00bd2145fa 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Docs/Images.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 053a36d4bea354a4f89ad30cc4309cad 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Docs/Images/portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffcampbellmakesgames/unity-auto-preset/f24fd87c988c6b375aa9056fabf2638df8ab45ba/Unity/Assets/JCMG/AutoPresets/Docs/Images/portrait.png -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Docs/Images/portrait.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 215f95bd698ee0849b212d51d10d1b0c 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 10 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 3 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | forceMaximumCompressionQuality_BC6H_BC7: 0 73 | spriteSheet: 74 | serializedVersion: 2 75 | sprites: [] 76 | outline: [] 77 | physicsShape: [] 78 | bones: [] 79 | spriteID: 80 | internalID: 0 81 | vertices: [] 82 | indices: 83 | edges: [] 84 | weights: [] 85 | secondaryTextures: [] 86 | spritePackingTag: 87 | pSDRemoveMatte: 0 88 | pSDShowRemoveMatteOption: 0 89 | userData: 90 | assetBundleName: 91 | assetBundleVariant: 92 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Docs/Images/social_share_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffcampbellmakesgames/unity-auto-preset/f24fd87c988c6b375aa9056fabf2638df8ab45ba/Unity/Assets/JCMG/AutoPresets/Docs/Images/social_share_image.png -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Docs/Images/social_share_image.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c98c6ddc4649b4a4d91043092733e173 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 10 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 1 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: -1 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: -1 38 | wrapV: -1 39 | wrapW: -1 40 | nPOTScale: 1 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 0 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 1 51 | alphaUsage: 1 52 | alphaIsTransparency: 0 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 3 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | forceMaximumCompressionQuality_BC6H_BC7: 0 73 | spriteSheet: 74 | serializedVersion: 2 75 | sprites: [] 76 | outline: [] 77 | physicsShape: [] 78 | bones: [] 79 | spriteID: 80 | internalID: 0 81 | vertices: [] 82 | indices: 83 | edges: [] 84 | weights: [] 85 | secondaryTextures: [] 86 | spritePackingTag: 87 | pSDRemoveMatte: 0 88 | pSDShowRemoveMatteOption: 0 89 | userData: 90 | assetBundleName: 91 | assetBundleVariant: 92 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/IconMap.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0763be48a81bd5a4b99a299bbf08b5bd 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/IconMap/AutoPresetConfigIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jeffcampbellmakesgames/unity-auto-preset/f24fd87c988c6b375aa9056fabf2638df8ab45ba/Unity/Assets/JCMG/AutoPresets/IconMap/AutoPresetConfigIcon.png -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/IconMap/AutoPresetConfigIcon.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 40beeb02989a84347ac2de482166b1b1 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 10 7 | mipmaps: 8 | mipMapMode: 0 9 | enableMipMap: 0 10 | sRGBTexture: 1 11 | linearTexture: 0 12 | fadeOut: 0 13 | borderMipMap: 0 14 | mipMapsPreserveCoverage: 0 15 | alphaTestReferenceValue: 0.5 16 | mipMapFadeDistanceStart: 1 17 | mipMapFadeDistanceEnd: 3 18 | bumpmap: 19 | convertToNormalMap: 0 20 | externalNormalMap: 0 21 | heightScale: 0.25 22 | normalMapFilter: 0 23 | isReadable: 0 24 | streamingMipmaps: 0 25 | streamingMipmapsPriority: 0 26 | grayScaleToAlpha: 0 27 | generateCubemap: 6 28 | cubemapConvolution: 0 29 | seamlessCubemap: 0 30 | textureFormat: 1 31 | maxTextureSize: 2048 32 | textureSettings: 33 | serializedVersion: 2 34 | filterMode: 0 35 | aniso: -1 36 | mipBias: -100 37 | wrapU: 0 38 | wrapV: 0 39 | wrapW: 0 40 | nPOTScale: 0 41 | lightmap: 0 42 | compressionQuality: 50 43 | spriteMode: 1 44 | spriteExtrude: 1 45 | spriteMeshType: 1 46 | alignment: 0 47 | spritePivot: {x: 0.5, y: 0.5} 48 | spritePixelsToUnits: 100 49 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 50 | spriteGenerateFallbackPhysicsShape: 0 51 | alphaUsage: 1 52 | alphaIsTransparency: 1 53 | spriteTessellationDetail: -1 54 | textureType: 8 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | platformSettings: 61 | - serializedVersion: 3 62 | buildTarget: DefaultTexturePlatform 63 | maxTextureSize: 2048 64 | resizeAlgorithm: 0 65 | textureFormat: -1 66 | textureCompression: 1 67 | compressionQuality: 50 68 | crunchedCompression: 0 69 | allowsAlphaSplitting: 0 70 | overridden: 0 71 | androidETC2FallbackOverride: 0 72 | forceMaximumCompressionQuality_BC6H_BC7: 0 73 | - serializedVersion: 3 74 | buildTarget: Standalone 75 | maxTextureSize: 2048 76 | resizeAlgorithm: 0 77 | textureFormat: -1 78 | textureCompression: 1 79 | compressionQuality: 50 80 | crunchedCompression: 0 81 | allowsAlphaSplitting: 0 82 | overridden: 0 83 | androidETC2FallbackOverride: 0 84 | forceMaximumCompressionQuality_BC6H_BC7: 0 85 | - serializedVersion: 3 86 | buildTarget: iPhone 87 | maxTextureSize: 2048 88 | resizeAlgorithm: 0 89 | textureFormat: -1 90 | textureCompression: 1 91 | compressionQuality: 50 92 | crunchedCompression: 0 93 | allowsAlphaSplitting: 0 94 | overridden: 0 95 | androidETC2FallbackOverride: 0 96 | forceMaximumCompressionQuality_BC6H_BC7: 0 97 | - serializedVersion: 3 98 | buildTarget: Android 99 | maxTextureSize: 2048 100 | resizeAlgorithm: 0 101 | textureFormat: -1 102 | textureCompression: 1 103 | compressionQuality: 50 104 | crunchedCompression: 0 105 | allowsAlphaSplitting: 0 106 | overridden: 0 107 | androidETC2FallbackOverride: 0 108 | forceMaximumCompressionQuality_BC6H_BC7: 0 109 | spriteSheet: 110 | serializedVersion: 2 111 | sprites: [] 112 | outline: [] 113 | physicsShape: [] 114 | bones: [] 115 | spriteID: 5e97eb03825dee720800000000000000 116 | internalID: 0 117 | vertices: [] 118 | indices: 119 | edges: [] 120 | weights: [] 121 | secondaryTextures: [] 122 | spritePackingTag: 123 | pSDRemoveMatte: 0 124 | pSDShowRemoveMatteOption: 0 125 | userData: 126 | assetBundleName: 127 | assetBundleVariant: 128 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84094c6a267aa1445abe936c51c5609a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe599c66b733413eb2ddf0381d37b271 3 | timeCreated: 1569621475 -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/AssetProcessors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4dbe5832c2b7453b92ac06d93a1c7eef 3 | timeCreated: 1569670985 -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/AssetProcessors/AutoPresetAssetPostProcessor.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace JCMG.AutoPresets.Editor 5 | { 6 | /// 7 | /// An asset processor that looks for instances of in the same folder as 8 | /// the imported asset and attempts to apply them if applicable. 9 | /// 10 | internal sealed class AutoPresetAssetPostProcessor : AssetPostprocessor 11 | { 12 | #region Unity Asset Events 13 | 14 | private void OnPostprocessAudio(AudioClip arg) 15 | { 16 | TryApplyPreset(); 17 | } 18 | 19 | private void OnPostprocessCubemap(Cubemap texture) 20 | { 21 | TryApplyPreset(); 22 | } 23 | 24 | private void OnPostprocessMaterial(Material material) 25 | { 26 | TryApplyPreset(); 27 | } 28 | 29 | private void OnPostprocessModel(GameObject g) 30 | { 31 | TryApplyPreset(); 32 | } 33 | 34 | private void OnPostprocessSpeedTree(GameObject arg) 35 | { 36 | TryApplyPreset(); 37 | } 38 | 39 | private void OnPostprocessTexture(Texture2D texture) 40 | { 41 | TryApplyPreset(); 42 | } 43 | 44 | private void OnPreprocessAnimation() 45 | { 46 | TryApplyPreset(); 47 | } 48 | 49 | private void OnPreprocessAssembly(string pathName) 50 | { 51 | TryApplyPreset(); 52 | } 53 | 54 | private void OnPreprocessAsset() 55 | { 56 | TryApplyPreset(); 57 | } 58 | 59 | private void OnPreprocessAudio() 60 | { 61 | TryApplyPreset(); 62 | } 63 | 64 | private void OnPreprocessModel() 65 | { 66 | TryApplyPreset(); 67 | } 68 | 69 | private void OnPreprocessSpeedTree() 70 | { 71 | TryApplyPreset(); 72 | } 73 | 74 | private void OnPreprocessTexture() 75 | { 76 | TryApplyPreset(); 77 | } 78 | 79 | #endregion 80 | 81 | /// 82 | /// Checks to see if there are any asset instances in the same folder 83 | /// as the imported asset and if they apply to it; if so, the preset is automatically applied. 84 | /// 85 | private void TryApplyPreset() 86 | { 87 | AutoPresetConfig preset; 88 | if (!TryGetPresetAsset(out preset)) 89 | { 90 | return; 91 | } 92 | 93 | preset.ApplyTo(assetImporter); 94 | } 95 | 96 | /// 97 | /// Returns true if an instance was found in the same folder as the 98 | /// asset that applies to it, otherwise false. If true, will be 99 | /// initialized with that value. 100 | /// 101 | /// 102 | /// 103 | private bool TryGetPresetAsset(out AutoPresetConfig autoPreset) 104 | { 105 | autoPreset = null; 106 | 107 | var parentFolder = AssetDatabaseTools.GetAssetParentFolderPath(assetPath); 108 | var autoPresetConfigs = AssetDatabaseTools.GetAllAutoPresetConfigs(new[] { parentFolder }); 109 | 110 | foreach (var autoPresetConfig in autoPresetConfigs) 111 | { 112 | if (!autoPresetConfig.CanBeAppliedTo(assetImporter)) 113 | { 114 | continue; 115 | } 116 | 117 | autoPreset = autoPresetConfig; 118 | return true; 119 | } 120 | 121 | return false; 122 | } 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/AssetProcessors/AutoPresetAssetPostProcessor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39858b4488d24ac98c4e584a8ddb9c72 3 | timeCreated: 1569622242 -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/AutoPresetConfig.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor.Presets; 2 | using UnityEngine; 3 | 4 | namespace JCMG.AutoPresets.Editor 5 | { 6 | /// 7 | /// allows for specifying a 8 | /// 9 | [CreateAssetMenu(menuName = "JCMG/AutoPreset/AutoPresetConfig", fileName = "NewAutoPresetConfig")] 10 | public sealed class AutoPresetConfig : ScriptableObject 11 | { 12 | /// 13 | /// The to be applied to derived assets in the 14 | /// same folder as this instance. 15 | /// 16 | public Preset Preset 17 | { 18 | get => _preset; 19 | set { _preset = value; } 20 | } 21 | 22 | #pragma warning disable 0649 23 | [SerializeField] 24 | private Preset _preset; 25 | #pragma warning restore 0649 26 | 27 | /// 28 | /// Returns true if is assigned and it can be applied to . 29 | /// 30 | /// 31 | /// 32 | public bool CanBeAppliedTo(Object obj) 33 | { 34 | return _preset != null && _preset.CanBeAppliedTo(obj); 35 | } 36 | 37 | /// 38 | /// Returns true if is assigned, it can be applied to , and the 39 | /// preseT has been applied to . 40 | /// 41 | /// 42 | /// 43 | public bool ApplyTo(Object obj) 44 | { 45 | return _preset != null && _preset.ApplyTo(obj); 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/AutoPresetConfig.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58dc361311687f54ea131462f58babd8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {fileID: 2800000, guid: 40beeb02989a84347ac2de482166b1b1, type: 3} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/AutoPresetMenuItems.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace JCMG.AutoPresets.Editor 5 | { 6 | internal static class AutoPresetMenuItems 7 | { 8 | [MenuItem("Tools/JCMG/AutoPreset/Submit bug or feature request")] 9 | internal static void OpenURLToGitHubIssuesSection() 10 | { 11 | const string GITHUB_ISSUES_URL = "https://github.com/jeffcampbellmakesgames/unity-auto-preset/issues"; 12 | 13 | Application.OpenURL(GITHUB_ISSUES_URL); 14 | } 15 | 16 | [MenuItem("Tools/JCMG/AutoPreset/Donate to support development")] 17 | internal static void OpenURLToKoFi() 18 | { 19 | const string KOFI_URL = "https://ko-fi.com/stampyturtle"; 20 | 21 | Application.OpenURL(KOFI_URL); 22 | } 23 | 24 | [MenuItem("Tools/JCMG/AutoPreset/About")] 25 | internal static void OpenAboutModalDialog() 26 | { 27 | AboutWindow.View(); 28 | } 29 | 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/AutoPresetMenuItems.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8d83bdb0525cde643af040ff631afdb0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Inspectors.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4a18cc3e3a8a4d1dbf2832347107e440 3 | timeCreated: 1570478601 -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Inspectors/AutoPresetConfigInspector.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace JCMG.AutoPresets.Editor 5 | { 6 | [CustomEditor(typeof(AutoPresetConfig))] 7 | internal sealed class AutoPresetConfigInspector : UnityEditor.Editor 8 | { 9 | private const string ACTIONS_TITLE_TEXT = "Actions"; 10 | private const string REIMPORT_BUTTON_TEXT = "Reimport linked assets"; 11 | 12 | public override void OnInspectorGUI() 13 | { 14 | DrawDefaultInspector(); 15 | 16 | GUILayout.Space(5); 17 | GUILayout.Label(ACTIONS_TITLE_TEXT, EditorStyles.boldLabel); 18 | 19 | var config = (AutoPresetConfig) target; 20 | 21 | if (GUILayout.Button(REIMPORT_BUTTON_TEXT)) 22 | { 23 | var assetPath = AssetDatabase.GetAssetPath(config); 24 | var parentPath = AssetDatabaseTools.GetAssetParentFolderPath(assetPath); 25 | 26 | AssetDatabaseTools.ReimportAllAssets(parentPath, config); 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Inspectors/AutoPresetConfigInspector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ebecccee7139412da6e4ac4e47121a0e 3 | timeCreated: 1570478622 -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/JCMG.AutoPresets.Editor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "JCMG.AutoPresets.Editor", 3 | "references": [], 4 | "includePlatforms": [ 5 | "Editor" 6 | ], 7 | "excludePlatforms": [], 8 | "allowUnsafeCode": false, 9 | "overrideReferences": false, 10 | "precompiledReferences": [], 11 | "autoReferenced": true, 12 | "defineConstraints": [], 13 | "versionDefines": [] 14 | } -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/JCMG.AutoPresets.Editor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3514910d1948474c9b73321cf9156d0 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Menus.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e52472ad824945cab26cd674430e838f 3 | timeCreated: 1571063636 -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Menus/PresetContextMenus.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEditor.Presets; 3 | 4 | namespace JCMG.AutoPresets.Editor 5 | { 6 | /// 7 | /// Context menu-items for s. 8 | /// 9 | internal static class PresetContextMenus 10 | { 11 | [MenuItem("Assets/AutoPreset/Reimport Linked Assets")] 12 | private static void ReimportLinkedAssetsForPreset() 13 | { 14 | PresetTools.UpdateLinkedAssets((Preset)Selection.activeObject); 15 | } 16 | 17 | [MenuItem("Assets/AutoPreset/Reimport Linked Assets", true)] 18 | private static bool ReimportLinkedAssetsForPresetValidation() 19 | { 20 | return Selection.activeObject is Preset; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Menus/PresetContextMenus.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d30d69482e4d4cc1949fcbecf3dd963d 3 | timeCreated: 1571063694 -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Tools.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 98b4fd953c464843bd4b6373e7931c5c 3 | timeCreated: 1569652892 -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Tools/AssetDatabaseTools.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.IO; 3 | using System.Linq; 4 | using System.Text; 5 | using UnityEditor; 6 | using UnityEngine; 7 | 8 | namespace JCMG.AutoPresets.Editor 9 | { 10 | /// 11 | /// Helper methods for dealing with the . 12 | /// 13 | internal static class AssetDatabaseTools 14 | { 15 | private static readonly StringBuilder SB = new StringBuilder(); 16 | 17 | private const string AUTO_PRESET_CONFIG_SEARCH_FILTER = "t:AutoPresetConfig"; 18 | private const string WILDCARD_SEARCH = "*"; 19 | private const string META_FILE_EXTENSION = ".meta"; 20 | private const string UNITY_ASSETS_FOLDER_NAME = "Assets"; 21 | private const string FORWARD_SLASH_STR = "/"; 22 | private const char FORWARD_SLASH_CHAR = '/'; 23 | 24 | /// 25 | /// Returns the parent folder of a Unity asset or folder path. Where the asset is in the root Assets 26 | /// folder already or is the Assets folder, the Assets folder is returned. 27 | /// 28 | /// 29 | /// 30 | public static string GetAssetParentFolderPath(string unityRelativePath) 31 | { 32 | var parentFolder = UNITY_ASSETS_FOLDER_NAME; 33 | 34 | var normalizedUnityRelativeFilePath = unityRelativePath.EndsWith(FORWARD_SLASH_STR) 35 | ? unityRelativePath.Remove(unityRelativePath.Length - 1) 36 | : unityRelativePath; 37 | 38 | if (normalizedUnityRelativeFilePath.StartsWith(UNITY_ASSETS_FOLDER_NAME)) 39 | { 40 | var splitAssetPathParts = normalizedUnityRelativeFilePath.Split(FORWARD_SLASH_CHAR); 41 | if (splitAssetPathParts.Length > 1) 42 | { 43 | SB.Clear(); 44 | for (var i = 0; i < splitAssetPathParts.Length - 1; i++) 45 | { 46 | SB.Append(splitAssetPathParts[i]); 47 | SB.Append(FORWARD_SLASH_CHAR); 48 | } 49 | 50 | parentFolder = SB.ToString().TrimEnd(FORWARD_SLASH_CHAR); 51 | } 52 | } 53 | 54 | return parentFolder; 55 | } 56 | 57 | /// 58 | /// Returns the root folder of the Unity Project 59 | /// 60 | /// 61 | public static string GetProjectPath() 62 | { 63 | return Application.dataPath.Substring(0, Application.dataPath.Length - 6); 64 | } 65 | 66 | /// 67 | /// Reimports all assets at where the preset in applies. 68 | /// 69 | /// 70 | /// 71 | public static void ReimportAllAssets(string path, AutoPresetConfig applicableConfig) 72 | { 73 | var projectPath = GetProjectPath(); 74 | var fullPath = Path.Combine(projectPath, path); 75 | 76 | var assetPaths = Directory.GetFiles(fullPath, WILDCARD_SEARCH, SearchOption.TopDirectoryOnly) 77 | .Where(x => !x.EndsWith(META_FILE_EXTENSION)) 78 | .Select(y => y.Replace(projectPath, string.Empty)); 79 | 80 | foreach (var assetPath in assetPaths) 81 | { 82 | var assetImporter = AssetImporter.GetAtPath(assetPath); 83 | if (assetImporter != null && applicableConfig.CanBeAppliedTo(assetImporter)) 84 | { 85 | AssetDatabase.ImportAsset(assetPath); 86 | } 87 | } 88 | } 89 | 90 | /// 91 | /// Returns all instances in the project. 92 | /// 93 | /// 94 | public static IReadOnlyList GetAllAutoPresetConfigs() 95 | { 96 | return GetAllAutoPresetConfigs(null); 97 | } 98 | 99 | /// 100 | /// Returns all instances in the project located in . 101 | /// 102 | /// 103 | public static IReadOnlyList GetAllAutoPresetConfigs(string[] folderPaths) 104 | { 105 | var assetGUIDs = folderPaths != null 106 | ? AssetDatabase.FindAssets(AUTO_PRESET_CONFIG_SEARCH_FILTER, folderPaths) 107 | : AssetDatabase.FindAssets(AUTO_PRESET_CONFIG_SEARCH_FILTER); 108 | 109 | var autoPresetConfigList = new List(); 110 | foreach (var assetGUID in assetGUIDs) 111 | { 112 | var assetPath = AssetDatabase.GUIDToAssetPath(assetGUID); 113 | var autoPresetConfig = AssetDatabase.LoadAssetAtPath(assetPath); 114 | if (autoPresetConfig != null) 115 | { 116 | autoPresetConfigList.Add(autoPresetConfig); 117 | } 118 | } 119 | 120 | return autoPresetConfigList; 121 | } 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Tools/AssetDatabaseTools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a572f27f32504918a801ce201abe2458 3 | timeCreated: 1569652904 -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Tools/PresetTools.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEditor; 3 | using UnityEditor.Presets; 4 | using UnityEngine; 5 | 6 | namespace JCMG.AutoPresets.Editor 7 | { 8 | /// 9 | /// Helper methods for dealing with s. 10 | /// 11 | internal static class PresetTools 12 | { 13 | public static void UpdateLinkedAssets(Preset preset) 14 | { 15 | var autoPresetConfigList = AssetDatabaseTools.GetAllAutoPresetConfigs(); 16 | 17 | const string UPDATE_ASSETS_TITLE = "Updating AutoPresetConfigs"; 18 | 19 | EditorUtility.DisplayProgressBar(UPDATE_ASSETS_TITLE, String.Empty, 0f); 20 | 21 | for (var i = 0; i < autoPresetConfigList.Count; i++) 22 | { 23 | var progress = Mathf.Clamp01((float)i / autoPresetConfigList.Count); 24 | EditorUtility.DisplayProgressBar(UPDATE_ASSETS_TITLE,String.Empty, progress); 25 | 26 | var autoPresetConfig = autoPresetConfigList[i]; 27 | if (autoPresetConfig.Preset != preset) 28 | { 29 | continue; 30 | } 31 | 32 | var msg = string.Format("Importing assets for [{0}]", autoPresetConfig.name); 33 | 34 | EditorUtility.DisplayProgressBar(UPDATE_ASSETS_TITLE,msg, progress); 35 | 36 | var assetPath = AssetDatabase.GetAssetPath(autoPresetConfig); 37 | var parentPath = AssetDatabaseTools.GetAssetParentFolderPath(assetPath); 38 | 39 | AssetDatabaseTools.ReimportAllAssets(parentPath, autoPresetConfig); 40 | } 41 | 42 | EditorUtility.ClearProgressBar(); 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Tools/PresetTools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b933d60e9134585b1932f8c6953e156 3 | timeCreated: 1571067962 -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/VersionConstants.cs: -------------------------------------------------------------------------------- 1 | namespace JCMG.AutoPresets.Editor 2 | { 3 | /// 4 | /// Version info for this library. 5 | /// 6 | internal static class VersionConstants 7 | { 8 | // Version 9 | public const string VERSION = "1.0.2"; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/VersionConstants.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5dd27321f403f5042b99a365c35f57dc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Window.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78bf19eee8d7efe4898f0609cbec22ea 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Window/AboutWindow.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace JCMG.AutoPresets.Editor 5 | { 6 | /// 7 | /// A window that shows information about the library and its contributors. 8 | /// 9 | internal sealed class AboutWindow : EditorWindow 10 | { 11 | #pragma warning disable 0649 12 | 13 | [SerializeField] 14 | private Texture2D _socialShareImage; 15 | 16 | [SerializeField] 17 | private Texture2D _portraitImage; 18 | 19 | #pragma warning restore 0649 20 | 21 | private const string WINDOW_TITLE = "JCMG AutoPresets"; 22 | private const string VERSION_LABEL = "Version:"; 23 | private const string GITHUB_LABEL = "GitHub:"; 24 | private const string KOFI_LABEL = "KOFI:"; 25 | private const string TWITTER_LABEL = "Twitter:"; 26 | 27 | private const string GITHUB_URL = "https://github.com/jeffcampbellmakesgames"; 28 | private const string KOFI_URL = "https://ko-fi.com/stampyturtle"; 29 | private const string TWITTER_URL = "https://twitter.com/StampyTurtle"; 30 | 31 | private const string SHARE_MESSAGE = "Hi there! My name is Jeff Campbell and I make open source tools for game " + 32 | "developers.\n\nIf you enjoy using this tool and want to support its development " + 33 | "and other high-quality, free open-source tools, follow me on Twitter, " + 34 | "GitHub, and consider buying me a coffee on Ko-Fi."; 35 | 36 | public static void View() 37 | { 38 | var window = CreateInstance(); 39 | window.minSize = new Vector2(512f, 490f); 40 | window.maxSize = window.minSize; 41 | window.titleContent = new GUIContent(WINDOW_TITLE); 42 | window.position = new Rect( 43 | Screen.currentResolution.width / 2f, 44 | Screen.currentResolution.height / 2f, 45 | 0f, 46 | 0f); 47 | window.ShowUtility(); 48 | } 49 | 50 | private void OnGUI() 51 | { 52 | // JCMG Share Image 53 | if (_socialShareImage != null) 54 | { 55 | GUILayout.Label(_socialShareImage); 56 | 57 | DrawSeparator(); 58 | } 59 | 60 | // COC Version 61 | using (new EditorGUILayout.HorizontalScope()) 62 | { 63 | EditorGUILayout.LabelField(VERSION_LABEL, EditorStyles.boldLabel, GUILayout.Width(75f)); 64 | EditorGUILayout.LabelField(VersionConstants.VERSION); 65 | } 66 | 67 | DrawSeparator(); 68 | 69 | // Share message and portrait 70 | using (new EditorGUILayout.HorizontalScope()) 71 | { 72 | if (_portraitImage != null) 73 | { 74 | GUILayout.Label(_portraitImage, GUILayout.Width(96f), GUILayout.Height(96f)); 75 | } 76 | EditorGUILayout.SelectableLabel(SHARE_MESSAGE, EditorStyles.textArea, GUILayout.Height(96f)); 77 | } 78 | 79 | // Links for Github, KoFi, and Twitter 80 | var originalColor = GUI.contentColor; 81 | 82 | // Twitter 83 | using (new EditorGUILayout.HorizontalScope()) 84 | { 85 | EditorGUILayout.LabelField(TWITTER_LABEL, EditorStyles.boldLabel, GUILayout.Width(75f)); 86 | GUI.contentColor = Color.cyan; 87 | if (GUILayout.Button(TWITTER_URL, GUI.skin.label)) 88 | { 89 | Application.OpenURL(TWITTER_URL); 90 | } 91 | 92 | GUI.contentColor = originalColor; 93 | } 94 | 95 | // Github 96 | using (new EditorGUILayout.HorizontalScope()) 97 | { 98 | EditorGUILayout.LabelField(GITHUB_LABEL, EditorStyles.boldLabel, GUILayout.Width(75f)); 99 | GUI.contentColor = Color.cyan; 100 | if (GUILayout.Button(GITHUB_URL, GUI.skin.label)) 101 | { 102 | Application.OpenURL(GITHUB_URL); 103 | } 104 | GUI.contentColor = originalColor; 105 | } 106 | 107 | // KOFI 108 | using (new EditorGUILayout.HorizontalScope()) 109 | { 110 | EditorGUILayout.LabelField(KOFI_LABEL, EditorStyles.boldLabel, GUILayout.Width(75f)); 111 | GUI.contentColor = Color.cyan; 112 | if (GUILayout.Button(KOFI_URL, GUI.skin.label)) 113 | { 114 | Application.OpenURL(KOFI_URL); 115 | } 116 | 117 | GUI.contentColor = originalColor; 118 | } 119 | } 120 | 121 | private void DrawSeparator() 122 | { 123 | GUILayout.Box(string.Empty, GUILayout.ExpandWidth(true), GUILayout.Height(1)); 124 | } 125 | } 126 | } 127 | -------------------------------------------------------------------------------- /Unity/Assets/JCMG/AutoPresets/Scripts/Editor/Window/AboutWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9cbd1d9a14152674d8e70c7e00b16925 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: 7 | - m_ViewDataDictionary: {instanceID: 0} 8 | - _socialShareImage: {fileID: 2800000, guid: c98c6ddc4649b4a4d91043092733e173, type: 3} 9 | - _portraitImage: {fileID: 2800000, guid: 215f95bd698ee0849b212d51d10d1b0c, type: 3} 10 | executionOrder: 0 11 | icon: {instanceID: 0} 12 | userData: 13 | assetBundleName: 14 | assetBundleVariant: 15 | -------------------------------------------------------------------------------- /Unity/Assets/PackageManifests.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 42f2609268657704f9955bab71be9dda 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/PackageManifests/Generated.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 211bd48101524434c943ffa5e7feca73 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/PackageManifests/Generated/860453f0-9f55-42ca-944e-327714f906d6.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 51ecbb6d6e6003b4ebea0e4fc86d098d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/Assets/PackageManifests/Generated/860453f0-9f55-42ca-944e-327714f906d6/package.json: -------------------------------------------------------------------------------- 1 | {"name":"com.jeffcampbellmakesgames.autopresets","displayName":"JCMG AutoPresets","version":"1.0.2","unity":"2018.3","description":"Auto Preset enables scriptable configuration of assets from the Unity Editor without requiring any additional code.","category":""} -------------------------------------------------------------------------------- /Unity/Assets/PackageManifests/Generated/860453f0-9f55-42ca-944e-327714f906d6/package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a8e54f9a195e60747b77db07d0320b23 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Unity/Assets/PackageManifests/PackageManifestConfig.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: a29f67b488b4458983fd973bbda8c8fa, type: 3} 13 | m_Name: PackageManifestConfig 14 | m_EditorClassIdentifier: 15 | packageSourcePaths: 16 | - Assets/JCMG/AutoPresets 17 | packageIgnorePaths: [] 18 | packageDestinationPath: ../../unity-auto-preset-release 19 | legacyPackageDestinationPath: ../Builds 20 | packageName: com.jeffcampbellmakesgames.autopresets 21 | displayName: JCMG AutoPresets 22 | packageVersion: 1.0.2 23 | unityVersion: 2018.3 24 | description: Auto Preset enables scriptable configuration of assets from the Unity 25 | Editor without requiring any additional code. 26 | category: 27 | keywords: [] 28 | dependencies: [] 29 | _id: 860453f0-9f55-42ca-944e-327714f906d6 30 | -------------------------------------------------------------------------------- /Unity/Assets/PackageManifests/PackageManifestConfig.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 327afb6ef7bf8554cb5ed4588da4f574 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Unity/JCMG.AutoPresets.Editor.csproj.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | CSharp70 3 | True 4 | True 5 | True 6 | True 7 | True 8 | True 9 | True -------------------------------------------------------------------------------- /Unity/JCMG.AutoPresets.csproj.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | True -------------------------------------------------------------------------------- /Unity/Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.jeffcampbellmakesgames.packagetools": "https://github.com/jeffcampbellmakesgames/unity-package-tools.git#release/stable", 4 | "com.unity.ext.nunit": "1.0.0", 5 | "com.unity.ide.rider": "1.1.4", 6 | "com.unity.ide.vscode": "1.1.4", 7 | "com.unity.test-framework": "1.1.9", 8 | "com.unity.textmeshpro": "2.0.1", 9 | "com.unity.ugui": "1.0.0", 10 | "com.unity.modules.ai": "1.0.0", 11 | "com.unity.modules.androidjni": "1.0.0", 12 | "com.unity.modules.animation": "1.0.0", 13 | "com.unity.modules.assetbundle": "1.0.0", 14 | "com.unity.modules.audio": "1.0.0", 15 | "com.unity.modules.cloth": "1.0.0", 16 | "com.unity.modules.director": "1.0.0", 17 | "com.unity.modules.imageconversion": "1.0.0", 18 | "com.unity.modules.imgui": "1.0.0", 19 | "com.unity.modules.jsonserialize": "1.0.0", 20 | "com.unity.modules.particlesystem": "1.0.0", 21 | "com.unity.modules.physics": "1.0.0", 22 | "com.unity.modules.physics2d": "1.0.0", 23 | "com.unity.modules.screencapture": "1.0.0", 24 | "com.unity.modules.terrain": "1.0.0", 25 | "com.unity.modules.terrainphysics": "1.0.0", 26 | "com.unity.modules.tilemap": "1.0.0", 27 | "com.unity.modules.ui": "1.0.0", 28 | "com.unity.modules.uielements": "1.0.0", 29 | "com.unity.modules.umbra": "1.0.0", 30 | "com.unity.modules.unityanalytics": "1.0.0", 31 | "com.unity.modules.unitywebrequest": "1.0.0", 32 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 33 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 34 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 35 | "com.unity.modules.unitywebrequestwww": "1.0.0", 36 | "com.unity.modules.vehicles": "1.0.0", 37 | "com.unity.modules.video": "1.0.0", 38 | "com.unity.modules.vr": "1.0.0", 39 | "com.unity.modules.wind": "1.0.0", 40 | "com.unity.modules.xr": "1.0.0" 41 | }, 42 | "lock": { 43 | "com.jeffcampbellmakesgames.packagetools": { 44 | "revision": "release/stable", 45 | "hash": "feaded99c976be564b7e52d2a47fed249e94bddd" 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 1024 20 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ContactPairsMode: 0 26 | m_BroadphaseType: 0 27 | m_WorldBounds: 28 | m_Center: {x: 0, y: 0, z: 0} 29 | m_Extent: {x: 250, y: 250, z: 250} 30 | m_WorldSubdivisions: 8 31 | m_FrictionType: 0 32 | m_EnableEnhancedDeterminism: 0 33 | m_EnableUnifiedHeightmaps: 1 34 | m_DefaultMaxAngluarSpeed: 7 35 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: [] 8 | m_configObjects: {} 9 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Hidden Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 1 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 12 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | m_PreloadedShaders: [] 39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 40 | type: 0} 41 | m_CustomRenderPipeline: {fileID: 0} 42 | m_TransparencySortMode: 0 43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 44 | m_DefaultRenderingPath: 1 45 | m_DefaultMobileRenderingPath: 1 46 | m_TierSettings: [] 47 | m_LightmapStripping: 0 48 | m_FogStripping: 0 49 | m_InstancingStripping: 0 50 | m_LightmapKeepPlain: 1 51 | m_LightmapKeepDirCombined: 1 52 | m_LightmapKeepDynamicPlain: 1 53 | m_LightmapKeepDynamicDirCombined: 1 54 | m_LightmapKeepShadowMask: 1 55 | m_LightmapKeepSubtractive: 1 56 | m_FogKeepLinear: 1 57 | m_FogKeepExp: 1 58 | m_FogKeepExp2: 1 59 | m_AlbedoSwatchInfos: [] 60 | m_LightsUseLinearIntensity: 0 61 | m_LightsUseColorTemperature: 0 62 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | m_DefaultList: [] 7 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 18 7 | productGUID: 29718f904e420a548853a1636e8a4135 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | AndroidEnableSustainedPerformanceMode: 0 11 | defaultScreenOrientation: 4 12 | targetDevice: 2 13 | useOnDemandResources: 0 14 | accelerometerFrequency: 60 15 | companyName: DefaultCompany 16 | productName: Unity 17 | defaultCursor: {fileID: 0} 18 | cursorHotspot: {x: 0, y: 0} 19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 20 | m_ShowUnitySplashScreen: 1 21 | m_ShowUnitySplashLogo: 1 22 | m_SplashScreenOverlayOpacity: 1 23 | m_SplashScreenAnimation: 1 24 | m_SplashScreenLogoStyle: 1 25 | m_SplashScreenDrawMode: 0 26 | m_SplashScreenBackgroundAnimationZoom: 1 27 | m_SplashScreenLogoAnimationZoom: 1 28 | m_SplashScreenBackgroundLandscapeAspect: 1 29 | m_SplashScreenBackgroundPortraitAspect: 1 30 | m_SplashScreenBackgroundLandscapeUvs: 31 | serializedVersion: 2 32 | x: 0 33 | y: 0 34 | width: 1 35 | height: 1 36 | m_SplashScreenBackgroundPortraitUvs: 37 | serializedVersion: 2 38 | x: 0 39 | y: 0 40 | width: 1 41 | height: 1 42 | m_SplashScreenLogos: [] 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_HolographicTrackingLossScreen: {fileID: 0} 45 | defaultScreenWidth: 1024 46 | defaultScreenHeight: 768 47 | defaultScreenWidthWeb: 960 48 | defaultScreenHeightWeb: 600 49 | m_StereoRenderingPath: 0 50 | m_ActiveColorSpace: 0 51 | m_MTRendering: 1 52 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 53 | iosShowActivityIndicatorOnLoading: -1 54 | androidShowActivityIndicatorOnLoading: -1 55 | displayResolutionDialog: 0 56 | iosUseCustomAppBackgroundBehavior: 0 57 | iosAllowHTTPDownload: 1 58 | allowedAutorotateToPortrait: 1 59 | allowedAutorotateToPortraitUpsideDown: 1 60 | allowedAutorotateToLandscapeRight: 1 61 | allowedAutorotateToLandscapeLeft: 1 62 | useOSAutorotation: 1 63 | use32BitDisplayBuffer: 1 64 | preserveFramebufferAlpha: 0 65 | disableDepthAndStencilBuffers: 0 66 | androidStartInFullscreen: 1 67 | androidRenderOutsideSafeArea: 1 68 | androidUseSwappy: 0 69 | androidBlitType: 0 70 | defaultIsNativeResolution: 1 71 | macRetinaSupport: 1 72 | runInBackground: 1 73 | captureSingleScreen: 0 74 | muteOtherAudioSources: 0 75 | Prepare IOS For Recording: 0 76 | Force IOS Speakers When Recording: 0 77 | deferSystemGesturesMode: 0 78 | hideHomeButton: 0 79 | submitAnalytics: 1 80 | usePlayerLog: 1 81 | bakeCollisionMeshes: 0 82 | forceSingleInstance: 0 83 | useFlipModelSwapchain: 1 84 | resizableWindow: 0 85 | useMacAppStoreValidation: 0 86 | macAppStoreCategory: public.app-category.games 87 | gpuSkinning: 1 88 | graphicsJobs: 0 89 | xboxPIXTextureCapture: 0 90 | xboxEnableAvatar: 0 91 | xboxEnableKinect: 0 92 | xboxEnableKinectAutoTracking: 0 93 | xboxEnableFitness: 0 94 | visibleInBackground: 1 95 | allowFullscreenSwitch: 1 96 | graphicsJobMode: 0 97 | fullscreenMode: 1 98 | xboxSpeechDB: 0 99 | xboxEnableHeadOrientation: 0 100 | xboxEnableGuest: 0 101 | xboxEnablePIXSampling: 0 102 | metalFramebufferOnly: 0 103 | xboxOneResolution: 0 104 | xboxOneSResolution: 0 105 | xboxOneXResolution: 3 106 | xboxOneMonoLoggingLevel: 0 107 | xboxOneLoggingLevel: 1 108 | xboxOneDisableEsram: 0 109 | xboxOnePresentImmediateThreshold: 0 110 | switchQueueCommandMemory: 0 111 | switchQueueControlMemory: 16384 112 | switchQueueComputeMemory: 262144 113 | switchNVNShaderPoolsGranularity: 33554432 114 | switchNVNDefaultPoolsGranularity: 16777216 115 | switchNVNOtherPoolsGranularity: 16777216 116 | vulkanEnableSetSRGBWrite: 0 117 | m_SupportedAspectRatios: 118 | 4:3: 1 119 | 5:4: 1 120 | 16:10: 1 121 | 16:9: 1 122 | Others: 1 123 | bundleVersion: 0.1 124 | preloadedAssets: [] 125 | metroInputSource: 0 126 | wsaTransparentSwapchain: 0 127 | m_HolographicPauseOnTrackingLoss: 1 128 | xboxOneDisableKinectGpuReservation: 1 129 | xboxOneEnable7thCore: 1 130 | vrSettings: 131 | cardboard: 132 | depthFormat: 0 133 | enableTransitionView: 0 134 | daydream: 135 | depthFormat: 0 136 | useSustainedPerformanceMode: 0 137 | enableVideoLayer: 0 138 | useProtectedVideoMemory: 0 139 | minimumSupportedHeadTracking: 0 140 | maximumSupportedHeadTracking: 1 141 | hololens: 142 | depthFormat: 1 143 | depthBufferSharingEnabled: 1 144 | lumin: 145 | depthFormat: 0 146 | frameTiming: 2 147 | enableGLCache: 0 148 | glCacheMaxBlobSize: 524288 149 | glCacheMaxFileSize: 8388608 150 | oculus: 151 | sharedDepthBuffer: 1 152 | dashSupport: 1 153 | lowOverheadMode: 0 154 | enable360StereoCapture: 0 155 | isWsaHolographicRemotingEnabled: 0 156 | protectGraphicsMemory: 0 157 | enableFrameTimingStats: 0 158 | useHDRDisplay: 0 159 | m_ColorGamuts: 00000000 160 | targetPixelDensity: 30 161 | resolutionScalingMode: 0 162 | androidSupportedAspectRatio: 1 163 | androidMaxAspectRatio: 2.1 164 | applicationIdentifier: {} 165 | buildNumber: {} 166 | AndroidBundleVersionCode: 1 167 | AndroidMinSdkVersion: 16 168 | AndroidTargetSdkVersion: 0 169 | AndroidPreferredInstallLocation: 1 170 | aotOptions: 171 | stripEngineCode: 1 172 | iPhoneStrippingLevel: 0 173 | iPhoneScriptCallOptimization: 0 174 | ForceInternetPermission: 0 175 | ForceSDCardPermission: 0 176 | CreateWallpaper: 0 177 | APKExpansionFiles: 0 178 | keepLoadedShadersAlive: 0 179 | StripUnusedMeshComponents: 1 180 | VertexChannelCompressionMask: 4054 181 | iPhoneSdkVersion: 988 182 | iOSTargetOSVersionString: 9.0 183 | tvOSSdkVersion: 0 184 | tvOSRequireExtendedGameController: 0 185 | tvOSTargetOSVersionString: 9.0 186 | uIPrerenderedIcon: 0 187 | uIRequiresPersistentWiFi: 0 188 | uIRequiresFullScreen: 1 189 | uIStatusBarHidden: 1 190 | uIExitOnSuspend: 0 191 | uIStatusBarStyle: 0 192 | iPhoneSplashScreen: {fileID: 0} 193 | iPhoneHighResSplashScreen: {fileID: 0} 194 | iPhoneTallHighResSplashScreen: {fileID: 0} 195 | iPhone47inSplashScreen: {fileID: 0} 196 | iPhone55inPortraitSplashScreen: {fileID: 0} 197 | iPhone55inLandscapeSplashScreen: {fileID: 0} 198 | iPhone58inPortraitSplashScreen: {fileID: 0} 199 | iPhone58inLandscapeSplashScreen: {fileID: 0} 200 | iPadPortraitSplashScreen: {fileID: 0} 201 | iPadHighResPortraitSplashScreen: {fileID: 0} 202 | iPadLandscapeSplashScreen: {fileID: 0} 203 | iPadHighResLandscapeSplashScreen: {fileID: 0} 204 | iPhone65inPortraitSplashScreen: {fileID: 0} 205 | iPhone65inLandscapeSplashScreen: {fileID: 0} 206 | iPhone61inPortraitSplashScreen: {fileID: 0} 207 | iPhone61inLandscapeSplashScreen: {fileID: 0} 208 | appleTVSplashScreen: {fileID: 0} 209 | appleTVSplashScreen2x: {fileID: 0} 210 | tvOSSmallIconLayers: [] 211 | tvOSSmallIconLayers2x: [] 212 | tvOSLargeIconLayers: [] 213 | tvOSLargeIconLayers2x: [] 214 | tvOSTopShelfImageLayers: [] 215 | tvOSTopShelfImageLayers2x: [] 216 | tvOSTopShelfImageWideLayers: [] 217 | tvOSTopShelfImageWideLayers2x: [] 218 | iOSLaunchScreenType: 0 219 | iOSLaunchScreenPortrait: {fileID: 0} 220 | iOSLaunchScreenLandscape: {fileID: 0} 221 | iOSLaunchScreenBackgroundColor: 222 | serializedVersion: 2 223 | rgba: 0 224 | iOSLaunchScreenFillPct: 100 225 | iOSLaunchScreenSize: 100 226 | iOSLaunchScreenCustomXibPath: 227 | iOSLaunchScreeniPadType: 0 228 | iOSLaunchScreeniPadImage: {fileID: 0} 229 | iOSLaunchScreeniPadBackgroundColor: 230 | serializedVersion: 2 231 | rgba: 0 232 | iOSLaunchScreeniPadFillPct: 100 233 | iOSLaunchScreeniPadSize: 100 234 | iOSLaunchScreeniPadCustomXibPath: 235 | iOSUseLaunchScreenStoryboard: 0 236 | iOSLaunchScreenCustomStoryboardPath: 237 | iOSDeviceRequirements: [] 238 | iOSURLSchemes: [] 239 | iOSBackgroundModes: 0 240 | iOSMetalForceHardShadows: 0 241 | metalEditorSupport: 1 242 | metalAPIValidation: 1 243 | iOSRenderExtraFrameOnPause: 0 244 | appleDeveloperTeamID: 245 | iOSManualSigningProvisioningProfileID: 246 | tvOSManualSigningProvisioningProfileID: 247 | iOSManualSigningProvisioningProfileType: 0 248 | tvOSManualSigningProvisioningProfileType: 0 249 | appleEnableAutomaticSigning: 0 250 | iOSRequireARKit: 0 251 | iOSAutomaticallyDetectAndAddCapabilities: 1 252 | appleEnableProMotion: 0 253 | clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea 254 | templatePackageId: com.unity.template.3d@3.1.0 255 | templateDefaultScene: Assets/Scenes/SampleScene.unity 256 | AndroidTargetArchitectures: 1 257 | AndroidSplashScreenScale: 0 258 | androidSplashScreen: {fileID: 0} 259 | AndroidKeystoreName: '{inproject}: ' 260 | AndroidKeyaliasName: 261 | AndroidBuildApkPerCpuArchitecture: 0 262 | AndroidTVCompatibility: 0 263 | AndroidIsGame: 1 264 | AndroidEnableTango: 0 265 | androidEnableBanner: 1 266 | androidUseLowAccuracyLocation: 0 267 | androidUseCustomKeystore: 0 268 | m_AndroidBanners: 269 | - width: 320 270 | height: 180 271 | banner: {fileID: 0} 272 | androidGamepadSupportLevel: 0 273 | AndroidValidateAppBundleSize: 1 274 | AndroidAppBundleSizeToValidate: 150 275 | resolutionDialogBanner: {fileID: 0} 276 | m_BuildTargetIcons: [] 277 | m_BuildTargetPlatformIcons: [] 278 | m_BuildTargetBatching: 279 | - m_BuildTarget: Standalone 280 | m_StaticBatching: 1 281 | m_DynamicBatching: 0 282 | - m_BuildTarget: tvOS 283 | m_StaticBatching: 1 284 | m_DynamicBatching: 0 285 | - m_BuildTarget: Android 286 | m_StaticBatching: 1 287 | m_DynamicBatching: 0 288 | - m_BuildTarget: iPhone 289 | m_StaticBatching: 1 290 | m_DynamicBatching: 0 291 | - m_BuildTarget: WebGL 292 | m_StaticBatching: 0 293 | m_DynamicBatching: 0 294 | m_BuildTargetGraphicsAPIs: 295 | - m_BuildTarget: AndroidPlayer 296 | m_APIs: 150000000b000000 297 | m_Automatic: 0 298 | - m_BuildTarget: iOSSupport 299 | m_APIs: 10000000 300 | m_Automatic: 1 301 | - m_BuildTarget: AppleTVSupport 302 | m_APIs: 10000000 303 | m_Automatic: 0 304 | - m_BuildTarget: WebGLSupport 305 | m_APIs: 0b000000 306 | m_Automatic: 1 307 | m_BuildTargetVRSettings: 308 | - m_BuildTarget: Standalone 309 | m_Enabled: 0 310 | m_Devices: 311 | - Oculus 312 | - OpenVR 313 | openGLRequireES31: 0 314 | openGLRequireES31AEP: 0 315 | openGLRequireES32: 0 316 | vuforiaEnabled: 0 317 | m_TemplateCustomTags: {} 318 | mobileMTRendering: 319 | Android: 1 320 | iPhone: 1 321 | tvOS: 1 322 | m_BuildTargetGroupLightmapEncodingQuality: [] 323 | m_BuildTargetGroupLightmapSettings: [] 324 | playModeTestRunnerEnabled: 0 325 | runPlayModeTestAsEditModeTest: 0 326 | actionOnDotNetUnhandledException: 1 327 | enableInternalProfiler: 0 328 | logObjCUncaughtExceptions: 1 329 | enableCrashReportAPI: 0 330 | cameraUsageDescription: 331 | locationUsageDescription: 332 | microphoneUsageDescription: 333 | switchNetLibKey: 334 | switchSocketMemoryPoolSize: 6144 335 | switchSocketAllocatorPoolSize: 128 336 | switchSocketConcurrencyLimit: 14 337 | switchScreenResolutionBehavior: 2 338 | switchUseCPUProfiler: 0 339 | switchApplicationID: 0x01004b9000490000 340 | switchNSODependencies: 341 | switchTitleNames_0: 342 | switchTitleNames_1: 343 | switchTitleNames_2: 344 | switchTitleNames_3: 345 | switchTitleNames_4: 346 | switchTitleNames_5: 347 | switchTitleNames_6: 348 | switchTitleNames_7: 349 | switchTitleNames_8: 350 | switchTitleNames_9: 351 | switchTitleNames_10: 352 | switchTitleNames_11: 353 | switchTitleNames_12: 354 | switchTitleNames_13: 355 | switchTitleNames_14: 356 | switchPublisherNames_0: 357 | switchPublisherNames_1: 358 | switchPublisherNames_2: 359 | switchPublisherNames_3: 360 | switchPublisherNames_4: 361 | switchPublisherNames_5: 362 | switchPublisherNames_6: 363 | switchPublisherNames_7: 364 | switchPublisherNames_8: 365 | switchPublisherNames_9: 366 | switchPublisherNames_10: 367 | switchPublisherNames_11: 368 | switchPublisherNames_12: 369 | switchPublisherNames_13: 370 | switchPublisherNames_14: 371 | switchIcons_0: {fileID: 0} 372 | switchIcons_1: {fileID: 0} 373 | switchIcons_2: {fileID: 0} 374 | switchIcons_3: {fileID: 0} 375 | switchIcons_4: {fileID: 0} 376 | switchIcons_5: {fileID: 0} 377 | switchIcons_6: {fileID: 0} 378 | switchIcons_7: {fileID: 0} 379 | switchIcons_8: {fileID: 0} 380 | switchIcons_9: {fileID: 0} 381 | switchIcons_10: {fileID: 0} 382 | switchIcons_11: {fileID: 0} 383 | switchIcons_12: {fileID: 0} 384 | switchIcons_13: {fileID: 0} 385 | switchIcons_14: {fileID: 0} 386 | switchSmallIcons_0: {fileID: 0} 387 | switchSmallIcons_1: {fileID: 0} 388 | switchSmallIcons_2: {fileID: 0} 389 | switchSmallIcons_3: {fileID: 0} 390 | switchSmallIcons_4: {fileID: 0} 391 | switchSmallIcons_5: {fileID: 0} 392 | switchSmallIcons_6: {fileID: 0} 393 | switchSmallIcons_7: {fileID: 0} 394 | switchSmallIcons_8: {fileID: 0} 395 | switchSmallIcons_9: {fileID: 0} 396 | switchSmallIcons_10: {fileID: 0} 397 | switchSmallIcons_11: {fileID: 0} 398 | switchSmallIcons_12: {fileID: 0} 399 | switchSmallIcons_13: {fileID: 0} 400 | switchSmallIcons_14: {fileID: 0} 401 | switchManualHTML: 402 | switchAccessibleURLs: 403 | switchLegalInformation: 404 | switchMainThreadStackSize: 1048576 405 | switchPresenceGroupId: 406 | switchLogoHandling: 0 407 | switchReleaseVersion: 0 408 | switchDisplayVersion: 1.0.0 409 | switchStartupUserAccount: 0 410 | switchTouchScreenUsage: 0 411 | switchSupportedLanguagesMask: 0 412 | switchLogoType: 0 413 | switchApplicationErrorCodeCategory: 414 | switchUserAccountSaveDataSize: 0 415 | switchUserAccountSaveDataJournalSize: 0 416 | switchApplicationAttribute: 0 417 | switchCardSpecSize: -1 418 | switchCardSpecClock: -1 419 | switchRatingsMask: 0 420 | switchRatingsInt_0: 0 421 | switchRatingsInt_1: 0 422 | switchRatingsInt_2: 0 423 | switchRatingsInt_3: 0 424 | switchRatingsInt_4: 0 425 | switchRatingsInt_5: 0 426 | switchRatingsInt_6: 0 427 | switchRatingsInt_7: 0 428 | switchRatingsInt_8: 0 429 | switchRatingsInt_9: 0 430 | switchRatingsInt_10: 0 431 | switchRatingsInt_11: 0 432 | switchLocalCommunicationIds_0: 433 | switchLocalCommunicationIds_1: 434 | switchLocalCommunicationIds_2: 435 | switchLocalCommunicationIds_3: 436 | switchLocalCommunicationIds_4: 437 | switchLocalCommunicationIds_5: 438 | switchLocalCommunicationIds_6: 439 | switchLocalCommunicationIds_7: 440 | switchParentalControl: 0 441 | switchAllowsScreenshot: 1 442 | switchAllowsVideoCapturing: 1 443 | switchAllowsRuntimeAddOnContentInstall: 0 444 | switchDataLossConfirmation: 0 445 | switchUserAccountLockEnabled: 0 446 | switchSystemResourceMemory: 16777216 447 | switchSupportedNpadStyles: 3 448 | switchNativeFsCacheSize: 32 449 | switchIsHoldTypeHorizontal: 0 450 | switchSupportedNpadCount: 8 451 | switchSocketConfigEnabled: 0 452 | switchTcpInitialSendBufferSize: 32 453 | switchTcpInitialReceiveBufferSize: 64 454 | switchTcpAutoSendBufferSizeMax: 256 455 | switchTcpAutoReceiveBufferSizeMax: 256 456 | switchUdpSendBufferSize: 9 457 | switchUdpReceiveBufferSize: 42 458 | switchSocketBufferEfficiency: 4 459 | switchSocketInitializeEnabled: 1 460 | switchNetworkInterfaceManagerInitializeEnabled: 1 461 | switchPlayerConnectionEnabled: 1 462 | ps4NPAgeRating: 12 463 | ps4NPTitleSecret: 464 | ps4NPTrophyPackPath: 465 | ps4ParentalLevel: 11 466 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 467 | ps4Category: 0 468 | ps4MasterVersion: 01.00 469 | ps4AppVersion: 01.00 470 | ps4AppType: 0 471 | ps4ParamSfxPath: 472 | ps4VideoOutPixelFormat: 0 473 | ps4VideoOutInitialWidth: 1920 474 | ps4VideoOutBaseModeInitialWidth: 1920 475 | ps4VideoOutReprojectionRate: 60 476 | ps4PronunciationXMLPath: 477 | ps4PronunciationSIGPath: 478 | ps4BackgroundImagePath: 479 | ps4StartupImagePath: 480 | ps4StartupImagesFolder: 481 | ps4IconImagesFolder: 482 | ps4SaveDataImagePath: 483 | ps4SdkOverride: 484 | ps4BGMPath: 485 | ps4ShareFilePath: 486 | ps4ShareOverlayImagePath: 487 | ps4PrivacyGuardImagePath: 488 | ps4NPtitleDatPath: 489 | ps4RemotePlayKeyAssignment: -1 490 | ps4RemotePlayKeyMappingDir: 491 | ps4PlayTogetherPlayerCount: 0 492 | ps4EnterButtonAssignment: 1 493 | ps4ApplicationParam1: 0 494 | ps4ApplicationParam2: 0 495 | ps4ApplicationParam3: 0 496 | ps4ApplicationParam4: 0 497 | ps4DownloadDataSize: 0 498 | ps4GarlicHeapSize: 2048 499 | ps4ProGarlicHeapSize: 2560 500 | playerPrefsMaxSize: 32768 501 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ 502 | ps4pnSessions: 1 503 | ps4pnPresence: 1 504 | ps4pnFriends: 1 505 | ps4pnGameCustomData: 1 506 | playerPrefsSupport: 0 507 | enableApplicationExit: 0 508 | resetTempFolder: 1 509 | restrictedAudioUsageRights: 0 510 | ps4UseResolutionFallback: 0 511 | ps4ReprojectionSupport: 0 512 | ps4UseAudio3dBackend: 0 513 | ps4SocialScreenEnabled: 0 514 | ps4ScriptOptimizationLevel: 0 515 | ps4Audio3dVirtualSpeakerCount: 14 516 | ps4attribCpuUsage: 0 517 | ps4PatchPkgPath: 518 | ps4PatchLatestPkgPath: 519 | ps4PatchChangeinfoPath: 520 | ps4PatchDayOne: 0 521 | ps4attribUserManagement: 0 522 | ps4attribMoveSupport: 0 523 | ps4attrib3DSupport: 0 524 | ps4attribShareSupport: 0 525 | ps4attribExclusiveVR: 0 526 | ps4disableAutoHideSplash: 0 527 | ps4videoRecordingFeaturesUsed: 0 528 | ps4contentSearchFeaturesUsed: 0 529 | ps4attribEyeToEyeDistanceSettingVR: 0 530 | ps4IncludedModules: [] 531 | monoEnv: 532 | splashScreenBackgroundSourceLandscape: {fileID: 0} 533 | splashScreenBackgroundSourcePortrait: {fileID: 0} 534 | blurSplashScreenBackground: 1 535 | spritePackerPolicy: 536 | webGLMemorySize: 16 537 | webGLExceptionSupport: 1 538 | webGLNameFilesAsHashes: 0 539 | webGLDataCaching: 1 540 | webGLDebugSymbols: 0 541 | webGLEmscriptenArgs: 542 | webGLModulesDirectory: 543 | webGLTemplate: APPLICATION:Default 544 | webGLAnalyzeBuildSize: 0 545 | webGLUseEmbeddedResources: 0 546 | webGLCompressionFormat: 1 547 | webGLLinkerTarget: 1 548 | webGLThreadsSupport: 0 549 | webGLWasmStreaming: 0 550 | scriptingDefineSymbols: {} 551 | platformArchitecture: {} 552 | scriptingBackend: 553 | Standalone: 0 554 | il2cppCompilerConfiguration: {} 555 | managedStrippingLevel: {} 556 | incrementalIl2cppBuild: {} 557 | allowUnsafeCode: 0 558 | additionalIl2CppArgs: 559 | scriptingRuntimeVersion: 1 560 | gcIncremental: 0 561 | gcWBarrierValidation: 0 562 | apiCompatibilityLevelPerPlatform: 563 | Standalone: 3 564 | m_RenderingPath: 1 565 | m_MobileRenderingPath: 1 566 | metroPackageName: Template_3D 567 | metroPackageVersion: 568 | metroCertificatePath: 569 | metroCertificatePassword: 570 | metroCertificateSubject: 571 | metroCertificateIssuer: 572 | metroCertificateNotAfter: 0000000000000000 573 | metroApplicationDescription: Template_3D 574 | wsaImages: {} 575 | metroTileShortName: 576 | metroTileShowName: 0 577 | metroMediumTileShowName: 0 578 | metroLargeTileShowName: 0 579 | metroWideTileShowName: 0 580 | metroSupportStreamingInstall: 0 581 | metroLastRequiredScene: 0 582 | metroDefaultTileSize: 1 583 | metroTileForegroundText: 2 584 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 585 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 586 | a: 1} 587 | metroSplashScreenUseBackgroundColor: 0 588 | platformCapabilities: {} 589 | metroTargetDeviceFamilies: {} 590 | metroFTAName: 591 | metroFTAFileTypes: [] 592 | metroProtocolName: 593 | XboxOneProductId: 594 | XboxOneUpdateKey: 595 | XboxOneSandboxId: 596 | XboxOneContentId: 597 | XboxOneTitleId: 598 | XboxOneSCId: 599 | XboxOneGameOsOverridePath: 600 | XboxOnePackagingOverridePath: 601 | XboxOneAppManifestOverridePath: 602 | XboxOneVersion: 1.0.0.0 603 | XboxOnePackageEncryption: 0 604 | XboxOnePackageUpdateGranularity: 2 605 | XboxOneDescription: 606 | XboxOneLanguage: 607 | - enus 608 | XboxOneCapability: [] 609 | XboxOneGameRating: {} 610 | XboxOneIsContentPackage: 0 611 | XboxOneEnableGPUVariability: 1 612 | XboxOneSockets: {} 613 | XboxOneSplashScreen: {fileID: 0} 614 | XboxOneAllowedProductIds: [] 615 | XboxOnePersistentLocalStorageSize: 0 616 | XboxOneXTitleMemory: 8 617 | xboxOneScriptCompiler: 1 618 | XboxOneOverrideIdentityName: 619 | vrEditorSettings: 620 | daydream: 621 | daydreamIconForeground: {fileID: 0} 622 | daydreamIconBackground: {fileID: 0} 623 | cloudServicesEnabled: 624 | UNet: 1 625 | luminIcon: 626 | m_Name: 627 | m_ModelFolderPath: 628 | m_PortalFolderPath: 629 | luminCert: 630 | m_CertPath: 631 | m_SignPackage: 1 632 | luminIsChannelApp: 0 633 | luminVersion: 634 | m_VersionCode: 1 635 | m_VersionName: 636 | facebookSdkVersion: 7.9.4 637 | facebookAppId: 638 | facebookCookies: 1 639 | facebookLogging: 1 640 | facebookStatus: 1 641 | facebookXfbml: 0 642 | facebookFrictionlessRequests: 1 643 | apiCompatibilityLevel: 6 644 | cloudProjectId: 645 | framebufferDepthMemorylessMode: 0 646 | projectName: 647 | organizationId: 648 | cloudEnabled: 0 649 | enableNativePlatformBackendsForNewInputSystem: 0 650 | disableOldInputManagerSupport: 0 651 | legacyClampBlendShapeWeights: 1 652 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.3.0f6 2 | m_EditorVersionWithRevision: 2019.3.0f6 (27ab2135bccf) 3 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 5 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Very Low 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | blendWeights: 1 22 | textureQuality: 1 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.3 31 | maximumLODLevel: 0 32 | streamingMipmapsActive: 0 33 | streamingMipmapsAddAllCameras: 1 34 | streamingMipmapsMemoryBudget: 512 35 | streamingMipmapsRenderersPerFrame: 512 36 | streamingMipmapsMaxLevelReduction: 2 37 | streamingMipmapsMaxFileIORequests: 1024 38 | particleRaycastBudget: 4 39 | asyncUploadTimeSlice: 2 40 | asyncUploadBufferSize: 16 41 | asyncUploadPersistentBuffer: 1 42 | resolutionScalingFixedDPIFactor: 1 43 | excludedTargetPlatforms: [] 44 | - serializedVersion: 2 45 | name: Low 46 | pixelLightCount: 0 47 | shadows: 0 48 | shadowResolution: 0 49 | shadowProjection: 1 50 | shadowCascades: 1 51 | shadowDistance: 20 52 | shadowNearPlaneOffset: 3 53 | shadowCascade2Split: 0.33333334 54 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 55 | shadowmaskMode: 0 56 | blendWeights: 2 57 | textureQuality: 0 58 | anisotropicTextures: 0 59 | antiAliasing: 0 60 | softParticles: 0 61 | softVegetation: 0 62 | realtimeReflectionProbes: 0 63 | billboardsFaceCameraPosition: 0 64 | vSyncCount: 0 65 | lodBias: 0.4 66 | maximumLODLevel: 0 67 | streamingMipmapsActive: 0 68 | streamingMipmapsAddAllCameras: 1 69 | streamingMipmapsMemoryBudget: 512 70 | streamingMipmapsRenderersPerFrame: 512 71 | streamingMipmapsMaxLevelReduction: 2 72 | streamingMipmapsMaxFileIORequests: 1024 73 | particleRaycastBudget: 16 74 | asyncUploadTimeSlice: 2 75 | asyncUploadBufferSize: 16 76 | asyncUploadPersistentBuffer: 1 77 | resolutionScalingFixedDPIFactor: 1 78 | excludedTargetPlatforms: [] 79 | - serializedVersion: 2 80 | name: Medium 81 | pixelLightCount: 1 82 | shadows: 1 83 | shadowResolution: 0 84 | shadowProjection: 1 85 | shadowCascades: 1 86 | shadowDistance: 20 87 | shadowNearPlaneOffset: 3 88 | shadowCascade2Split: 0.33333334 89 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 90 | shadowmaskMode: 0 91 | blendWeights: 2 92 | textureQuality: 0 93 | anisotropicTextures: 1 94 | antiAliasing: 0 95 | softParticles: 0 96 | softVegetation: 0 97 | realtimeReflectionProbes: 0 98 | billboardsFaceCameraPosition: 0 99 | vSyncCount: 1 100 | lodBias: 0.7 101 | maximumLODLevel: 0 102 | streamingMipmapsActive: 0 103 | streamingMipmapsAddAllCameras: 1 104 | streamingMipmapsMemoryBudget: 512 105 | streamingMipmapsRenderersPerFrame: 512 106 | streamingMipmapsMaxLevelReduction: 2 107 | streamingMipmapsMaxFileIORequests: 1024 108 | particleRaycastBudget: 64 109 | asyncUploadTimeSlice: 2 110 | asyncUploadBufferSize: 16 111 | asyncUploadPersistentBuffer: 1 112 | resolutionScalingFixedDPIFactor: 1 113 | excludedTargetPlatforms: [] 114 | - serializedVersion: 2 115 | name: High 116 | pixelLightCount: 2 117 | shadows: 2 118 | shadowResolution: 1 119 | shadowProjection: 1 120 | shadowCascades: 2 121 | shadowDistance: 40 122 | shadowNearPlaneOffset: 3 123 | shadowCascade2Split: 0.33333334 124 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 125 | shadowmaskMode: 1 126 | blendWeights: 2 127 | textureQuality: 0 128 | anisotropicTextures: 1 129 | antiAliasing: 0 130 | softParticles: 0 131 | softVegetation: 1 132 | realtimeReflectionProbes: 1 133 | billboardsFaceCameraPosition: 1 134 | vSyncCount: 1 135 | lodBias: 1 136 | maximumLODLevel: 0 137 | streamingMipmapsActive: 0 138 | streamingMipmapsAddAllCameras: 1 139 | streamingMipmapsMemoryBudget: 512 140 | streamingMipmapsRenderersPerFrame: 512 141 | streamingMipmapsMaxLevelReduction: 2 142 | streamingMipmapsMaxFileIORequests: 1024 143 | particleRaycastBudget: 256 144 | asyncUploadTimeSlice: 2 145 | asyncUploadBufferSize: 16 146 | asyncUploadPersistentBuffer: 1 147 | resolutionScalingFixedDPIFactor: 1 148 | excludedTargetPlatforms: [] 149 | - serializedVersion: 2 150 | name: Very High 151 | pixelLightCount: 3 152 | shadows: 2 153 | shadowResolution: 2 154 | shadowProjection: 1 155 | shadowCascades: 2 156 | shadowDistance: 70 157 | shadowNearPlaneOffset: 3 158 | shadowCascade2Split: 0.33333334 159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 160 | shadowmaskMode: 1 161 | blendWeights: 4 162 | textureQuality: 0 163 | anisotropicTextures: 2 164 | antiAliasing: 2 165 | softParticles: 1 166 | softVegetation: 1 167 | realtimeReflectionProbes: 1 168 | billboardsFaceCameraPosition: 1 169 | vSyncCount: 1 170 | lodBias: 1.5 171 | maximumLODLevel: 0 172 | streamingMipmapsActive: 0 173 | streamingMipmapsAddAllCameras: 1 174 | streamingMipmapsMemoryBudget: 512 175 | streamingMipmapsRenderersPerFrame: 512 176 | streamingMipmapsMaxLevelReduction: 2 177 | streamingMipmapsMaxFileIORequests: 1024 178 | particleRaycastBudget: 1024 179 | asyncUploadTimeSlice: 2 180 | asyncUploadBufferSize: 16 181 | asyncUploadPersistentBuffer: 1 182 | resolutionScalingFixedDPIFactor: 1 183 | excludedTargetPlatforms: [] 184 | - serializedVersion: 2 185 | name: Ultra 186 | pixelLightCount: 4 187 | shadows: 2 188 | shadowResolution: 2 189 | shadowProjection: 1 190 | shadowCascades: 4 191 | shadowDistance: 150 192 | shadowNearPlaneOffset: 3 193 | shadowCascade2Split: 0.33333334 194 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 195 | shadowmaskMode: 1 196 | blendWeights: 4 197 | textureQuality: 0 198 | anisotropicTextures: 2 199 | antiAliasing: 2 200 | softParticles: 1 201 | softVegetation: 1 202 | realtimeReflectionProbes: 1 203 | billboardsFaceCameraPosition: 1 204 | vSyncCount: 1 205 | lodBias: 2 206 | maximumLODLevel: 0 207 | streamingMipmapsActive: 0 208 | streamingMipmapsAddAllCameras: 1 209 | streamingMipmapsMemoryBudget: 512 210 | streamingMipmapsRenderersPerFrame: 512 211 | streamingMipmapsMaxLevelReduction: 2 212 | streamingMipmapsMaxFileIORequests: 1024 213 | particleRaycastBudget: 4096 214 | asyncUploadTimeSlice: 2 215 | asyncUploadBufferSize: 16 216 | asyncUploadPersistentBuffer: 1 217 | resolutionScalingFixedDPIFactor: 1 218 | excludedTargetPlatforms: [] 219 | m_PerPlatformDefaultQuality: 220 | Android: 2 221 | Lumin: 5 222 | Nintendo 3DS: 5 223 | Nintendo Switch: 5 224 | PS4: 5 225 | PSP2: 2 226 | Standalone: 5 227 | WebGL: 3 228 | Windows Store Apps: 5 229 | XboxOne: 5 230 | iPhone: 2 231 | tvOS: 2 232 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_RenderPipeSettingsPath: 10 | m_FixedTimeStep: 0.016666668 11 | m_MaxDeltaTime: 0.05 12 | -------------------------------------------------------------------------------- /Unity/ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | Thanks for considering contributing to Auto Preset! Read the guidelines below before you submit an issue or create a PR. 2 | 3 | # Project structure 4 | The project structure is split between several branches 5 | * **master:** This is the stable branch and all releases/packages are generated from this. 6 | * **develop:** This is the primary development branch which all PRs should be made to and is generally considered less-stable. This is occasionally merged into **master** and a new release tag/package is generated from this. 7 | * **releases/stable:** This branch is orphaned and contains only the package contents for AutoPreset. This is updated in sync with tagged releases on **master** and each commit that changes these contents should result in the version in **package.json** being changed. 8 | 9 | This structure allows for ease of development and quick testing via **master** or **develop**, but clear isolation and separation between the package distribution via **releases/stable**. 10 | 11 | # Pull requests 12 | Pull requests should be made to the [develop branch](https://github.com/jeffcampbellmakesgames/unity-auto-preset/tree/develop). The types of pull requests that are highly desirable are generally: 13 | * Bug fixes 14 | * Feature improvements addressing issues discussed on the GitHub repository. This allows for wider discussion of those issues prior to any implementation and has the potential to help filter features or changes that are undesirable before time is spent working on them. 15 | 16 | ## Performance Issues and Pull Requests 17 | For any issues or pull requests regarding performance improvements, at minimum please include details and screenshots describing the issue in as much detail as possible and if relevant showing a before and after profile. Better yet, if you can provide a reproducible example that can be used to demonstrate the issue it will be much more likely that the issue is addressed quickly. 18 | 19 | # Style Guide 20 | 21 | ## Language Usage 22 | * Mark closed types as sealed to enable proper devirtualization (see [here](https://blogs.unity3d.com/2016/07/26/il2cpp-optimizations-devirtualization/) for more info). 23 | * Avoid LINQ usage for runtime usage except where absolutely possible (`ToList` or `ToArray` for example) and avoid using `ForEach`. Using these methods creates easily avoidable garbage (in newer versions of Unity >= 5.6 this is situational to the Collection or if its being used via an interface, but easy to avoid edge cases by not using at all). Editor usage is another story as performance is not as generally important and non-usage of these can be relaxed. 24 | 25 | ## Layout 26 | There is an `.editorconfig` at the root of the repository that can be used by most IDEs to help ensure these settings are automatically applied. 27 | * **Indentation:** 1 tab = 4 spaces (tab character) 28 | * **Desired width:** 120-130 characters max per line 29 | * **Line Endings:** Unix (LF), with a new-line at the end of each file. 30 | * **White Space:** Trim empty whitespace from the ends of lines. 31 | 32 | ## Naming and Formatting 33 | | Object Name | Notation | Example | 34 | | ----------- | -------- | ------- | 35 | | Namespaces | PascalCase | `JCMG.AutoPreset.Editor` | 36 | | Classes | PascalCase | `SemVersion` | 37 | | Methods | PascalCase | `ParseVersion` | 38 | | Method arguments | camelCase | `oldValue` | 39 | | Properties | PascalCase | `Value` | 40 | | Public fields | camelCase | `value` | 41 | | Private fields | _camelCase | `_value` | 42 | | Constants | All Upper Caps with Snake case | `DEFAULT_VERSION` | 43 | | Inline variables | camelCase | `value` | 44 | 45 | ## Structure 46 | * Follow good encapsulation principles and try to limit exposing fields directly as public; unless necessary everything should be marked as private/protected unless necessary. Where public access to a field is needed, use a public property instead. 47 | * Always order access from most-accessible to least (i.e, `public` to `private`). 48 | * Where classes or methods are not intended for use by a user, mark these as `internal`. 49 | * Order class structure like so: 50 | * Namespace 51 | * Internal classes 52 | * Properties 53 | * Fields 54 | * Events 55 | * Unity Methods 56 | * Primary Methods 57 | * Helper Methods 58 | * Lines of code that are generally longer than 120-130 characters should generally be broken out into multiple lines. For example, instead of: 59 | 60 | `public bool SomeMethodWithManyParams(int param1, float param2, List param3, out int param4, out int param5)...` 61 | 62 | do 63 | 64 | ``` 65 | public bool SomeMethodWithManyParams( 66 | int param1, 67 | float param2, 68 | List param3, 69 | out int param4, 70 | out int param5)... 71 | ``` 72 | 73 | ## Example Formatting 74 | ``` 75 | using System; 76 | using UnityEngine; 77 | 78 | namespace Example 79 | { 80 | public class Foo : MonoBehavior 81 | { 82 | public int SomeValue { get { return _someValue; } } 83 | 84 | [SerializeField] 85 | private int _someValue; 86 | 87 | private const string WARNING = "Somethings wrong!"; 88 | 89 | private void Update() 90 | { 91 | // Do work 92 | Debug.Log(Warning); 93 | } 94 | } 95 | } 96 | ``` -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Jeff Campbell 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | 2 | GitHub issues 3 | GitHub 4 | [![Twitter Follow](https://img.shields.io/badge/twitter-%40stampyturtle-blue.svg?style=flat&label=Follow)](https://twitter.com/stampyturtle) 5 | 6 | # Auto Preset 7 | 8 | ## About 9 | Auto Preset enables scriptable configuration of assets from the Unity Editor without requiring any additional code. 10 | 11 | ## Overview 12 | `AutoPresetConfig` is a simple Scriptable Object derived class that holds a reference to a native Unity `Preset` asset; these assets can be created from any native Unity asset or component, containing the serialized settings of that asset in a dedicated Scriptable Object. Any asset imported in the same folder as a `AutoPresetConfig` asset(s) will check to see if any of them apply to that type of asset. If they do, the first applicable `AutoPresetConfig` asset found will automatically be applied to that newly imported asset. 13 | 14 | ## Installing AutoPresets 15 | Using this library in your project can be done in three ways: 16 | 17 | ### Install via OpenUPM 18 | The package is available on the [openupm registry](https://openupm.com/). It's recommended to install it via [openupm-cli](https://github.com/openupm/openupm-cli). 19 | 20 | ``` 21 | openupm add com.jeffcampbellmakesgames.autopresets 22 | ``` 23 | 24 | ### Install via GIT URL 25 | Using the native Unity Package Manager introduced in 2017.2, you can add this library as a package by modifying your `manifest.json` file found at `/ProjectName/Packages/manifest.json` to include it as a dependency. See the example below on how to reference it. 26 | 27 | ``` 28 | { 29 | "dependencies": { 30 | ... 31 | "com.jeffcampbellmakesgames.autopresets" : "https://github.com/jeffcampbellmakesgames/unity-auto-preset.git#release/stable", 32 | ... 33 | } 34 | } 35 | ``` 36 | 37 | ### Install via classic `.UnityPackage` 38 | The latest release can be found [here](https://github.com/jeffcampbellmakesgames/nodey/releases) as a UnityPackage file that can be downloaded and imported directly into your project's Assets folder. 39 | 40 | ## Use-Cases and Usage 41 | This type of automatic, scriptable configuration of assets can be used to reduce the boilerplate, often tedious work of configuring newly imported assets and can prevent errors from doing so manually. 42 | 43 | For example, a group of textures may require specific compression settings and properties in order to be rendered without artifacts by a shader. This may require manual tweaking to elicit what those settings are and apply them manually from that point on, requiring time and energy to make sure all of the settings are correct for any new textures and inviting human error. 44 | 45 | ### Creating a AutoPresetConfig 46 | 47 | Instead, follow these steps to have those settings applied automatically every time a texture is imported into a specific folder. 48 | 49 | * Configure one texture using the proper settings and save those settings as a `Preset` by clicking the dial icon at the top right of its inspector. This allows you to save those settings as a `Preset`. 50 | 51 | ![Preset Button on Inspector](https://github.com/jeffcampbellmakesgames/unity-auto-preset/blob/develop/Images/PresetButtonOnInspector.png) 52 | 53 | * Create a `AutoPresetConfig` asset in that folder by right-clicking on the folder in the project view and selecting `Create=>JCMG=>AutoPreset=>AutoPresetConfig` and give it an appropriate name. 54 | 55 | ![Preset Button on Inspector](https://github.com/jeffcampbellmakesgames/unity-auto-preset/blob/develop/Images/AutoPresetConfigCreateMenu.png) 56 | 57 | * Assign that newly created `Preset` asset to the `AutoPresetConfig` in its inspector. 58 | 59 | ![Preset Button on Inspector](https://github.com/jeffcampbellmakesgames/unity-auto-preset/blob/develop/Images/AutoPresetConfigInspector.png) 60 | 61 | ### Manually Triggering Asset Updates 62 | It may be convenient at times to update a `Preset` and apply any changes made to any assets that would be affected by it manually. There are two ways to do this: 63 | 64 | * Right-click the `Preset` and select the menu-item `AutoPresets=>Reimport linked assets`. This will find any `AutoPresetConfig` instances in the project that reference that `Preset` and reimport any applicable assets. 65 | * Select a specific `AutoPresetConfig` asset in the project and select the `Reimport linked assets` button underneath `Actions`. This will reimport any applicable assets in the same folder. 66 | 67 | 68 | ### Supported Asset Types 69 | You can use AutoPresets to automatically configure any of the supported asset types below: 70 | 71 | * Textures 72 | * AudioClips 73 | * Materials 74 | * Cubemaps 75 | * Animations 76 | * Assemblies/Plugins 77 | * Models 78 | * SpeedTree 79 | * Any other Unity or custom assets that can generate a `Preset`. 80 | 81 | ## Contribution 82 | If you find any bugs or if there is a new feature you desire, please create a new issue [here](https://github.com/jeffcampbellmakesgames/unity-auto-preset/issues) or add your comments/thoughts to a related existing issue. If you are interested in contributing a PR for either of these types of issues, read the contribution guidelines here first and please do so! 83 | 84 | ## Support 85 | If this is useful to you and/or you’d like to see future development and more tools in the future, please consider supporting it either by contributing to the Github projects (submitting bug reports or features,pull requests) or by buying me coffee using any of the links below. Every little bit helps! 86 | 87 | [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I3I2W7GX) 88 | --------------------------------------------------------------------------------