├── Samples~ ├── Folders │ ├── None.png │ ├── Folder_Black.png │ ├── Folder_Cyan.png │ ├── Folder_Green.png │ ├── Folder_Grey.png │ ├── Folder_Lime.png │ ├── Folder_Orange.png │ ├── Folder_Pink.png │ ├── Folder_Purple.png │ ├── Folder_White.png │ ├── Folder_Yellow.png │ ├── Folder_Default.png │ ├── Folder_LightRed.png │ ├── Folder_SkyBlue.png │ ├── Folder_LightBlue.png │ ├── Folder_LightGrey.png │ ├── Folder_LightPink.png │ └── Folder_Turquoise.png └── Icons │ └── Icon_Empty.png ├── FolderIcons ├── Folders │ ├── None.png │ ├── Folder_Black.png │ ├── Folder_Cyan.png │ ├── Folder_Green.png │ ├── Folder_Grey.png │ ├── Folder_Lime.png │ ├── Folder_Pink.png │ ├── Folder_White.png │ ├── Folder_Default.png │ ├── Folder_LightRed.png │ ├── Folder_Orange.png │ ├── Folder_Purple.png │ ├── Folder_SkyBlue.png │ ├── Folder_Yellow.png │ ├── Folder_LightBlue.png │ ├── Folder_LightGrey.png │ ├── Folder_LightPink.png │ ├── Folder_Turquoise.png │ ├── Folder_Black.png.meta │ ├── Folder_Cyan.png.meta │ ├── Folder_Green.png.meta │ ├── Folder_Grey.png.meta │ ├── Folder_Lime.png.meta │ ├── Folder_Orange.png.meta │ ├── Folder_Pink.png.meta │ ├── Folder_Purple.png.meta │ ├── Folder_SkyBlue.png.meta │ ├── Folder_White.png.meta │ ├── Folder_Yellow.png.meta │ ├── Folder_LightBlue.png.meta │ ├── Folder_LightGrey.png.meta │ ├── Folder_LightPink.png.meta │ ├── Folder_LightRed.png.meta │ ├── Folder_Turquoise.png.meta │ ├── Folder_Default.png.meta │ └── None.png.meta ├── Icons │ ├── Icon_Empty.png │ └── Icon_Empty.png.meta ├── Editor.meta ├── Folders.meta ├── Icons.meta └── Editor │ ├── FolderIconsEditor.asmdef.meta │ ├── FolderIcons.cs.meta │ ├── FolderIconGUI.cs.meta │ ├── FolderIconConstants.cs.meta │ ├── FolderIconSettings.cs.meta │ ├── FolderIconSettingsEditor.cs.meta │ ├── FolderIconsEditor.asmdef │ ├── FolderIconSettings.cs │ ├── FolderIconConstants.cs │ ├── FolderIconGUI.cs │ ├── FolderIcons.cs │ └── FolderIconSettingsEditor.cs ├── LICENSE.meta ├── README.md.meta ├── package.json.meta ├── FolderIcons.meta ├── package.json ├── LICENSE ├── .gitignore └── README.md /Samples~/Folders/None.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/None.png -------------------------------------------------------------------------------- /FolderIcons/Folders/None.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/None.png -------------------------------------------------------------------------------- /Samples~/Icons/Icon_Empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Icons/Icon_Empty.png -------------------------------------------------------------------------------- /FolderIcons/Icons/Icon_Empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Icons/Icon_Empty.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Black.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Cyan.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Green.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Grey.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Lime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Lime.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Orange.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Pink.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Purple.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_White.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_White.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Yellow.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Black.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Cyan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Cyan.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Green.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Grey.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Lime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Lime.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Pink.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_White.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_White.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Default.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_LightRed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_LightRed.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_SkyBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_SkyBlue.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Default.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_LightRed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_LightRed.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Orange.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Purple.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_SkyBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_SkyBlue.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Yellow.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_LightBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_LightBlue.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_LightGrey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_LightGrey.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_LightPink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_LightPink.png -------------------------------------------------------------------------------- /Samples~/Folders/Folder_Turquoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/Samples~/Folders/Folder_Turquoise.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_LightBlue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_LightBlue.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_LightGrey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_LightGrey.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_LightPink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_LightPink.png -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Turquoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/WooshiiDev/Unity-Folder-Icons/HEAD/FolderIcons/Folders/Folder_Turquoise.png -------------------------------------------------------------------------------- /LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1d97a16ab416ee141ab2c7160bf7a49e 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 107f8c6e3fc07aa42ae6153a8f8648c7 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c616f1a309d060f499c630fa5136762e 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /FolderIcons.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c6f279da33d11174f89028adae7fc4e4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FolderIcons/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 135803fa66499aa4e845f3e0d29f4b6a 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FolderIcons/Folders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0de40a265ffb51f40b1e6305e00c9a0d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FolderIcons/Icons.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 29ab480a66929344ca4aac9830a4a8e0 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIconsEditor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 73ba8640d6bc9e64f9dc424431b6b731 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIcons.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ea97ce8725f3d974f8357a162385fad1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIconGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 335bc32bc652d7f4d99cd7dae7212b4a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIconConstants.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fb255ac2e3e747b4dbfb65d13738c9c8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIconSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0be0684bc0644274383ab176323f4709 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIconSettingsEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0143459d5e876074faec6c800d875e79 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIconsEditor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FolderIconsEditor", 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 | "noEngineReferences": false 15 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.wooshii.foldericons", 3 | "displayName": "Folder Icons", 4 | "version": "0.1.3", 5 | "unity": "2019.3", 6 | "description": "Folder Icons add custom folder textures and overlays to the Project Window", 7 | "keywords": [ 8 | "project", 9 | "editor", 10 | "utility" 11 | ], 12 | "category": "Editor", 13 | "dependencies": {}, 14 | "samples": [ 15 | { 16 | "displayName": "Folder Textures", 17 | "description": "Provided coloured folder textures", 18 | "path": "Samples~/Folders" 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIconSettings.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEditor; 3 | using UnityEngine; 4 | 5 | namespace FolderIcons 6 | { 7 | [CreateAssetMenu (fileName = "Folder Icon Manager", menuName = "Scriptables/Others/Folder Manager")] 8 | public class FolderIconSettings : ScriptableObject 9 | { 10 | [Serializable] 11 | public class FolderIcon 12 | { 13 | public DefaultAsset folder; 14 | 15 | public Texture2D folderIcon; 16 | public Texture2D overlayIcon; 17 | } 18 | 19 | //Global Settings 20 | public bool showOverlay = true; 21 | 22 | public bool showCustomFolder = true; 23 | 24 | public FolderIcon[] icons = new FolderIcon[0]; 25 | } 26 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Damian Slocombe 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 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIconConstants.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace FolderIcons 5 | { 6 | /// 7 | /// Contains all constant data, values and colours FolderIcon requires 8 | /// 9 | internal static class FolderIconConstants 10 | { 11 | public static readonly string ASSET_DEFAULT_PATH = Application.dataPath; 12 | 13 | // Settings 14 | public const string FOLDER_TEXTURE_PATH = "Assets/ColouredFolders/Folders"; 15 | 16 | public const string ICONS_TEXTURE_PATH = "Assets/ColouredFolders/Icons"; 17 | 18 | public const string PREF_FOLDER = "FolderPlus_ShowCustomFolders"; 19 | public const string PREF_OVERLAY = "FolderPlus_ShowCustomIcons"; 20 | 21 | // GUI 22 | public const float MAX_TREE_WIDTH = 118f; 23 | 24 | public const float MAX_PROJECT_WIDTH = 96f; 25 | 26 | public const float MAX_TREE_HEIGHT = 16f; 27 | public const float MAX_PROJECT_HEIGHT = 110f; 28 | 29 | // Colours 30 | public static readonly Color SelectedColor = new Color (0.235f, 0.360f, 0.580f); 31 | 32 | public static Color BackgroundColour = EditorGUIUtility.isProSkin 33 | ? new Color32 (51, 51, 51, 255) 34 | : new Color32 (190, 190, 190, 255); 35 | } 36 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore scene/asset files as they're not required 2 | # Package will include the correct files out of the bat, but these are needed 3 | # to handle unity package importing correctly 4 | *.unity 5 | *.unity.meta 6 | *.asset 7 | *.asset.meta 8 | 9 | # The usual stuff 10 | /[Ll]ibrary/ 11 | /[Tt]emp/ 12 | /[Oo]bj/ 13 | /[Bb]uild/ 14 | /[Bb]uilds/ 15 | /[Ll]ogs/ 16 | /[Mm]emoryCaptures/ 17 | 18 | # Asset meta data should only be ignored when the corresponding asset is also ignored 19 | !/[Aa]ssets/**/*.meta 20 | 21 | # Uncomment this line if you wish to ignore the asset store tools plugin 22 | # /[Aa]ssets/AssetStoreTools* 23 | 24 | # Autogenerated Jetbrains Rider plugin 25 | [Aa]ssets/Plugins/Editor/JetBrains* 26 | 27 | # Visual Studio cache directory 28 | .vs/ 29 | 30 | # Gradle cache directory 31 | .gradle/ 32 | 33 | # Autogenerated VS/MD/Consulo solution and project files 34 | ExportedObj/ 35 | .consulo/ 36 | *.csproj 37 | *.unityproj 38 | *.sln 39 | *.suo 40 | *.tmp 41 | *.user 42 | *.userprefs 43 | *.pidb 44 | *.booproj 45 | *.svd 46 | *.pdb 47 | *.mdb 48 | *.opendb 49 | *.VC.db 50 | 51 | # Unity3D generated meta files 52 | *.pidb.meta 53 | *.pdb.meta 54 | *.mdb.meta 55 | 56 | # Unity3D generated file on crash reports 57 | sysinfo.txt 58 | 59 | # Builds 60 | *.apk 61 | *.unitypackage 62 | 63 | # Crashlytics generated file 64 | crashlytics-build.properties 65 | 66 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Black.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b1895b22a59355479bcd0173987b93d 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Cyan.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3ed3d37721d62d74fabe9c26f9e899b7 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Green.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d29c88e3045483e498119f35f0dbe298 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Grey.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b51c66d17912a0144bee4ddec18ab83c 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Lime.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c26ab15f039cf24c973010d915b6385 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Orange.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ef08b1710ef081f4ea3449da60385d92 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Pink.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9eb3abe27b751d940897ed27d44dccc6 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Purple.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 46d41996b69c9b64494d6a15cd676de9 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_SkyBlue.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 543f9e77e691c5e41af8c03cc62cb4ae 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_White.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 75edfcfa691bf9f4e897dc8ee2328a45 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Yellow.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 332af75304751a545b014b2d9a67f5c8 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_LightBlue.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e3c4ce93372247b4bb36ff97ae99888a 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_LightGrey.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b880d3dc10f17884491094efd5960b9c 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_LightPink.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d26d816f80371da4bae80a5ae15da00f 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_LightRed.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: cc08e386fb48b9e439c3a9bd99e3728e 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Turquoise.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5e419d773bca3740814f6236e92f59f 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 2 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | spriteSheet: 75 | serializedVersion: 2 76 | sprites: [] 77 | outline: [] 78 | physicsShape: [] 79 | bones: [] 80 | spriteID: 81 | internalID: 0 82 | vertices: [] 83 | indices: 84 | edges: [] 85 | weights: [] 86 | secondaryTextures: [] 87 | spritePackingTag: 88 | pSDRemoveMatte: 0 89 | pSDShowRemoveMatteOption: 0 90 | userData: 91 | assetBundleName: 92 | assetBundleVariant: 93 | -------------------------------------------------------------------------------- /FolderIcons/Folders/Folder_Default.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 454a68cff5f8c3c4a9c9d64d31cd11ec 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 2048 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 1 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 2048 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 1 80 | compressionQuality: 50 81 | crunchedCompression: 0 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | spriteSheet: 87 | serializedVersion: 2 88 | sprites: [] 89 | outline: [] 90 | physicsShape: [] 91 | bones: [] 92 | spriteID: 93 | internalID: 0 94 | vertices: [] 95 | indices: 96 | edges: [] 97 | weights: [] 98 | secondaryTextures: [] 99 | spritePackingTag: 100 | pSDRemoveMatte: 0 101 | pSDShowRemoveMatteOption: 0 102 | userData: 103 | assetBundleName: 104 | assetBundleVariant: 105 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIconGUI.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace FolderIcons 5 | { 6 | /// 7 | /// GUI Methods for Folder Icons. 8 | /// 9 | public static class FolderIconGUI 10 | { 11 | /// 12 | /// Draw the folder preview 13 | /// 14 | /// Rect to draw preview 15 | /// The folder texture 16 | /// The overlay texture 17 | public static void DrawFolderPreview(Rect rect, Texture folder, Texture overlay) 18 | { 19 | if (folder == null && overlay == null) 20 | { 21 | return; 22 | } 23 | 24 | if (folder != null) 25 | { 26 | GUI.DrawTexture (rect, folder, ScaleMode.ScaleToFit); 27 | } 28 | 29 | //Half size of overlay, and reposition to center 30 | rect.size *= 0.5f; 31 | rect.position += rect.size * 0.5f; 32 | 33 | if (overlay != null) 34 | { 35 | GUI.DrawTexture (rect, overlay, ScaleMode.ScaleToFit); 36 | } 37 | } 38 | 39 | /// 40 | /// Draw the folder texture and background rect if required 41 | /// 42 | /// Folder rect 43 | /// Folder texture 44 | /// The guid of the project fodler 45 | public static void DrawFolderTexture(Rect rect, Texture folder, string guid) 46 | { 47 | if (folder == null) 48 | { 49 | return; 50 | } 51 | 52 | EditorGUI.DrawRect (rect, FolderIconConstants.BackgroundColour); 53 | GUI.DrawTexture (rect, folder, ScaleMode.ScaleAndCrop); 54 | } 55 | 56 | /// 57 | /// Draw the folder overlay texture, given the folder rect 58 | /// 59 | /// Original rect of the folder 60 | /// Overlay Texture 61 | public static void DrawOverlayTexture(Rect rect, Texture overlay) 62 | { 63 | if (overlay == null) 64 | { 65 | return; 66 | } 67 | 68 | rect.size *= 0.5f; 69 | rect.position += rect.size * 0.5f; 70 | 71 | GUI.DrawTexture (rect, overlay); 72 | } 73 | 74 | /// 75 | /// Check if the current rect is the side view of folders 76 | /// 77 | /// Current rect 78 | public static bool IsSideView(Rect rect) 79 | { 80 | #if UNITY_2019_3_OR_NEWER 81 | return rect.x != 14; 82 | #else 83 | return rect.x != 13; 84 | #endif 85 | } 86 | 87 | /// 88 | /// Check if the current rect is in tree view 89 | /// 90 | /// Current rect 91 | public static bool IsTreeView(Rect rect) 92 | { 93 | return rect.width > rect.height; 94 | } 95 | } 96 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 |
3 | 4 | Unity-Folder-Icons 5 |

6 | 7 |

Lightweight Unity Utility adding coloured folders and icons to your project window

8 | 9 |

10 | 11 | Unity Download Link 12 | 13 | License MIT 14 |

15 | 16 |

17 | About • 18 | Installation • 19 | Features • 20 | Support • 21 | License 22 |

23 | 24 | ## About 25 | 26 | A small extension for unity adding custom folder textures and overlay icons. This came about after discussing the limitations of what Unity already provides in terms of customisation in it's Editor. 27 | 28 | Some of the code does need refined/seperated (more so for future additions), and there are many, many features I'd like to personally add and see improved when I work on this. 29 | 30 | ## Installation 31 | 32 |

33 | ReleasesUnity PackageZip 34 |

35 | 36 | 37 | 38 | FolderIcons can also be installed directly through the git url 39 | ``` 40 | https://github.com/WooshiiDev/Unity-Folder-Icons.git 41 | ``` 42 | 43 | **Note:**
44 | If installed through git, to access the premade folder textures, there will be an import sample button in the package manager. 45 |
After imported, the textures will have their alpha transparency off and will need to be turned on manually.
A fix for this will be applied soon. 46 | 47 |

48 | 49 |

50 | 51 | ## Features 52 | 53 | Currently, Folder Icons primary features are: 54 | 55 | ### Folder Custom Textures/Icons 56 | 57 | Project Folders can have custom icons and textures applied through the Folder Icons ScriptableObject. 58 | You can add and remove folders from the list displayed at the top of the settings. 59 | 60 |

61 | Custom Folder/Icon Textures 62 |

63 | 64 | ### Flat Texture Creator 65 | 66 | Generally, you don't want folders to be noisey or overly messy. Directories need to be clean and appealing to look at. 67 |

68 | The texture creator, will take in a texture, and apply a custom colour to all visible pixels in respect to the alpha. These textures can then be saved and used for folders or icons. 69 | 70 |

71 | Texture Creator 72 |

73 | 74 | ## Support 75 | 76 | If you ever come across any issues please feel free to report to the [Issues](https://github.com/WooshiiDev/Unity-Folder-Icons/issues) page on this repository. All feedback is appreciated, and will be 77 | taken on board for any future updates. 78 | 79 | ## License 80 | 81 | MIT License 82 | 83 | https://github.com/WooshiiDev/Unity-Folder-Icons/blob/main/LICENSE 84 | -------------------------------------------------------------------------------- /FolderIcons/Folders/None.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bc7ee32610862694fb5b110afcbadef1 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 2 35 | aniso: 2 36 | mipBias: -100 37 | wrapU: 0 38 | wrapV: 0 39 | wrapW: 0 40 | nPOTScale: 0 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 128 65 | resizeAlgorithm: 1 66 | textureFormat: -1 67 | textureCompression: 0 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 128 77 | resizeAlgorithm: 1 78 | textureFormat: -1 79 | textureCompression: 0 80 | compressionQuality: 50 81 | crunchedCompression: 0 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: iPhone 88 | maxTextureSize: 8192 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 0 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | - serializedVersion: 3 99 | buildTarget: Android 100 | maxTextureSize: 8192 101 | resizeAlgorithm: 0 102 | textureFormat: -1 103 | textureCompression: 1 104 | compressionQuality: 50 105 | crunchedCompression: 0 106 | allowsAlphaSplitting: 0 107 | overridden: 0 108 | androidETC2FallbackOverride: 0 109 | forceMaximumCompressionQuality_BC6H_BC7: 0 110 | spriteSheet: 111 | serializedVersion: 2 112 | sprites: [] 113 | outline: [] 114 | physicsShape: [] 115 | bones: [] 116 | spriteID: 117 | internalID: 0 118 | vertices: [] 119 | indices: 120 | edges: [] 121 | weights: [] 122 | secondaryTextures: [] 123 | spritePackingTag: 124 | pSDRemoveMatte: 0 125 | pSDShowRemoveMatteOption: 0 126 | userData: 127 | assetBundleName: 128 | assetBundleVariant: 129 | -------------------------------------------------------------------------------- /FolderIcons/Icons/Icon_Empty.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f399805549304d84cbc80d5cb4026ea4 3 | TextureImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 11 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: 1 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: 2 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: 1 53 | spriteTessellationDetail: -1 54 | textureType: 0 55 | textureShape: 1 56 | singleChannelComponent: 0 57 | maxTextureSizeSet: 0 58 | compressionQualitySet: 0 59 | textureFormatSet: 0 60 | applyGammaDecoding: 0 61 | platformSettings: 62 | - serializedVersion: 3 63 | buildTarget: DefaultTexturePlatform 64 | maxTextureSize: 8192 65 | resizeAlgorithm: 0 66 | textureFormat: -1 67 | textureCompression: 0 68 | compressionQuality: 50 69 | crunchedCompression: 0 70 | allowsAlphaSplitting: 0 71 | overridden: 0 72 | androidETC2FallbackOverride: 0 73 | forceMaximumCompressionQuality_BC6H_BC7: 0 74 | - serializedVersion: 3 75 | buildTarget: Standalone 76 | maxTextureSize: 8192 77 | resizeAlgorithm: 0 78 | textureFormat: -1 79 | textureCompression: 0 80 | compressionQuality: 50 81 | crunchedCompression: 0 82 | allowsAlphaSplitting: 0 83 | overridden: 0 84 | androidETC2FallbackOverride: 0 85 | forceMaximumCompressionQuality_BC6H_BC7: 0 86 | - serializedVersion: 3 87 | buildTarget: iPhone 88 | maxTextureSize: 8192 89 | resizeAlgorithm: 0 90 | textureFormat: -1 91 | textureCompression: 1 92 | compressionQuality: 50 93 | crunchedCompression: 0 94 | allowsAlphaSplitting: 0 95 | overridden: 0 96 | androidETC2FallbackOverride: 0 97 | forceMaximumCompressionQuality_BC6H_BC7: 0 98 | - serializedVersion: 3 99 | buildTarget: Android 100 | maxTextureSize: 8192 101 | resizeAlgorithm: 0 102 | textureFormat: -1 103 | textureCompression: 1 104 | compressionQuality: 50 105 | crunchedCompression: 0 106 | allowsAlphaSplitting: 0 107 | overridden: 0 108 | androidETC2FallbackOverride: 0 109 | forceMaximumCompressionQuality_BC6H_BC7: 0 110 | spriteSheet: 111 | serializedVersion: 2 112 | sprites: [] 113 | outline: [] 114 | physicsShape: [] 115 | bones: [] 116 | spriteID: 117 | internalID: 0 118 | vertices: [] 119 | indices: 120 | edges: [] 121 | weights: [] 122 | secondaryTextures: [] 123 | spritePackingTag: 124 | pSDRemoveMatte: 0 125 | pSDShowRemoveMatteOption: 0 126 | userData: 127 | assetBundleName: 128 | assetBundleVariant: 129 | -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIcons.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace FolderIcons 5 | { 6 | [InitializeOnLoad] 7 | internal static class FolderIconsReplacer 8 | { 9 | // References 10 | private static Object[] allFolderIcons; 11 | private static FolderIconSettings folderIcons; 12 | 13 | public static bool showFolder; 14 | public static bool showOverlay; 15 | 16 | static FolderIconsReplacer() 17 | { 18 | CheckPreferences (); 19 | 20 | EditorApplication.projectWindowItemOnGUI -= ReplaceFolders; 21 | EditorApplication.projectWindowItemOnGUI += ReplaceFolders; 22 | } 23 | 24 | private static void ReplaceFolders(string guid, Rect selectionRect) 25 | { 26 | if (folderIcons == null) 27 | { 28 | allFolderIcons = GetAllInstances (); 29 | 30 | if (allFolderIcons.Length > 0) 31 | { 32 | folderIcons = allFolderIcons[0] as FolderIconSettings; 33 | } 34 | else 35 | { 36 | FolderIconSettings settings = ScriptableObject.CreateInstance (); 37 | AssetDatabase.CreateAsset (settings, "Assets/FolderIcons.asset"); 38 | 39 | AssetDatabase.SaveAssets (); 40 | AssetDatabase.Refresh (); 41 | 42 | folderIcons = AssetDatabase.LoadAssetAtPath ("Assets/FolderIcons.asset", typeof (FolderIconSettings)) as FolderIconSettings; 43 | } 44 | } 45 | 46 | if (folderIcons == null) 47 | { 48 | return; 49 | } 50 | 51 | if (!folderIcons.showCustomFolder && !folderIcons.showOverlay) 52 | { 53 | return; 54 | } 55 | 56 | string path = AssetDatabase.GUIDToAssetPath (guid); 57 | Object folderAsset = AssetDatabase.LoadAssetAtPath (path, typeof (DefaultAsset)); 58 | 59 | if (folderAsset == null) 60 | { 61 | return; 62 | } 63 | 64 | for (int i = 0; i < folderIcons.icons.Length; i++) 65 | { 66 | FolderIconSettings.FolderIcon icon = folderIcons.icons[i]; 67 | 68 | if (icon.folder != folderAsset) 69 | { 70 | continue; 71 | } 72 | 73 | DrawTextures (selectionRect, icon, folderAsset, guid); 74 | } 75 | } 76 | 77 | private static void DrawTextures(Rect rect, FolderIconSettings.FolderIcon icon, Object folderAsset, string guid) 78 | { 79 | bool isTreeView = rect.width > rect.height; 80 | bool isSideView = FolderIconGUI.IsSideView (rect); 81 | 82 | // Vertical Folder View 83 | if (isTreeView) 84 | { 85 | rect.width = rect.height = FolderIconConstants.MAX_TREE_HEIGHT; 86 | 87 | //Add small offset for correct placement 88 | if (!isSideView) 89 | { 90 | rect.x += 3f; 91 | } 92 | } 93 | else 94 | { 95 | rect.height -= 14f; 96 | } 97 | 98 | if (showFolder && icon.folderIcon) 99 | { 100 | FolderIconGUI.DrawFolderTexture (rect, icon.folderIcon, guid); 101 | } 102 | 103 | if (showOverlay && icon.overlayIcon) 104 | { 105 | FolderIconGUI.DrawOverlayTexture (rect, icon.overlayIcon); 106 | } 107 | } 108 | 109 | #region Initialize 110 | 111 | private static void CheckPreferences() 112 | { 113 | string prefFolder = FolderIconConstants.FOLDER_TEXTURE_PATH; 114 | string prefIcon = FolderIconConstants.ICONS_TEXTURE_PATH; 115 | 116 | if (!EditorPrefs.HasKey (prefFolder)) 117 | { 118 | EditorPrefs.SetBool (prefFolder, true); 119 | } 120 | 121 | if (!EditorPrefs.HasKey (prefIcon)) 122 | { 123 | EditorPrefs.SetBool (prefIcon, true); 124 | } 125 | 126 | showFolder = EditorPrefs.GetBool (prefFolder); 127 | showOverlay = EditorPrefs.GetBool (prefIcon); 128 | } 129 | 130 | private static bool FindOrCreateFolder(string path, string folderCreateName) 131 | { 132 | if (AssetDatabase.IsValidFolder (path)) 133 | { 134 | return true; 135 | } 136 | 137 | string parentFolder = path.Substring (0, path.LastIndexOf ('/')); 138 | return AssetDatabase.CreateFolder (parentFolder, folderCreateName) != ""; 139 | } 140 | 141 | private static T[] GetAllInstances() where T : Object 142 | { 143 | string[] guids = AssetDatabase.FindAssets ("t:" + typeof (T).Name); 144 | 145 | T[] instances = new T[guids.Length]; 146 | 147 | //probably could get optimized 148 | for (int i = 0; i < guids.Length; i++) 149 | { 150 | string path = AssetDatabase.GUIDToAssetPath (guids[i]); 151 | instances[i] = AssetDatabase.LoadAssetAtPath (path); 152 | } 153 | 154 | return instances; 155 | } 156 | 157 | #endregion Initialize 158 | } 159 | } -------------------------------------------------------------------------------- /FolderIcons/Editor/FolderIconSettingsEditor.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using UnityEditor; 3 | using UnityEditorInternal; 4 | using UnityEngine; 5 | 6 | namespace FolderIcons 7 | { 8 | [CustomEditor (typeof (FolderIconSettings))] 9 | internal class FolderIconSettingsEditor : Editor 10 | { 11 | // References 12 | private FolderIconSettings settings; 13 | private SerializedProperty serializedIcons; 14 | 15 | // Settings 16 | private bool showCustomFolders; 17 | private bool showCustomOverlay; 18 | 19 | private ReorderableList iconList; 20 | 21 | // Texture 22 | private Texture2D selectedTexture = null; 23 | private Texture2D previewTexture = null; 24 | 25 | private GUIContent previewContent = new GUIContent (); 26 | private RenderTexture previewRender; 27 | 28 | private Color replacementColour = Color.gray; 29 | 30 | // Texture Save Settings 31 | private string textureName = "New Texture"; 32 | private string savePath; 33 | 34 | private int heightIndex; 35 | 36 | // Sizing 37 | private const float MAX_LABEL_WIDTH = 90f; 38 | private const float MAX_FIELD_WIDTH = 150f; 39 | 40 | private const float PROPERTY_HEIGHT = 19f; 41 | private const float PROPERTY_PADDING = 4f; 42 | private const float SETTINGS_PADDING = 1F; 43 | 44 | // Styling 45 | private GUIStyle elementStyle; 46 | 47 | private GUIStyle propertyStyle; 48 | private GUIStyle previewStyle; 49 | 50 | private void OnEnable() 51 | { 52 | if (target == null) 53 | { 54 | return; 55 | } 56 | 57 | settings = target as FolderIconSettings; 58 | serializedIcons = serializedObject.FindProperty ("icons"); 59 | 60 | showCustomFolders = settings.showCustomFolder; 61 | showCustomOverlay = settings.showOverlay; 62 | 63 | if (iconList == null) 64 | { 65 | iconList = new ReorderableList (serializedObject, serializedIcons) 66 | { 67 | drawHeaderCallback = OnHeaderDraw, 68 | 69 | drawElementCallback = OnElementDraw, 70 | drawElementBackgroundCallback = DrawElementBackground, 71 | 72 | elementHeightCallback = GetPropertyHeight, 73 | 74 | showDefaultBackground = false, 75 | }; 76 | } 77 | 78 | savePath = Application.dataPath; 79 | 80 | if (selectedTexture != null) 81 | { 82 | UpdatePreview (); 83 | } 84 | } 85 | 86 | private void OnDisable() 87 | { 88 | ClearPreviewData (); 89 | } 90 | 91 | public override void OnInspectorGUI() 92 | { 93 | //Create styles 94 | if (previewStyle == null) 95 | { 96 | previewStyle = new GUIStyle (EditorStyles.label) 97 | { 98 | fixedHeight = 64, 99 | //fixedWidth = 64, 100 | //stretchWidth = false, 101 | alignment = TextAnchor.MiddleCenter 102 | }; 103 | 104 | elementStyle = new GUIStyle (GUI.skin.box) 105 | { 106 | }; 107 | } 108 | 109 | // Draw Settings 110 | EditorGUILayout.LabelField ("Settings", EditorStyles.boldLabel); 111 | 112 | EditorGUI.BeginChangeCheck (); 113 | { 114 | showCustomFolders = EditorGUILayout.ToggleLeft ("Show Folder Textures", showCustomFolders); 115 | showCustomOverlay = EditorGUILayout.ToggleLeft ("Show Overlay Textures", showCustomOverlay); 116 | } 117 | if (EditorGUI.EndChangeCheck ()) 118 | { 119 | ApplySettings (); 120 | } 121 | 122 | EditorGUILayout.Space (16f); 123 | 124 | EditorGUI.BeginChangeCheck (); 125 | iconList.DoLayoutList (); 126 | if (EditorGUI.EndChangeCheck ()) 127 | { 128 | serializedObject.ApplyModifiedProperties (); 129 | } 130 | 131 | DrawTexturePreview (); 132 | 133 | EditorGUI.BeginDisabledGroup (previewTexture == null); 134 | { 135 | EditorGUI.BeginChangeCheck (); 136 | { 137 | replacementColour = EditorGUILayout.ColorField (new GUIContent ("Replacement Colour"), replacementColour); 138 | } 139 | if (EditorGUI.EndChangeCheck ()) 140 | { 141 | SetPreviewColour (); 142 | } 143 | 144 | DrawTextureSaving (); 145 | } 146 | EditorGUI.EndDisabledGroup (); 147 | } 148 | 149 | private void ApplySettings() 150 | { 151 | FolderIconsReplacer.showFolder = settings.showCustomFolder = showCustomFolders; 152 | FolderIconsReplacer.showOverlay = settings.showOverlay = showCustomOverlay; 153 | } 154 | 155 | #region Reorderable Array Draw 156 | 157 | private void OnHeaderDraw(Rect rect) 158 | { 159 | rect.y += 5f; 160 | rect.x -= 6f; 161 | rect.width += 12f; 162 | 163 | Handles.BeginGUI (); 164 | Handles.DrawSolidRectangleWithOutline (rect, 165 | new Color (0.15f, 0.15f, 0.15f, 1f), 166 | new Color (0.15f, 0.15f, 0.15f, 1f)); 167 | Handles.EndGUI (); 168 | 169 | EditorGUI.LabelField (rect, "Folders", EditorStyles.boldLabel); 170 | } 171 | 172 | private void OnElementDraw(Rect rect, int index, bool isActive, bool isFocused) 173 | { 174 | SerializedProperty property = serializedIcons.GetArrayElementAtIndex (index); 175 | 176 | float fullWidth = rect.width; 177 | 178 | // Set sizes for correct draw 179 | float originalLabelWidth = EditorGUIUtility.labelWidth; 180 | float rectWidth = MAX_LABEL_WIDTH + MAX_FIELD_WIDTH; 181 | EditorGUIUtility.labelWidth = Mathf.Min (EditorGUIUtility.labelWidth, MAX_LABEL_WIDTH); 182 | rect.width = Mathf.Min (rect.width, rectWidth); 183 | 184 | //Draw property and settings in a line 185 | DrawPropertyNoDepth (rect, property); 186 | 187 | // ========================== 188 | // Draw Icon Example 189 | // ========================== 190 | rect.x += rect.width; 191 | rect.width = fullWidth - rect.width; 192 | 193 | // References 194 | SerializedProperty folderTexture = property.FindPropertyRelative ("folderIcon"); 195 | SerializedProperty overlayTexture = property.FindPropertyRelative ("overlayIcon"); 196 | SerializedProperty overlayOffset = property.FindPropertyRelative ("overlayOffset"); 197 | 198 | // Object checks 199 | Object folderObject = folderTexture.objectReferenceValue; 200 | Object overlayObject = overlayTexture.objectReferenceValue; 201 | 202 | FolderIconGUI.DrawFolderPreview (rect, folderObject as Texture, overlayObject as Texture); 203 | 204 | // Revert width modification 205 | EditorGUIUtility.labelWidth = originalLabelWidth; 206 | } 207 | 208 | private void DrawPropertyNoDepth(Rect rect, SerializedProperty property) 209 | { 210 | rect.width++; 211 | Handles.BeginGUI (); 212 | Handles.DrawSolidRectangleWithOutline (rect, Color.clear, new Color (0.15f, 0.15f, 0.15f, 1f)); 213 | Handles.EndGUI (); 214 | 215 | rect.x++; 216 | rect.width -= 3; 217 | rect.y += PROPERTY_PADDING; 218 | rect.height = PROPERTY_HEIGHT; 219 | 220 | SerializedProperty copy = property.Copy (); 221 | bool enterChildren = true; 222 | 223 | while (copy.Next (enterChildren)) 224 | { 225 | if (SerializedProperty.EqualContents (copy, property.GetEndProperty ())) 226 | { 227 | break; 228 | } 229 | 230 | EditorGUI.PropertyField (rect, copy, false); 231 | rect.y += PROPERTY_HEIGHT + PROPERTY_PADDING; 232 | 233 | enterChildren = false; 234 | } 235 | } 236 | 237 | private void DrawElementBackground(Rect rect, int index, bool isActive, bool isFocused) 238 | { 239 | EditorGUI.LabelField (rect, "", elementStyle); 240 | 241 | Color fill = (isFocused) ? FolderIconConstants.SelectedColor : Color.clear; 242 | 243 | Handles.BeginGUI (); 244 | Handles.DrawSolidRectangleWithOutline (rect, fill, new Color (0.15f, 0.15f, 0.15f, 1f)); 245 | Handles.EndGUI (); 246 | } 247 | 248 | // ======================== 249 | // 250 | // ======================== 251 | private int GetPropertyCount(SerializedProperty property) 252 | { 253 | return property.CountInProperty () - 1; 254 | } 255 | 256 | private float GetPropertyHeight(SerializedProperty property) 257 | { 258 | if (heightIndex == 0) 259 | { 260 | heightIndex = property.CountInProperty (); 261 | } 262 | 263 | // return (PROPERTY_HEIGHT + PROPERTY_PADDING) * (heightIndex-1) + PROPERTY_PADDING; 264 | 265 | //Property count returning wrong, so just supplying 3 for now 266 | //TODO: Investigate GetPropertyCount and find issue with invalid value 267 | return (PROPERTY_HEIGHT + PROPERTY_PADDING) * (3) + PROPERTY_PADDING; 268 | } 269 | 270 | private float GetPropertyHeight(int index) 271 | { 272 | return GetPropertyHeight (serializedIcons.GetArrayElementAtIndex (index)); 273 | } 274 | 275 | #endregion Reorderable Array Draw 276 | 277 | #region Texture Preview/Creation 278 | 279 | /// 280 | /// Draw the preview for the texture 281 | /// 282 | private void DrawTexturePreview() 283 | { 284 | EditorGUILayout.LabelField ("Texture Colour Replacement", EditorStyles.boldLabel); 285 | 286 | // Draw selection 287 | EditorGUI.BeginChangeCheck (); 288 | { 289 | // Headers 290 | EditorGUILayout.BeginHorizontal (); 291 | EditorGUILayout.LabelField ("Original Texture"); 292 | EditorGUILayout.LabelField ("Modified Texture"); 293 | EditorGUILayout.EndHorizontal (); 294 | 295 | // Texture -- Preview 296 | EditorGUILayout.BeginHorizontal (); 297 | { 298 | selectedTexture = EditorGUILayout.ObjectField (selectedTexture, typeof (Texture2D), 299 | false, GUILayout.ExpandWidth (false), GUILayout.ExpandHeight (true), GUILayout.Width (64f)) as Texture2D; 300 | 301 | EditorGUILayout.LabelField (previewContent, previewStyle, GUILayout.Height (64)); 302 | } 303 | EditorGUILayout.EndHorizontal (); 304 | } 305 | if (EditorGUI.EndChangeCheck ()) 306 | { 307 | if (selectedTexture == null) 308 | { 309 | ClearPreviewData (); 310 | previewTexture = null; 311 | return; 312 | } 313 | 314 | UpdatePreview (); 315 | } 316 | 317 | EditorGUILayout.Space (); 318 | } 319 | 320 | /// 321 | /// Display settings for saving the modified texture 322 | /// 323 | private void DrawTextureSaving() 324 | { 325 | EditorGUILayout.LabelField ("Save Created Texture", EditorStyles.boldLabel); 326 | 327 | // Texture Name 328 | GUILayout.BeginHorizontal (); 329 | { 330 | textureName = EditorGUILayout.TextField ("Texture Name", textureName); 331 | 332 | EditorGUI.BeginDisabledGroup (true); 333 | GUILayout.TextField (".png", GUILayout.Width (40f)); 334 | EditorGUI.EndDisabledGroup (); 335 | } 336 | GUILayout.EndHorizontal (); 337 | 338 | // Save Path 339 | GUILayout.BeginHorizontal (); 340 | { 341 | savePath = EditorGUILayout.TextField ("Save Path", savePath); 342 | 343 | if (GUILayout.Button ("Select", GUILayout.MaxWidth (80f))) 344 | { 345 | savePath = EditorUtility.OpenFolderPanel ("Texture Save Path", "Assets", ""); 346 | GUIUtility.ExitGUI (); 347 | } 348 | } 349 | GUILayout.EndHorizontal (); 350 | 351 | if (GUILayout.Button ("Save Texture")) 352 | { 353 | string fullPath = $"{savePath}/{textureName}.png"; 354 | SaveTextureAsPNG (previewTexture, fullPath); 355 | } 356 | } 357 | 358 | /// 359 | /// Apply colour to preview texture 360 | /// 361 | private void SetPreviewColour() 362 | { 363 | for (int x = 0; x < previewTexture.width; x++) 364 | { 365 | for (int y = 0; y < previewTexture.height; y++) 366 | { 367 | Color oldCol = previewTexture.GetPixel (x, y); 368 | Color newCol = replacementColour; 369 | newCol.a = oldCol.a; 370 | 371 | previewTexture.SetPixel (x, y, newCol); 372 | } 373 | } 374 | 375 | previewTexture.Apply (); 376 | } 377 | 378 | /// 379 | /// Save the preview texture at the given path 380 | /// 381 | /// The preview texture 382 | /// The path to save the texture at 383 | private void SaveTextureAsPNG(Texture2D texture, string path) 384 | { 385 | if (string.IsNullOrWhiteSpace (path) || !path.Contains ("Assets")) 386 | { 387 | Debug.LogWarning ("Cannot save texture to invalid path."); 388 | return; 389 | } 390 | 391 | byte[] bytes = texture.EncodeToPNG (); 392 | File.WriteAllBytes (path, bytes); 393 | 394 | AssetDatabase.Refresh (); 395 | 396 | int localPathIndex = path.IndexOf ("Assets"); 397 | path = path.Substring (localPathIndex, path.Length - localPathIndex); 398 | 399 | TextureImporter importer = AssetImporter.GetAtPath (path) as TextureImporter; 400 | 401 | importer.textureType = TextureImporterType.GUI; 402 | importer.isReadable = true; 403 | 404 | AssetDatabase.ImportAsset (path); 405 | AssetDatabase.Refresh (); 406 | 407 | //Texture2D textureAsset = AssetDatabase.LoadAssetAtPath (path); 408 | //textureAsset.alphaIsTransparency = true; 409 | //textureAsset.Apply (); 410 | } 411 | 412 | /// 413 | /// Clear preview render texture 414 | /// 415 | private void ClearPreviewData() 416 | { 417 | if (previewRender != null) 418 | { 419 | previewRender.Release (); 420 | } 421 | } 422 | 423 | /// 424 | /// Update the preview with new texture information 425 | /// 426 | private void UpdatePreview() 427 | { 428 | ClearPreviewData (); 429 | 430 | //No real point having a huge texture so limit the size for efficency sake 431 | int width = Mathf.Min (256, selectedTexture.width); 432 | int height = Mathf.Min (256, selectedTexture.height); 433 | 434 | //Create a new render texture and preview 435 | previewRender = new RenderTexture (width, height, 16); 436 | previewTexture = new Texture2D (previewRender.width, previewRender.height) 437 | { 438 | alphaIsTransparency = true 439 | }; 440 | previewContent.image = previewTexture; 441 | 442 | Graphics.Blit (selectedTexture, previewRender); 443 | 444 | // Get pixels from current render texture and apply 445 | previewTexture.ReadPixels (new Rect (0, 0, previewRender.width, previewRender.height), 0, 0); 446 | SetPreviewColour (); 447 | } 448 | 449 | #endregion Texture Preview/Creation 450 | } 451 | } --------------------------------------------------------------------------------