├── .gitattributes ├── .gitignore ├── Assets ├── AddressableAssetsData.meta ├── AddressableAssetsData │ ├── AddressableAssetSettings.asset │ ├── AddressableAssetSettings.asset.meta │ ├── AssetGroupTemplates.meta │ ├── AssetGroupTemplates │ │ ├── Packed Assets.asset │ │ └── Packed Assets.asset.meta │ ├── AssetGroups.meta │ ├── AssetGroups │ │ ├── Default Local Group.asset │ │ ├── Default Local Group.asset.meta │ │ ├── Schemas.meta │ │ └── Schemas │ │ │ ├── ed4614bccc9ddb5429e3919f7e21fbb2_BundledAssetGroupSchema.asset │ │ │ ├── ed4614bccc9ddb5429e3919f7e21fbb2_BundledAssetGroupSchema.asset.meta │ │ │ ├── ed4614bccc9ddb5429e3919f7e21fbb2_ContentUpdateGroupSchema.asset │ │ │ └── ed4614bccc9ddb5429e3919f7e21fbb2_ContentUpdateGroupSchema.asset.meta │ ├── DataBuilders.meta │ ├── DataBuilders │ │ ├── BuildScriptFastMode.asset │ │ ├── BuildScriptFastMode.asset.meta │ │ ├── BuildScriptPackedMode.asset │ │ ├── BuildScriptPackedMode.asset.meta │ │ ├── BuildScriptPackedPlayMode.asset │ │ ├── BuildScriptPackedPlayMode.asset.meta │ │ ├── BuildScriptVirtualMode.asset │ │ └── BuildScriptVirtualMode.asset.meta │ ├── DefaultObject.asset │ ├── DefaultObject.asset.meta │ ├── Windows.meta │ └── Windows │ │ ├── addressables_content_state.bin │ │ └── addressables_content_state.bin.meta ├── Asset Manager.meta └── Asset Manager │ ├── Editor │ ├── Il2cppCustomFlag.cs │ └── Il2cppCustomFlag.cs.meta │ ├── Example.meta │ ├── Example │ ├── Audio.meta │ ├── Audio │ │ ├── DM-CGS-02.wav │ │ ├── DM-CGS-02.wav.meta │ │ ├── DM-CGS-03.wav │ │ ├── DM-CGS-03.wav.meta │ │ ├── DM-CGS-05.wav │ │ ├── DM-CGS-05.wav.meta │ │ ├── DM-CGS-07.wav │ │ ├── DM-CGS-07.wav.meta │ │ ├── DM-CGS-15.wav │ │ ├── DM-CGS-15.wav.meta │ │ ├── DM-CGS-16.wav │ │ ├── DM-CGS-16.wav.meta │ │ ├── DM-CGS-21.wav │ │ ├── DM-CGS-21.wav.meta │ │ ├── DM-CGS-22.wav │ │ └── DM-CGS-22.wav.meta │ ├── Data Objects.meta │ ├── Data Objects │ │ ├── Data Container.asset │ │ └── Data Container.asset.meta │ ├── Materials.meta │ ├── Materials │ │ ├── EmbersParticle.mat │ │ ├── EmbersParticle.mat.meta │ │ ├── FlameParticle.mat │ │ ├── FlameParticle.mat.meta │ │ ├── FlameRoundYellowParticle.mat │ │ ├── FlameRoundYellowParticle.mat.meta │ │ ├── LightningParticle.mat │ │ ├── LightningParticle.mat.meta │ │ ├── PlasmaExplosionParticle.mat │ │ ├── PlasmaExplosionParticle.mat.meta │ │ ├── PlasmaFireParticle.mat │ │ ├── PlasmaFireParticle.mat.meta │ │ ├── ShockWaveParticle.mat │ │ ├── ShockWaveParticle.mat.meta │ │ ├── SmokeDarkParticle.mat │ │ ├── SmokeDarkParticle.mat.meta │ │ ├── StoneSurface.mat │ │ └── StoneSurface.mat.meta │ ├── Prefabs.meta │ ├── Prefabs │ │ ├── BigExplosionEffect.prefab │ │ ├── BigExplosionEffect.prefab.meta │ │ ├── PlasmaExplosionEffect.prefab │ │ └── PlasmaExplosionEffect.prefab.meta │ ├── Scenes.meta │ ├── Scenes │ │ ├── SampleScene.unity │ │ └── SampleScene.unity.meta │ ├── Scripts.meta │ ├── Scripts │ │ ├── DataContainer.cs │ │ ├── DataContainer.cs.meta │ │ ├── EffectRecycler.cs │ │ ├── EffectRecycler.cs.meta │ │ ├── ExampleUI.cs │ │ └── ExampleUI.cs.meta │ ├── Shaders.meta │ ├── Shaders │ │ ├── SurfaceShader_VC.shader │ │ └── SurfaceShader_VC.shader.meta │ ├── Textures.meta │ └── Textures │ │ ├── FlameParticleSheet.tif │ │ ├── FlameParticleSheet.tif.meta │ │ ├── FlameRoundGreyParticleSheet.tif │ │ ├── FlameRoundGreyParticleSheet.tif.meta │ │ ├── FlameRoundParticleSheet.tif │ │ ├── FlameRoundParticleSheet.tif.meta │ │ ├── LightningParticle.tif │ │ ├── LightningParticle.tif.meta │ │ ├── SmokePuff02ParticleSheet.tif │ │ ├── SmokePuff02ParticleSheet.tif.meta │ │ ├── SmokePuffParticleSheet.png │ │ ├── SmokePuffParticleSheet.png.meta │ │ ├── StoneAlbedo.tif │ │ ├── StoneAlbedo.tif.meta │ │ ├── StoneNormals.tif │ │ └── StoneNormals.tif.meta │ ├── Runtime.meta │ └── Runtime │ ├── Asset Management.meta │ ├── Asset Management │ ├── AssetManager.cs │ ├── AssetManager.cs.meta │ ├── ConversionException.cs │ ├── ConversionException.cs.meta │ ├── LoadAssetsByLabelOperation.cs │ ├── LoadAssetsByLabelOperation.cs.meta │ ├── MonoTracker.cs │ ├── MonoTracker.cs.meta │ ├── Pooling.meta │ └── Pooling │ │ ├── AssetReferencePool.cs │ │ ├── AssetReferencePool.cs.meta │ │ ├── IPool.cs │ │ ├── IPool.cs.meta │ │ ├── IPoolObject.cs │ │ ├── IPoolObject.cs.meta │ │ ├── PoolBehaviour.cs │ │ ├── PoolBehaviour.cs.meta │ │ ├── PoolObject.cs │ │ └── PoolObject.cs.meta │ ├── ExtensionMethods.cs │ └── ExtensionMethods.cs.meta ├── Packages └── manifest.json ├── ProjectSettings ├── AudioManager.asset ├── ClusterInputManager.asset ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── NavMeshAreas.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset └── XRSettings.asset └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore file should be placed at the root of your Unity project directory 2 | # 3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore 4 | # 5 | /[Ll]ibrary/ 6 | /[Tt]emp/ 7 | /[Oo]bj/ 8 | /[Bb]uild/ 9 | /[Bb]uilds/ 10 | /[Ll]ogs/ 11 | /[Mm]emoryCaptures/ 12 | 13 | # Never ignore Asset meta data 14 | !/[Aa]ssets/**/*.meta 15 | 16 | # Uncomment this line if you wish to ignore the asset store tools plugin 17 | # /[Aa]ssets/AssetStoreTools* 18 | 19 | # Autogenerated Jetbrains Rider plugin 20 | [Aa]ssets/Plugins/Editor/JetBrains* 21 | 22 | # Visual Studio cache directory 23 | .vs/ 24 | 25 | # Gradle cache directory 26 | .gradle/ 27 | 28 | # Autogenerated VS/MD/Consulo solution and project files 29 | ExportedObj/ 30 | .consulo/ 31 | *.csproj 32 | *.unityproj 33 | *.sln 34 | *.suo 35 | *.tmp 36 | *.user 37 | *.userprefs 38 | *.pidb 39 | *.booproj 40 | *.svd 41 | *.pdb 42 | *.mdb 43 | *.opendb 44 | *.VC.db 45 | *.idea 46 | riderModule.iml 47 | 48 | # Unity3D generated meta files 49 | *.pidb.meta 50 | *.pdb.meta 51 | *.mdb.meta 52 | 53 | # Unity3D generated file on crash reports 54 | sysinfo.txt 55 | 56 | # Builds 57 | *.apk 58 | *.unitypackage 59 | 60 | # Crashlytics generated file 61 | crashlytics-build.properties 62 | 63 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f730076fab1782543963ffa772f01dbb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AddressableAssetSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 468a46d0ae32c3544b7d98094e6448a9, type: 3} 13 | m_Name: AddressableAssetSettings 14 | m_EditorClassIdentifier: 15 | m_DefaultGroup: ed4614bccc9ddb5429e3919f7e21fbb2 16 | m_BuildRemoteCatalog: 0 17 | m_DisableCatalogUpdateOnStart: 0 18 | m_UniqueBundleIds: 0 19 | m_RemoteCatalogBuildPath: 20 | m_Id: 21 | m_RemoteCatalogLoadPath: 22 | m_Id: 23 | m_overridePlayerVersion: 24 | m_GroupAssets: 25 | - {fileID: 11400000, guid: fbcb9c7118834f245b5ff3298dbaafb5, type: 2} 26 | m_BuildSettings: 27 | m_CompileScriptsInVirtualMode: 0 28 | m_CleanupStreamingAssetsAfterBuilds: 1 29 | m_LogResourceManagerExceptions: 1 30 | m_BundleBuildPath: Temp/com.unity.addressables/AssetBundles 31 | m_ProfileSettings: 32 | m_Profiles: 33 | - m_InheritedParent: 34 | m_Id: cb33032292d10354aae7e0c6643e4481 35 | m_ProfileName: Default 36 | m_Values: 37 | - m_Id: bcacb8bc8b890514a9464d1757ee8e12 38 | m_Value: '[UnityEditor.EditorUserBuildSettings.activeBuildTarget]' 39 | - m_Id: 40f9732c98a885445ba69bfe78e80963 40 | m_Value: '[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]' 41 | - m_Id: 325fc3e357750d04f8deca113c69737c 42 | m_Value: '{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]' 43 | - m_Id: e8ec41afc5484d94f802ea50d8c0956c 44 | m_Value: ServerData/[BuildTarget] 45 | - m_Id: 82989c3c2287edb4d8469df1f0ba4995 46 | m_Value: http://localhost/[BuildTarget] 47 | m_ProfileEntryNames: 48 | - m_Id: bcacb8bc8b890514a9464d1757ee8e12 49 | m_Name: BuildTarget 50 | m_InlineUsage: 0 51 | - m_Id: 40f9732c98a885445ba69bfe78e80963 52 | m_Name: LocalBuildPath 53 | m_InlineUsage: 0 54 | - m_Id: 325fc3e357750d04f8deca113c69737c 55 | m_Name: LocalLoadPath 56 | m_InlineUsage: 0 57 | - m_Id: e8ec41afc5484d94f802ea50d8c0956c 58 | m_Name: RemoteBuildPath 59 | m_InlineUsage: 0 60 | - m_Id: 82989c3c2287edb4d8469df1f0ba4995 61 | m_Name: RemoteLoadPath 62 | m_InlineUsage: 0 63 | m_ProfileVersion: 1 64 | m_LabelTable: 65 | m_LabelNames: 66 | - default 67 | - preload 68 | m_SchemaTemplates: [] 69 | m_GroupTemplateObjects: 70 | - {fileID: 11400000, guid: 3dd2bfbff59c37845bb2134bf9766e7e, type: 2} 71 | m_InitializationObjects: [] 72 | m_CertificateHandlerType: 73 | m_AssemblyName: 74 | m_ClassName: 75 | m_ActivePlayerDataBuilderIndex: 3 76 | m_DataBuilders: 77 | - {fileID: 11400000, guid: f225a593db99d2e4b90c77208df4255a, type: 2} 78 | - {fileID: 11400000, guid: c613d5425092de149bfcc60109a08212, type: 2} 79 | - {fileID: 11400000, guid: 02afd224b5aad2e4783273ff0c3e8241, type: 2} 80 | - {fileID: 11400000, guid: 4bb5a59eb47dd2e4fb3a60432252249e, type: 2} 81 | m_ActiveProfileId: cb33032292d10354aae7e0c6643e4481 82 | m_HostingServicesManager: 83 | m_HostingServiceInfos: [] 84 | m_Settings: {fileID: 11400000} 85 | m_NextInstanceId: 0 86 | m_RegisteredServiceTypeRefs: [] 87 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AddressableAssetSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa4391411cbabe64fbf408ad61322b63 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroupTemplates.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c62f121140afdd4994092af6ab5dfb4 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 1a3c5d64ac83548c09dd1678b9f6f1cd, type: 3} 13 | m_Name: Packed Assets 14 | m_EditorClassIdentifier: 15 | m_SchemaObjects: 16 | - {fileID: 5436536920276050339} 17 | - {fileID: 1157123145932693826} 18 | m_Description: Pack assets into asset bundles. 19 | m_Settings: {fileID: 0} 20 | --- !u!114 &1157123145932693826 21 | MonoBehaviour: 22 | m_ObjectHideFlags: 1 23 | m_CorrespondingSourceObject: {fileID: 0} 24 | m_PrefabInstance: {fileID: 0} 25 | m_PrefabAsset: {fileID: 0} 26 | m_GameObject: {fileID: 0} 27 | m_Enabled: 1 28 | m_EditorHideFlags: 0 29 | m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} 30 | m_Name: ContentUpdateGroupSchema 31 | m_EditorClassIdentifier: 32 | m_Group: {fileID: 0} 33 | m_StaticContent: 0 34 | --- !u!114 &5436536920276050339 35 | MonoBehaviour: 36 | m_ObjectHideFlags: 1 37 | m_CorrespondingSourceObject: {fileID: 0} 38 | m_PrefabInstance: {fileID: 0} 39 | m_PrefabAsset: {fileID: 0} 40 | m_GameObject: {fileID: 0} 41 | m_Enabled: 1 42 | m_EditorHideFlags: 0 43 | m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} 44 | m_Name: BundledAssetGroupSchema 45 | m_EditorClassIdentifier: 46 | m_Group: {fileID: 0} 47 | m_Compression: 1 48 | m_IncludeInBuild: 1 49 | m_BundledAssetProviderType: 50 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 51 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider 52 | m_ForceUniqueProvider: 0 53 | m_UseAssetBundleCache: 1 54 | m_UseAssetBundleCrc: 1 55 | m_Timeout: 0 56 | m_ChunkedTransfer: 0 57 | m_RedirectLimit: -1 58 | m_RetryCount: 0 59 | m_BuildPath: 60 | m_Id: 61 | m_LoadPath: 62 | m_Id: 63 | m_BundleMode: 2 64 | m_AssetBundleProviderType: 65 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 66 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider 67 | m_BundleNaming: 0 68 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroupTemplates/Packed Assets.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3dd2bfbff59c37845bb2134bf9766e7e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a70a4e4de3bb3ca4b8da28c410de22ee 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bbb281ee3bf0b054c82ac2347e9e782c, type: 3} 13 | m_Name: Default Local Group 14 | m_EditorClassIdentifier: 15 | m_GroupName: Default Local Group 16 | m_Data: 17 | m_SerializedData: [] 18 | m_GUID: ed4614bccc9ddb5429e3919f7e21fbb2 19 | m_SerializeEntries: 20 | - m_GUID: 0c008ee3ee72a4362a35be25fa5de043 21 | m_Address: Audio/DM-CGS-15.wav 22 | m_ReadOnly: 0 23 | m_SerializedLabels: 24 | - preload 25 | m_mainAssetType: UnityEngine.AudioClip, UnityEngine.AudioModule, Version=0.0.0.0, 26 | Culture=neutral, PublicKeyToken=null 27 | - m_GUID: 19f89c6e740e7447f9e12a8310d3e973 28 | m_Address: Audio/DM-CGS-03.wav 29 | m_ReadOnly: 0 30 | m_SerializedLabels: 31 | - preload 32 | m_mainAssetType: UnityEngine.AudioClip, UnityEngine.AudioModule, Version=0.0.0.0, 33 | Culture=neutral, PublicKeyToken=null 34 | - m_GUID: 2c5292ba5cf254919a6b9e2b18e04f49 35 | m_Address: Audio/DM-CGS-07.wav 36 | m_ReadOnly: 0 37 | m_SerializedLabels: 38 | - preload 39 | m_mainAssetType: UnityEngine.AudioClip, UnityEngine.AudioModule, Version=0.0.0.0, 40 | Culture=neutral, PublicKeyToken=null 41 | - m_GUID: 724131bc8a7f34041bb9f1701f0cb58d 42 | m_Address: Audio/DM-CGS-16.wav 43 | m_ReadOnly: 0 44 | m_SerializedLabels: 45 | - preload 46 | m_mainAssetType: UnityEngine.AudioClip, UnityEngine.AudioModule, Version=0.0.0.0, 47 | Culture=neutral, PublicKeyToken=null 48 | - m_GUID: 96730f8640590934eacb6f860058e7f9 49 | m_Address: Prefabs/PlasmaExplosionEffect.prefab 50 | m_ReadOnly: 0 51 | m_SerializedLabels: 52 | - preload 53 | m_mainAssetType: UnityEngine.GameObject, UnityEngine.CoreModule, Version=0.0.0.0, 54 | Culture=neutral, PublicKeyToken=null 55 | - m_GUID: acf39d9f4addf294d93fa56fa373961b 56 | m_Address: Prefabs/BigExplosionEffect.prefab 57 | m_ReadOnly: 0 58 | m_SerializedLabels: 59 | - preload 60 | m_mainAssetType: UnityEngine.GameObject, UnityEngine.CoreModule, Version=0.0.0.0, 61 | Culture=neutral, PublicKeyToken=null 62 | - m_GUID: b99da9a57308d4ba1bee1cf1d9038376 63 | m_Address: Audio/DM-CGS-05.wav 64 | m_ReadOnly: 0 65 | m_SerializedLabels: 66 | - preload 67 | m_mainAssetType: UnityEngine.AudioClip, UnityEngine.AudioModule, Version=0.0.0.0, 68 | Culture=neutral, PublicKeyToken=null 69 | - m_GUID: d8d04c6f80a1140db85ede568dab1f51 70 | m_Address: Audio/DM-CGS-22.wav 71 | m_ReadOnly: 0 72 | m_SerializedLabels: 73 | - preload 74 | m_mainAssetType: UnityEngine.AudioClip, UnityEngine.AudioModule, Version=0.0.0.0, 75 | Culture=neutral, PublicKeyToken=null 76 | - m_GUID: dc6614beca09347ec9b258f12d154bdd 77 | m_Address: Audio/DM-CGS-02.wav 78 | m_ReadOnly: 0 79 | m_SerializedLabels: 80 | - preload 81 | m_mainAssetType: UnityEngine.AudioClip, UnityEngine.AudioModule, Version=0.0.0.0, 82 | Culture=neutral, PublicKeyToken=null 83 | - m_GUID: ffb159a21c8a04135a5616979c828fab 84 | m_Address: Audio/DM-CGS-21.wav 85 | m_ReadOnly: 0 86 | m_SerializedLabels: 87 | - preload 88 | m_mainAssetType: UnityEngine.AudioClip, UnityEngine.AudioModule, Version=0.0.0.0, 89 | Culture=neutral, PublicKeyToken=null 90 | m_ReadOnly: 0 91 | m_Settings: {fileID: 11400000, guid: aa4391411cbabe64fbf408ad61322b63, type: 2} 92 | m_SchemaSet: 93 | m_Schemas: 94 | - {fileID: 11400000, guid: af0d1069bb663634291e690fad636fa5, type: 2} 95 | - {fileID: 11400000, guid: 4c7e46f5d2f7ac044be62a0ef22d793c, type: 2} 96 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fbcb9c7118834f245b5ff3298dbaafb5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1fa73d5b1b428a74bad6da8de779b015 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/ed4614bccc9ddb5429e3919f7e21fbb2_BundledAssetGroupSchema.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} 13 | m_Name: ed4614bccc9ddb5429e3919f7e21fbb2_BundledAssetGroupSchema 14 | m_EditorClassIdentifier: 15 | m_Group: {fileID: 11400000, guid: fbcb9c7118834f245b5ff3298dbaafb5, type: 2} 16 | m_Compression: 1 17 | m_IncludeInBuild: 1 18 | m_BundledAssetProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider 21 | m_ForceUniqueProvider: 0 22 | m_UseAssetBundleCache: 1 23 | m_UseAssetBundleCrc: 1 24 | m_Timeout: 0 25 | m_ChunkedTransfer: 0 26 | m_RedirectLimit: -1 27 | m_RetryCount: 0 28 | m_BuildPath: 29 | m_Id: 40f9732c98a885445ba69bfe78e80963 30 | m_LoadPath: 31 | m_Id: 325fc3e357750d04f8deca113c69737c 32 | m_BundleMode: 2 33 | m_AssetBundleProviderType: 34 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 35 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider 36 | m_BundleNaming: 0 37 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/ed4614bccc9ddb5429e3919f7e21fbb2_BundledAssetGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4c7e46f5d2f7ac044be62a0ef22d793c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/ed4614bccc9ddb5429e3919f7e21fbb2_ContentUpdateGroupSchema.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} 13 | m_Name: ed4614bccc9ddb5429e3919f7e21fbb2_ContentUpdateGroupSchema 14 | m_EditorClassIdentifier: 15 | m_Group: {fileID: 0} 16 | m_StaticContent: 0 17 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/AssetGroups/Schemas/ed4614bccc9ddb5429e3919f7e21fbb2_ContentUpdateGroupSchema.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af0d1069bb663634291e690fad636fa5 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 14a1f6c0197f8c54d9ba04426fa8c003 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 88d21199f5d473f4db36845f2318f180, type: 3} 13 | m_Name: BuildScriptFastMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptFastMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f225a593db99d2e4b90c77208df4255a 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 3e2e0ffa088c91d41a086d0b8cb16bdc, type: 3} 13 | m_Name: BuildScriptPackedMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4bb5a59eb47dd2e4fb3a60432252249e 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: ad8c280d42ee0ed41a27db23b43dd2bf, type: 3} 13 | m_Name: BuildScriptPackedPlayMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptPackedPlayMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02afd224b5aad2e4783273ff0c3e8241 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: bb0e4994b34add1409fd8ccaf4a82de5, type: 3} 13 | m_Name: BuildScriptVirtualMode 14 | m_EditorClassIdentifier: 15 | instanceProviderType: 16 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 17 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.InstanceProvider 18 | sceneProviderType: 19 | m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null 20 | m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.SceneProvider 21 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DataBuilders/BuildScriptVirtualMode.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c613d5425092de149bfcc60109a08212 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DefaultObject.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: 3a189bb168d8d90478a09ea08c2f3d72, type: 3} 13 | m_Name: DefaultObject 14 | m_EditorClassIdentifier: 15 | m_AddressableAssetSettingsGuid: aa4391411cbabe64fbf408ad61322b63 16 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/DefaultObject.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b6b3924513511af48a4c8938c28fe6af 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/Windows.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c8600f5715132045899569740de61f6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/Windows/addressables_content_state.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/AddressableAssetsData/Windows/addressables_content_state.bin -------------------------------------------------------------------------------- /Assets/AddressableAssetsData/Windows/addressables_content_state.bin.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c6f30727320d6b4891d59539b143c90 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Asset Manager.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7c253c4f2ebc76e44962b54b2f54e1c7 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Editor/Il2cppCustomFlag.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEditor.Build; 3 | using UnityEditor.Build.Reporting; 4 | 5 | public class Il2cppCustomFlag : IPreprocessBuildWithReport 6 | { 7 | public int callbackOrder { get { return 0; } } 8 | 9 | public void OnPreprocessBuild(BuildReport report) 10 | { 11 | #if UNITY_IOS || UNITY_ANDROID 12 | ScriptingImplementation backend = PlayerSettings.GetScriptingBackend(BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget)); 13 | if (backend == ScriptingImplementation.IL2CPP) 14 | { 15 | PlayerSettings.SetAdditionalIl2CppArgs("--maximum-recursive-generic-depth=50"); 16 | } 17 | #endif 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Editor/Il2cppCustomFlag.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d63d4dda384415f4ba2e576c89846b76 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5c11726d7e6a66742b48c4a7f0e0d934 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ffb24e2cbda18a149a9f7b60e266dc07 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-02.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Audio/DM-CGS-02.wav -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-02.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dc6614beca09347ec9b258f12d154bdd 3 | labels: 4 | - Audio 5 | - Casual 6 | - Sound 7 | - SFX 8 | - Effect 9 | timeCreated: 1453238770 10 | licenseType: Store 11 | AudioImporter: 12 | serializedVersion: 6 13 | defaultSettings: 14 | loadType: 0 15 | sampleRateSetting: 0 16 | sampleRateOverride: 44100 17 | compressionFormat: 1 18 | quality: 1 19 | conversionMode: 0 20 | platformSettingOverrides: {} 21 | forceToMono: 0 22 | normalize: 1 23 | preloadAudioData: 1 24 | loadInBackground: 0 25 | 3D: 1 26 | userData: 27 | assetBundleName: 28 | assetBundleVariant: 29 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-03.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Audio/DM-CGS-03.wav -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-03.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19f89c6e740e7447f9e12a8310d3e973 3 | labels: 4 | - Audio 5 | - Casual 6 | - Sound 7 | - SFX 8 | - Effect 9 | timeCreated: 1453238763 10 | licenseType: Store 11 | AudioImporter: 12 | serializedVersion: 6 13 | defaultSettings: 14 | loadType: 0 15 | sampleRateSetting: 0 16 | sampleRateOverride: 44100 17 | compressionFormat: 1 18 | quality: 1 19 | conversionMode: 0 20 | platformSettingOverrides: {} 21 | forceToMono: 0 22 | normalize: 1 23 | preloadAudioData: 1 24 | loadInBackground: 0 25 | 3D: 1 26 | userData: 27 | assetBundleName: 28 | assetBundleVariant: 29 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-05.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Audio/DM-CGS-05.wav -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-05.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b99da9a57308d4ba1bee1cf1d9038376 3 | labels: 4 | - Audio 5 | - Casual 6 | - Sound 7 | - SFX 8 | - Effect 9 | timeCreated: 1453238769 10 | licenseType: Store 11 | AudioImporter: 12 | serializedVersion: 6 13 | defaultSettings: 14 | loadType: 0 15 | sampleRateSetting: 0 16 | sampleRateOverride: 44100 17 | compressionFormat: 1 18 | quality: 1 19 | conversionMode: 0 20 | platformSettingOverrides: {} 21 | forceToMono: 0 22 | normalize: 1 23 | preloadAudioData: 1 24 | loadInBackground: 0 25 | 3D: 1 26 | userData: 27 | assetBundleName: 28 | assetBundleVariant: 29 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-07.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Audio/DM-CGS-07.wav -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-07.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c5292ba5cf254919a6b9e2b18e04f49 3 | labels: 4 | - Audio 5 | - Casual 6 | - Sound 7 | - SFX 8 | - Effect 9 | timeCreated: 1453238763 10 | licenseType: Store 11 | AudioImporter: 12 | serializedVersion: 6 13 | defaultSettings: 14 | loadType: 0 15 | sampleRateSetting: 0 16 | sampleRateOverride: 44100 17 | compressionFormat: 1 18 | quality: 1 19 | conversionMode: 0 20 | platformSettingOverrides: {} 21 | forceToMono: 0 22 | normalize: 1 23 | preloadAudioData: 1 24 | loadInBackground: 0 25 | 3D: 1 26 | userData: 27 | assetBundleName: 28 | assetBundleVariant: 29 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-15.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Audio/DM-CGS-15.wav -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-15.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0c008ee3ee72a4362a35be25fa5de043 3 | labels: 4 | - Audio 5 | - Casual 6 | - Sound 7 | - SFX 8 | - Effect 9 | timeCreated: 1453238763 10 | licenseType: Store 11 | AudioImporter: 12 | serializedVersion: 6 13 | defaultSettings: 14 | loadType: 0 15 | sampleRateSetting: 0 16 | sampleRateOverride: 44100 17 | compressionFormat: 1 18 | quality: 1 19 | conversionMode: 0 20 | platformSettingOverrides: {} 21 | forceToMono: 0 22 | normalize: 1 23 | preloadAudioData: 1 24 | loadInBackground: 0 25 | 3D: 1 26 | userData: 27 | assetBundleName: 28 | assetBundleVariant: 29 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-16.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Audio/DM-CGS-16.wav -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-16.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 724131bc8a7f34041bb9f1701f0cb58d 3 | labels: 4 | - Audio 5 | - Casual 6 | - Sound 7 | - SFX 8 | - Effect 9 | timeCreated: 1453238765 10 | licenseType: Store 11 | AudioImporter: 12 | serializedVersion: 6 13 | defaultSettings: 14 | loadType: 0 15 | sampleRateSetting: 0 16 | sampleRateOverride: 44100 17 | compressionFormat: 1 18 | quality: 1 19 | conversionMode: 0 20 | platformSettingOverrides: {} 21 | forceToMono: 0 22 | normalize: 1 23 | preloadAudioData: 1 24 | loadInBackground: 0 25 | 3D: 1 26 | userData: 27 | assetBundleName: 28 | assetBundleVariant: 29 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-21.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Audio/DM-CGS-21.wav -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-21.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ffb159a21c8a04135a5616979c828fab 3 | labels: 4 | - Audio 5 | - Casual 6 | - Sound 7 | - SFX 8 | - Effect 9 | timeCreated: 1453238771 10 | licenseType: Store 11 | AudioImporter: 12 | serializedVersion: 6 13 | defaultSettings: 14 | loadType: 0 15 | sampleRateSetting: 0 16 | sampleRateOverride: 44100 17 | compressionFormat: 1 18 | quality: 1 19 | conversionMode: 0 20 | platformSettingOverrides: {} 21 | forceToMono: 0 22 | normalize: 1 23 | preloadAudioData: 1 24 | loadInBackground: 0 25 | 3D: 1 26 | userData: 27 | assetBundleName: 28 | assetBundleVariant: 29 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-22.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Audio/DM-CGS-22.wav -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Audio/DM-CGS-22.wav.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8d04c6f80a1140db85ede568dab1f51 3 | labels: 4 | - Audio 5 | - Casual 6 | - Sound 7 | - SFX 8 | - Effect 9 | timeCreated: 1453238770 10 | licenseType: Store 11 | AudioImporter: 12 | serializedVersion: 6 13 | defaultSettings: 14 | loadType: 0 15 | sampleRateSetting: 0 16 | sampleRateOverride: 44100 17 | compressionFormat: 1 18 | quality: 1 19 | conversionMode: 0 20 | platformSettingOverrides: {} 21 | forceToMono: 0 22 | normalize: 1 23 | preloadAudioData: 1 24 | loadInBackground: 0 25 | 3D: 1 26 | userData: 27 | assetBundleName: 28 | assetBundleVariant: 29 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Data Objects.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a7d860b31c94c4840bd991878f6a647e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Data Objects/Data Container.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: a394731ed4783124aae72e0caf7d55e8, type: 3} 13 | m_Name: Data Container 14 | m_EditorClassIdentifier: 15 | _audioClips: 16 | - m_AssetGUID: ffb159a21c8a04135a5616979c828fab 17 | m_SubObjectName: 18 | - m_AssetGUID: 0c008ee3ee72a4362a35be25fa5de043 19 | m_SubObjectName: 20 | - m_AssetGUID: b99da9a57308d4ba1bee1cf1d9038376 21 | m_SubObjectName: 22 | - m_AssetGUID: 2c5292ba5cf254919a6b9e2b18e04f49 23 | m_SubObjectName: 24 | - m_AssetGUID: 724131bc8a7f34041bb9f1701f0cb58d 25 | m_SubObjectName: 26 | - m_AssetGUID: 19f89c6e740e7447f9e12a8310d3e973 27 | m_SubObjectName: 28 | - m_AssetGUID: dc6614beca09347ec9b258f12d154bdd 29 | m_SubObjectName: 30 | - m_AssetGUID: d8d04c6f80a1140db85ede568dab1f51 31 | m_SubObjectName: 32 | _particleSystems: 33 | - m_AssetGUID: 96730f8640590934eacb6f860058e7f9 34 | m_SubObjectName: 35 | - m_AssetGUID: acf39d9f4addf294d93fa56fa373961b 36 | m_SubObjectName: 37 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Data Objects/Data Container.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f90e46a43b921fa408e4d0da4ced73f9 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5ab59a9d94bdab2498ff39df98367d27 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/EmbersParticle.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: EmbersParticle 10 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _EMISSION 12 | m_LightmapFlags: 1 13 | m_CustomRenderQueue: -1 14 | stringTagMap: {} 15 | m_SavedProperties: 16 | serializedVersion: 2 17 | m_TexEnvs: 18 | - first: 19 | name: _BumpMap 20 | second: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - first: 25 | name: _DetailAlbedoMap 26 | second: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - first: 31 | name: _DetailMask 32 | second: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - first: 37 | name: _DetailNormalMap 38 | second: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - first: 43 | name: _EmissionMap 44 | second: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - first: 49 | name: _MainTex 50 | second: 51 | m_Texture: {fileID: 10300, guid: 0000000000000000f000000000000000, type: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - first: 55 | name: _MetallicGlossMap 56 | second: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | - first: 61 | name: _Normal 62 | second: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - first: 67 | name: _OcclusionMap 68 | second: 69 | m_Texture: {fileID: 0} 70 | m_Scale: {x: 1, y: 1} 71 | m_Offset: {x: 0, y: 0} 72 | - first: 73 | name: _ParallaxMap 74 | second: 75 | m_Texture: {fileID: 0} 76 | m_Scale: {x: 1, y: 1} 77 | m_Offset: {x: 0, y: 0} 78 | m_Floats: 79 | - first: 80 | name: _BumpScale 81 | second: 1 82 | - first: 83 | name: _Cutoff 84 | second: 0.5 85 | - first: 86 | name: _DetailNormalMapScale 87 | second: 1 88 | - first: 89 | name: _DstBlend 90 | second: 0 91 | - first: 92 | name: _GlossMapScale 93 | second: 1 94 | - first: 95 | name: _Glossiness 96 | second: 0.5 97 | - first: 98 | name: _GlossyReflections 99 | second: 1 100 | - first: 101 | name: _InvFade 102 | second: 3 103 | - first: 104 | name: _Metallic 105 | second: 0 106 | - first: 107 | name: _Mode 108 | second: 0 109 | - first: 110 | name: _OcclusionStrength 111 | second: 1 112 | - first: 113 | name: _Parallax 114 | second: 0.02 115 | - first: 116 | name: _SmoothnessTextureChannel 117 | second: 0 118 | - first: 119 | name: _SpecularHighlights 120 | second: 1 121 | - first: 122 | name: _SrcBlend 123 | second: 1 124 | - first: 125 | name: _UVSec 126 | second: 0 127 | - first: 128 | name: _ZWrite 129 | second: 1 130 | m_Colors: 131 | - first: 132 | name: _Color 133 | second: {r: 1, g: 1, b: 1, a: 1} 134 | - first: 135 | name: _EmissionColor 136 | second: {r: 0, g: 0, b: 0, a: 1} 137 | - first: 138 | name: _TintColor 139 | second: {r: 1, g: 1, b: 1, a: 0.5} 140 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/EmbersParticle.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 776677ab3818fb249adaca05f4e04545 3 | timeCreated: 1471532950 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/FlameParticle.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: FlameParticle 10 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _EMISSION 12 | m_LightmapFlags: 1 13 | m_CustomRenderQueue: 5000 14 | stringTagMap: {} 15 | m_SavedProperties: 16 | serializedVersion: 2 17 | m_TexEnvs: 18 | - first: 19 | name: _BumpMap 20 | second: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - first: 25 | name: _DetailAlbedoMap 26 | second: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - first: 31 | name: _DetailMask 32 | second: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - first: 37 | name: _DetailNormalMap 38 | second: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - first: 43 | name: _EmissionMap 44 | second: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - first: 49 | name: _MainTex 50 | second: 51 | m_Texture: {fileID: 2800000, guid: 838696ee09635f647b630a61fac71a72, type: 3} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - first: 55 | name: _MetallicGlossMap 56 | second: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | - first: 61 | name: _OcclusionMap 62 | second: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - first: 67 | name: _ParallaxMap 68 | second: 69 | m_Texture: {fileID: 0} 70 | m_Scale: {x: 1, y: 1} 71 | m_Offset: {x: 0, y: 0} 72 | m_Floats: 73 | - first: 74 | name: _BumpScale 75 | second: 1 76 | - first: 77 | name: _Cutoff 78 | second: 0.5 79 | - first: 80 | name: _DetailNormalMapScale 81 | second: 1 82 | - first: 83 | name: _DstBlend 84 | second: 0 85 | - first: 86 | name: _GlossMapScale 87 | second: 1 88 | - first: 89 | name: _Glossiness 90 | second: 0.5 91 | - first: 92 | name: _GlossyReflections 93 | second: 1 94 | - first: 95 | name: _InvFade 96 | second: 3 97 | - first: 98 | name: _Metallic 99 | second: 0 100 | - first: 101 | name: _Mode 102 | second: 0 103 | - first: 104 | name: _OcclusionStrength 105 | second: 1 106 | - first: 107 | name: _Parallax 108 | second: 0.02 109 | - first: 110 | name: _SmoothnessTextureChannel 111 | second: 0 112 | - first: 113 | name: _SpecularHighlights 114 | second: 1 115 | - first: 116 | name: _SrcBlend 117 | second: 1 118 | - first: 119 | name: _UVSec 120 | second: 0 121 | - first: 122 | name: _ZWrite 123 | second: 1 124 | m_Colors: 125 | - first: 126 | name: _Color 127 | second: {r: 1, g: 1, b: 1, a: 1} 128 | - first: 129 | name: _EmissionColor 130 | second: {r: 0, g: 0, b: 0, a: 1} 131 | - first: 132 | name: _TintColor 133 | second: {r: 0.8602941, g: 0.8602941, b: 0.8602941, a: 0.5} 134 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/FlameParticle.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bd8c234372a08af408b82538314378fe 3 | timeCreated: 1471521655 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/FlameRoundYellowParticle.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: FlameRoundYellowParticle 10 | m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _ALPHABLEND_ON _FADING_ON 12 | m_LightmapFlags: 0 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: 3000 16 | stringTagMap: 17 | RenderType: Transparent 18 | disabledShaderPasses: 19 | - ALWAYS 20 | m_SavedProperties: 21 | serializedVersion: 3 22 | m_TexEnvs: 23 | - _BumpMap: 24 | m_Texture: {fileID: 0} 25 | m_Scale: {x: 1, y: 1} 26 | m_Offset: {x: 0, y: 0} 27 | - _DetailAlbedoMap: 28 | m_Texture: {fileID: 0} 29 | m_Scale: {x: 1, y: 1} 30 | m_Offset: {x: 0, y: 0} 31 | - _DetailMask: 32 | m_Texture: {fileID: 0} 33 | m_Scale: {x: 1, y: 1} 34 | m_Offset: {x: 0, y: 0} 35 | - _DetailNormalMap: 36 | m_Texture: {fileID: 0} 37 | m_Scale: {x: 1, y: 1} 38 | m_Offset: {x: 0, y: 0} 39 | - _EmissionMap: 40 | m_Texture: {fileID: 0} 41 | m_Scale: {x: 1, y: 1} 42 | m_Offset: {x: 0, y: 0} 43 | - _MainTex: 44 | m_Texture: {fileID: 2800000, guid: 408718fd5f763de42b12f849570ddf58, type: 3} 45 | m_Scale: {x: 1, y: 1} 46 | m_Offset: {x: 0, y: 0} 47 | - _MetallicGlossMap: 48 | m_Texture: {fileID: 0} 49 | m_Scale: {x: 1, y: 1} 50 | m_Offset: {x: 0, y: 0} 51 | - _OcclusionMap: 52 | m_Texture: {fileID: 0} 53 | m_Scale: {x: 1, y: 1} 54 | m_Offset: {x: 0, y: 0} 55 | - _ParallaxMap: 56 | m_Texture: {fileID: 0} 57 | m_Scale: {x: 1, y: 1} 58 | m_Offset: {x: 0, y: 0} 59 | - _SpecGlossMap: 60 | m_Texture: {fileID: 0} 61 | m_Scale: {x: 1, y: 1} 62 | m_Offset: {x: 0, y: 0} 63 | m_Floats: 64 | - _BlendOp: 0 65 | - _BumpScale: 1 66 | - _CameraFadingEnabled: 0 67 | - _CameraFarFadeDistance: 2 68 | - _CameraNearFadeDistance: 1 69 | - _ColorMode: 0 70 | - _Cull: 2 71 | - _Cutoff: 0.5 72 | - _DetailNormalMapScale: 1 73 | - _DistortionBlend: 1 74 | - _DistortionEnabled: 0 75 | - _DistortionStrength: 1 76 | - _DistortionStrengthScaled: 0.1 77 | - _DstBlend: 1 78 | - _EmissionEnabled: 0 79 | - _FlipbookMode: 0 80 | - _GlossMapScale: 1 81 | - _Glossiness: 0 82 | - _GlossyReflections: 1 83 | - _InvFade: 1.08 84 | - _LightingEnabled: 0 85 | - _Metallic: 0 86 | - _Mode: 4 87 | - _OcclusionStrength: 1 88 | - _Parallax: 0.02 89 | - _SmoothnessTextureChannel: 0 90 | - _SoftParticlesEnabled: 1 91 | - _SoftParticlesFarFadeDistance: 1 92 | - _SoftParticlesNearFadeDistance: 0 93 | - _SpecularHighlights: 1 94 | - _SrcBlend: 5 95 | - _UVSec: 0 96 | - _ZWrite: 0 97 | m_Colors: 98 | - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} 99 | - _Color: {r: 1.0592737, g: 1.0592737, b: 1.0592737, a: 1} 100 | - _ColorAddSubDiff: {r: 1, g: 0, b: 0, a: 0} 101 | - _EmissionColor: {r: 2.691177, g: 1.7967563, b: 0.45512548, a: 1} 102 | - _SoftParticleFadeParams: {r: 0, g: 1, b: 0, a: 0} 103 | - _SpecColor: {r: 0, g: 0, b: 0, a: 1} 104 | - _TintColor: {r: 1, g: 1, b: 1, a: 1} 105 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/FlameRoundYellowParticle.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7f098ed9997e714193be5e86df013f4 3 | timeCreated: 1472825013 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/LightningParticle.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: LightningParticle 10 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _EMISSION 12 | m_LightmapFlags: 1 13 | m_CustomRenderQueue: -1 14 | stringTagMap: {} 15 | m_SavedProperties: 16 | serializedVersion: 2 17 | m_TexEnvs: 18 | - first: 19 | name: _BumpMap 20 | second: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - first: 25 | name: _DetailAlbedoMap 26 | second: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - first: 31 | name: _DetailMask 32 | second: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - first: 37 | name: _DetailNormalMap 38 | second: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - first: 43 | name: _EmissionMap 44 | second: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - first: 49 | name: _MainTex 50 | second: 51 | m_Texture: {fileID: 2800000, guid: 06e4a78c75e10c145a9156e32089ec9c, type: 3} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - first: 55 | name: _MetallicGlossMap 56 | second: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | - first: 61 | name: _OcclusionMap 62 | second: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - first: 67 | name: _ParallaxMap 68 | second: 69 | m_Texture: {fileID: 0} 70 | m_Scale: {x: 1, y: 1} 71 | m_Offset: {x: 0, y: 0} 72 | m_Floats: 73 | - first: 74 | name: _BumpScale 75 | second: 1 76 | - first: 77 | name: _Cutoff 78 | second: 0.5 79 | - first: 80 | name: _DetailNormalMapScale 81 | second: 1 82 | - first: 83 | name: _DstBlend 84 | second: 0 85 | - first: 86 | name: _GlossMapScale 87 | second: 1 88 | - first: 89 | name: _Glossiness 90 | second: 0.5 91 | - first: 92 | name: _GlossyReflections 93 | second: 1 94 | - first: 95 | name: _InvFade 96 | second: 2.96 97 | - first: 98 | name: _Metallic 99 | second: 0 100 | - first: 101 | name: _Mode 102 | second: 0 103 | - first: 104 | name: _OcclusionStrength 105 | second: 1 106 | - first: 107 | name: _Parallax 108 | second: 0.02 109 | - first: 110 | name: _SmoothnessTextureChannel 111 | second: 0 112 | - first: 113 | name: _SpecularHighlights 114 | second: 1 115 | - first: 116 | name: _SrcBlend 117 | second: 1 118 | - first: 119 | name: _UVSec 120 | second: 0 121 | - first: 122 | name: _ZWrite 123 | second: 1 124 | m_Colors: 125 | - first: 126 | name: _Color 127 | second: {r: 1, g: 1, b: 1, a: 1} 128 | - first: 129 | name: _EmissionColor 130 | second: {r: 0, g: 0, b: 0, a: 1} 131 | - first: 132 | name: _TintColor 133 | second: {r: 1, g: 1, b: 1, a: 0.5} 134 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/LightningParticle.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 123ac6dc79004e54b8b352a7e64acdca 3 | timeCreated: 1472052335 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/PlasmaExplosionParticle.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: PlasmaExplosionParticle 10 | m_Shader: {fileID: 45, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _ALPHABLEND_ON _EMISSION 12 | m_LightmapFlags: 1 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: 3000 16 | stringTagMap: 17 | RenderType: Transparent 18 | disabledShaderPasses: [] 19 | m_SavedProperties: 20 | serializedVersion: 3 21 | m_TexEnvs: 22 | - _BumpMap: 23 | m_Texture: {fileID: 0} 24 | m_Scale: {x: 1, y: 1} 25 | m_Offset: {x: 0, y: 0} 26 | - _DetailAlbedoMap: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - _DetailMask: 31 | m_Texture: {fileID: 0} 32 | m_Scale: {x: 1, y: 1} 33 | m_Offset: {x: 0, y: 0} 34 | - _DetailNormalMap: 35 | m_Texture: {fileID: 0} 36 | m_Scale: {x: 1, y: 1} 37 | m_Offset: {x: 0, y: 0} 38 | - _EmissionMap: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - _MainTex: 43 | m_Texture: {fileID: 2800000, guid: d3c9883e2f0eef44f9241b6f8428f9fc, type: 3} 44 | m_Scale: {x: 1, y: 1} 45 | m_Offset: {x: 0, y: 0} 46 | - _MetallicGlossMap: 47 | m_Texture: {fileID: 0} 48 | m_Scale: {x: 1, y: 1} 49 | m_Offset: {x: 0, y: 0} 50 | - _OcclusionMap: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - _ParallaxMap: 55 | m_Texture: {fileID: 0} 56 | m_Scale: {x: 1, y: 1} 57 | m_Offset: {x: 0, y: 0} 58 | - _SpecGlossMap: 59 | m_Texture: {fileID: 0} 60 | m_Scale: {x: 1, y: 1} 61 | m_Offset: {x: 0, y: 0} 62 | m_Floats: 63 | - _BumpScale: 0.2 64 | - _Cutoff: 0.5 65 | - _DetailNormalMapScale: 1 66 | - _DstBlend: 10 67 | - _GlossMapScale: 1 68 | - _Glossiness: 0 69 | - _GlossyReflections: 1 70 | - _InvFade: 1 71 | - _Metallic: 0 72 | - _Mode: 2 73 | - _OcclusionStrength: 1 74 | - _Parallax: 0.02 75 | - _SmoothnessTextureChannel: 0 76 | - _SpecularHighlights: 1 77 | - _SrcBlend: 5 78 | - _UVSec: 0 79 | - _ZWrite: 0 80 | m_Colors: 81 | - _Color: {r: 0.21323532, g: 0.21323532, b: 0.21323532, a: 1} 82 | - _EmissionColor: {r: 0.13235293, g: 0.2645538, b: 0.375, a: 1} 83 | - _SpecColor: {r: 0, g: 0, b: 0, a: 1} 84 | - _TintColor: {r: 1, g: 1, b: 1, a: 0.5} 85 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/PlasmaExplosionParticle.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7ff1ab0b724442843965e2dd0f02e969 3 | timeCreated: 1472829232 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/PlasmaFireParticle.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: PlasmaFireParticle 10 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _ALPHABLEND_ON _EMISSION 12 | m_LightmapFlags: 1 13 | m_CustomRenderQueue: -1 14 | stringTagMap: {} 15 | m_SavedProperties: 16 | serializedVersion: 2 17 | m_TexEnvs: 18 | - first: 19 | name: _BumpMap 20 | second: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - first: 25 | name: _DetailAlbedoMap 26 | second: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - first: 31 | name: _DetailMask 32 | second: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - first: 37 | name: _DetailNormalMap 38 | second: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - first: 43 | name: _EmissionMap 44 | second: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - first: 49 | name: _MainTex 50 | second: 51 | m_Texture: {fileID: 2800000, guid: aa0907451008d784b8ef5b1c0900465d, type: 3} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - first: 55 | name: _MetallicGlossMap 56 | second: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | - first: 61 | name: _OcclusionMap 62 | second: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - first: 67 | name: _ParallaxMap 68 | second: 69 | m_Texture: {fileID: 0} 70 | m_Scale: {x: 1, y: 1} 71 | m_Offset: {x: 0, y: 0} 72 | - first: 73 | name: _SpecGlossMap 74 | second: 75 | m_Texture: {fileID: 0} 76 | m_Scale: {x: 1, y: 1} 77 | m_Offset: {x: 0, y: 0} 78 | m_Floats: 79 | - first: 80 | name: _BumpScale 81 | second: 1 82 | - first: 83 | name: _Cutoff 84 | second: 0.5 85 | - first: 86 | name: _DetailNormalMapScale 87 | second: 1 88 | - first: 89 | name: _DstBlend 90 | second: 10 91 | - first: 92 | name: _GlossMapScale 93 | second: 1 94 | - first: 95 | name: _Glossiness 96 | second: 0 97 | - first: 98 | name: _GlossyReflections 99 | second: 1 100 | - first: 101 | name: _InvFade 102 | second: 1.4 103 | - first: 104 | name: _Metallic 105 | second: 0 106 | - first: 107 | name: _Mode 108 | second: 2 109 | - first: 110 | name: _OcclusionStrength 111 | second: 1 112 | - first: 113 | name: _Parallax 114 | second: 0.02 115 | - first: 116 | name: _SmoothnessTextureChannel 117 | second: 0 118 | - first: 119 | name: _SpecularHighlights 120 | second: 1 121 | - first: 122 | name: _SrcBlend 123 | second: 5 124 | - first: 125 | name: _UVSec 126 | second: 0 127 | - first: 128 | name: _ZWrite 129 | second: 0 130 | m_Colors: 131 | - first: 132 | name: _Color 133 | second: {r: 1, g: 1, b: 1, a: 1} 134 | - first: 135 | name: _EmissionColor 136 | second: {r: 2.691177, g: 1.7967563, b: 0.45512548, a: 1} 137 | - first: 138 | name: _SpecColor 139 | second: {r: 0, g: 0, b: 0, a: 1} 140 | - first: 141 | name: _TintColor 142 | second: {r: 1, g: 1, b: 1, a: 1} 143 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/PlasmaFireParticle.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5387d3c2ba98fc44a0f5744f94ce48c 3 | timeCreated: 1473155171 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/ShockWaveParticle.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: ShockWaveParticle 10 | m_Shader: {fileID: 200, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _EMISSION 12 | m_LightmapFlags: 1 13 | m_CustomRenderQueue: -1 14 | stringTagMap: {} 15 | m_SavedProperties: 16 | serializedVersion: 2 17 | m_TexEnvs: 18 | - first: 19 | name: _BumpMap 20 | second: 21 | m_Texture: {fileID: 0} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - first: 25 | name: _DetailAlbedoMap 26 | second: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - first: 31 | name: _DetailMask 32 | second: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - first: 37 | name: _DetailNormalMap 38 | second: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - first: 43 | name: _EmissionMap 44 | second: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - first: 49 | name: _MainTex 50 | second: 51 | m_Texture: {fileID: 0} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - first: 55 | name: _MetallicGlossMap 56 | second: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | - first: 61 | name: _OcclusionMap 62 | second: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - first: 67 | name: _ParallaxMap 68 | second: 69 | m_Texture: {fileID: 0} 70 | m_Scale: {x: 1, y: 1} 71 | m_Offset: {x: 0, y: 0} 72 | m_Floats: 73 | - first: 74 | name: _BumpScale 75 | second: 1 76 | - first: 77 | name: _Cutoff 78 | second: 0.5 79 | - first: 80 | name: _DetailNormalMapScale 81 | second: 1 82 | - first: 83 | name: _DstBlend 84 | second: 0 85 | - first: 86 | name: _GlossMapScale 87 | second: 1 88 | - first: 89 | name: _Glossiness 90 | second: 0.5 91 | - first: 92 | name: _GlossyReflections 93 | second: 1 94 | - first: 95 | name: _InvFade 96 | second: 0.1 97 | - first: 98 | name: _Metallic 99 | second: 0 100 | - first: 101 | name: _Mode 102 | second: 0 103 | - first: 104 | name: _OcclusionStrength 105 | second: 1 106 | - first: 107 | name: _Parallax 108 | second: 0.02 109 | - first: 110 | name: _SmoothnessTextureChannel 111 | second: 0 112 | - first: 113 | name: _SpecularHighlights 114 | second: 1 115 | - first: 116 | name: _SrcBlend 117 | second: 1 118 | - first: 119 | name: _UVSec 120 | second: 0 121 | - first: 122 | name: _ZWrite 123 | second: 1 124 | m_Colors: 125 | - first: 126 | name: _Color 127 | second: {r: 1, g: 1, b: 1, a: 1} 128 | - first: 129 | name: _EmissionColor 130 | second: {r: 0, g: 0, b: 0, a: 1} 131 | - first: 132 | name: _TintColor 133 | second: {r: 1, g: 1, b: 1, a: 0.5} 134 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/ShockWaveParticle.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f88239865da4c79468e051ceb78c0317 3 | timeCreated: 1472113426 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/SmokeDarkParticle.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: SmokeDarkParticle 10 | m_Shader: {fileID: 4800000, guid: 5e0b7dc1782a986469ed1446388360f5, type: 3} 11 | m_ShaderKeywords: _ALPHABLEND_ON _EMISSION _NORMALMAP 12 | m_LightmapFlags: 1 13 | m_CustomRenderQueue: 3000 14 | stringTagMap: {} 15 | m_SavedProperties: 16 | serializedVersion: 2 17 | m_TexEnvs: 18 | - first: 19 | name: _BumpMap 20 | second: 21 | m_Texture: {fileID: 2800000, guid: f343d204ab60b284597aa1742824864c, type: 3} 22 | m_Scale: {x: 1, y: 1} 23 | m_Offset: {x: 0, y: 0} 24 | - first: 25 | name: _DetailAlbedoMap 26 | second: 27 | m_Texture: {fileID: 0} 28 | m_Scale: {x: 1, y: 1} 29 | m_Offset: {x: 0, y: 0} 30 | - first: 31 | name: _DetailMask 32 | second: 33 | m_Texture: {fileID: 0} 34 | m_Scale: {x: 1, y: 1} 35 | m_Offset: {x: 0, y: 0} 36 | - first: 37 | name: _DetailNormalMap 38 | second: 39 | m_Texture: {fileID: 0} 40 | m_Scale: {x: 1, y: 1} 41 | m_Offset: {x: 0, y: 0} 42 | - first: 43 | name: _EmissionMap 44 | second: 45 | m_Texture: {fileID: 0} 46 | m_Scale: {x: 1, y: 1} 47 | m_Offset: {x: 0, y: 0} 48 | - first: 49 | name: _MainTex 50 | second: 51 | m_Texture: {fileID: 2800000, guid: 26e206bd730800f4f82b828eb9f1c067, type: 3} 52 | m_Scale: {x: 1, y: 1} 53 | m_Offset: {x: 0, y: 0} 54 | - first: 55 | name: _MetallicGlossMap 56 | second: 57 | m_Texture: {fileID: 0} 58 | m_Scale: {x: 1, y: 1} 59 | m_Offset: {x: 0, y: 0} 60 | - first: 61 | name: _Normal 62 | second: 63 | m_Texture: {fileID: 0} 64 | m_Scale: {x: 1, y: 1} 65 | m_Offset: {x: 0, y: 0} 66 | - first: 67 | name: _OcclusionMap 68 | second: 69 | m_Texture: {fileID: 0} 70 | m_Scale: {x: 1, y: 1} 71 | m_Offset: {x: 0, y: 0} 72 | - first: 73 | name: _ParallaxMap 74 | second: 75 | m_Texture: {fileID: 0} 76 | m_Scale: {x: 1, y: 1} 77 | m_Offset: {x: 0, y: 0} 78 | - first: 79 | name: _SpecGlossMap 80 | second: 81 | m_Texture: {fileID: 0} 82 | m_Scale: {x: 1, y: 1} 83 | m_Offset: {x: 0, y: 0} 84 | m_Floats: 85 | - first: 86 | name: _BumpScale 87 | second: 0.5 88 | - first: 89 | name: _Cutoff 90 | second: 0.065 91 | - first: 92 | name: _DetailNormalMapScale 93 | second: 1 94 | - first: 95 | name: _DstBlend 96 | second: 10 97 | - first: 98 | name: _GlossMapScale 99 | second: 1 100 | - first: 101 | name: _Glossiness 102 | second: 0 103 | - first: 104 | name: _GlossyReflections 105 | second: 1 106 | - first: 107 | name: _InvFade 108 | second: 1 109 | - first: 110 | name: _Metallic 111 | second: 0 112 | - first: 113 | name: _Mode 114 | second: 2 115 | - first: 116 | name: _OcclusionStrength 117 | second: 1 118 | - first: 119 | name: _Parallax 120 | second: 0.02 121 | - first: 122 | name: _SmoothnessTextureChannel 123 | second: 0 124 | - first: 125 | name: _SpecularHighlights 126 | second: 1 127 | - first: 128 | name: _SrcBlend 129 | second: 5 130 | - first: 131 | name: _UVSec 132 | second: 0 133 | - first: 134 | name: _ZWrite 135 | second: 0 136 | m_Colors: 137 | - first: 138 | name: _Color 139 | second: {r: 0.21323532, g: 0.21323532, b: 0.21323532, a: 1} 140 | - first: 141 | name: _EmisColor 142 | second: {r: 0, g: 0, b: 0, a: 0} 143 | - first: 144 | name: _EmissionColor 145 | second: {r: 0, g: 0, b: 0, a: 1} 146 | - first: 147 | name: _SpecColor 148 | second: {r: 0, g: 0, b: 0, a: 1} 149 | - first: 150 | name: _TintColor 151 | second: {r: 1, g: 1, b: 1, a: 0.5} 152 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/SmokeDarkParticle.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 698a8134f4ebbbd4e848648685f68067 3 | timeCreated: 1471944184 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/StoneSurface.mat: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!21 &2100000 4 | Material: 5 | serializedVersion: 6 6 | m_ObjectHideFlags: 0 7 | m_PrefabParentObject: {fileID: 0} 8 | m_PrefabInternal: {fileID: 0} 9 | m_Name: StoneSurface 10 | m_Shader: {fileID: 45, guid: 0000000000000000f000000000000000, type: 0} 11 | m_ShaderKeywords: _EMISSION _NORMALMAP 12 | m_LightmapFlags: 1 13 | m_EnableInstancingVariants: 0 14 | m_DoubleSidedGI: 0 15 | m_CustomRenderQueue: -1 16 | stringTagMap: {} 17 | disabledShaderPasses: [] 18 | m_SavedProperties: 19 | serializedVersion: 3 20 | m_TexEnvs: 21 | - _BumpMap: 22 | m_Texture: {fileID: 2800000, guid: e6b70229308faa64880eac4945d59f5e, type: 3} 23 | m_Scale: {x: 1, y: 1} 24 | m_Offset: {x: 0, y: 0} 25 | - _DetailAlbedoMap: 26 | m_Texture: {fileID: 0} 27 | m_Scale: {x: 1, y: 1} 28 | m_Offset: {x: 0, y: 0} 29 | - _DetailMask: 30 | m_Texture: {fileID: 0} 31 | m_Scale: {x: 1, y: 1} 32 | m_Offset: {x: 0, y: 0} 33 | - _DetailNormalMap: 34 | m_Texture: {fileID: 0} 35 | m_Scale: {x: 1, y: 1} 36 | m_Offset: {x: 0, y: 0} 37 | - _EmissionMap: 38 | m_Texture: {fileID: 0} 39 | m_Scale: {x: 0.5, y: 0.5} 40 | m_Offset: {x: 0, y: 0} 41 | - _MainTex: 42 | m_Texture: {fileID: 2800000, guid: d6971144598309840aa5627e0797e545, type: 3} 43 | m_Scale: {x: 0.5, y: 0.5} 44 | m_Offset: {x: 0, y: 0} 45 | - _MetallicGlossMap: 46 | m_Texture: {fileID: 0} 47 | m_Scale: {x: 1, y: 1} 48 | m_Offset: {x: 0, y: 0} 49 | - _OcclusionMap: 50 | m_Texture: {fileID: 0} 51 | m_Scale: {x: 1, y: 1} 52 | m_Offset: {x: 0, y: 0} 53 | - _ParallaxMap: 54 | m_Texture: {fileID: 0} 55 | m_Scale: {x: 1, y: 1} 56 | m_Offset: {x: 0, y: 0} 57 | - _SpecGlossMap: 58 | m_Texture: {fileID: 0} 59 | m_Scale: {x: 1, y: 1} 60 | m_Offset: {x: 0, y: 0} 61 | m_Floats: 62 | - _BumpScale: 0.5 63 | - _Cutoff: 0.5 64 | - _DetailNormalMapScale: 1 65 | - _DstBlend: 0 66 | - _GlossMapScale: 1 67 | - _Glossiness: 0.442 68 | - _GlossyReflections: 1 69 | - _Metallic: 0 70 | - _Mode: 0 71 | - _OcclusionStrength: 1 72 | - _Parallax: 0.02 73 | - _SmoothnessTextureChannel: 0 74 | - _SpecularHighlights: 1 75 | - _SrcBlend: 1 76 | - _UVSec: 0 77 | - _ZWrite: 1 78 | m_Colors: 79 | - _Color: {r: 1, g: 1, b: 1, a: 1} 80 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} 81 | - _SpecColor: {r: 0.125, g: 0.1194853, b: 0.1194853, a: 1} 82 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Materials/StoneSurface.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3eb079016c4106b41bc3f19de570f770 3 | timeCreated: 1473946152 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Prefabs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ecddbcad515078447945efc85fa0c09b 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Prefabs/BigExplosionEffect.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: acf39d9f4addf294d93fa56fa373961b 3 | timeCreated: 1473157503 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Prefabs/PlasmaExplosionEffect.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 96730f8640590934eacb6f860058e7f9 3 | timeCreated: 1472572311 4 | licenseType: Store 5 | NativeFormatImporter: 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Scenes.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b3dfd24f83690e41be209f1fbb58d78 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Scenes/SampleScene.unity.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9fc0d4010bbf28b4594072e72b8655ab 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Scripts.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fa2553d8f4b0bc478818432183b4a3e 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Scripts/DataContainer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using Skywatch.AssetManagement; 4 | using Skywatch.AssetManagement.Pooling; 5 | using UnityEngine; 6 | using UnityEngine.AddressableAssets; 7 | using UnityEngine.ResourceManagement.AsyncOperations; 8 | 9 | [CreateAssetMenu(menuName = "Skywatch/Example/Data Container")] 10 | public class DataContainer : ScriptableObject 11 | { 12 | [SerializeField] List _audioClips; 13 | [SerializeField] List _particleSystems; 14 | 15 | 16 | 17 | public void PlayRandomAudioClip(AudioSource source) 18 | { 19 | if (!Application.isPlaying) 20 | return; 21 | 22 | var reference = _audioClips[UnityEngine.Random.Range(0, _audioClips.Count)]; 23 | 24 | if (AssetManager.TryGetOrLoadObjectAsync(reference, out AsyncOperationHandle handle)) 25 | { 26 | //The clip was already loaded 27 | PlayClip(source, handle.Result); 28 | } 29 | else 30 | { 31 | //The clip was not loaded. Wait for it to load, then play. 32 | handle.Completed += op => 33 | { 34 | PlayClip(source, op.Result); 35 | }; 36 | } 37 | 38 | } 39 | 40 | void PlayClip(AudioSource source, AudioClip clip) 41 | { 42 | source.PlayOneShot(clip); 43 | } 44 | 45 | public void InstantiateRandomParticleSystem(bool usePooling) 46 | { 47 | if (!Application.isPlaying) 48 | return; 49 | 50 | var reference = _particleSystems[UnityEngine.Random.Range(0, _particleSystems.Count)]; 51 | 52 | if (usePooling) 53 | { 54 | var pool = AssetReferencePool.GetOrCreate(reference, callback => 55 | { 56 | callback.gameObject.AddComponent(); 57 | }); 58 | 59 | if (pool.TryTake(Vector3.zero, Quaternion.identity, null, out var handle)) 60 | { 61 | //The asset is loaded and the pool is ready. 62 | //handle.Result contains a reference to the instantiated instance 63 | } 64 | else 65 | { 66 | //Pool waits for asset to load, then calls Take. 67 | //handle.Result is not yet ready, but will contain a reference to the instantiated instance once it is complete. 68 | } 69 | } 70 | else 71 | { 72 | if (AssetManager.TryInstantiateOrLoadAsync(reference, Vector3.zero, Quaternion.identity, null, out AsyncOperationHandle handle)) 73 | { 74 | //The particle system has already been loaded. 75 | Destroy(handle.Result.gameObject, 5f); 76 | } 77 | else 78 | { 79 | //The particle system was not yet loaded. 80 | handle.Completed += op => 81 | { 82 | Destroy(op.Result.gameObject, 5f); 83 | }; 84 | } 85 | } 86 | } 87 | 88 | public void DestroyAllInstances() 89 | { 90 | foreach (var assetReference in _particleSystems) 91 | { 92 | if (AssetManager.IsInstantiated(assetReference)) 93 | AssetManager.DestroyAllInstances(assetReference); 94 | } 95 | } 96 | 97 | public void UnloadAllAssets() 98 | { 99 | foreach (var assetReference in _audioClips) 100 | { 101 | if (AssetManager.IsLoaded(assetReference) || AssetManager.IsLoading(assetReference)) 102 | AssetManager.Unload(assetReference); 103 | } 104 | 105 | foreach (var assetReference in _particleSystems) 106 | { 107 | if (AssetManager.IsLoaded(assetReference) || AssetManager.IsLoading(assetReference)) 108 | AssetManager.Unload(assetReference); 109 | } 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Scripts/DataContainer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a394731ed4783124aae72e0caf7d55e8 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Scripts/EffectRecycler.cs: -------------------------------------------------------------------------------- 1 |  2 | using Skywatch.AssetManagement.Pooling; 3 | using UnityEngine; 4 | 5 | public class EffectRecycler : MonoBehaviour 6 | { 7 | ParticleSystem _particleSystem; 8 | PoolObject _poolObject; 9 | 10 | void Awake() 11 | { 12 | _particleSystem = GetComponent(); 13 | _poolObject = GetComponent(); 14 | if (!_particleSystem || !_poolObject) 15 | { 16 | Destroy(this); 17 | return; 18 | } 19 | } 20 | 21 | void Update() 22 | { 23 | if (!_particleSystem.IsAlive(true)) 24 | { 25 | _poolObject.ReturnToPool(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Scripts/EffectRecycler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e5661762a079dfa408a8d17438ec8988 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Scripts/ExampleUI.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | using Skywatch.AssetManagement; 6 | using UnityEngine; 7 | using UnityEngine.UI; 8 | 9 | public class ExampleUI : MonoBehaviour 10 | { 11 | [SerializeField] bool _preLoadAssets; 12 | [SerializeField] string _preLoadLabel = "preload"; 13 | bool _loadFinished; 14 | [SerializeField] bool _usePooling; 15 | 16 | [Space(10)] 17 | 18 | [SerializeField] DataContainer _dataContainer; 19 | [SerializeField] AudioSource _audioSource; 20 | 21 | [Space(10)] 22 | [SerializeField] InputField _labelInput; 23 | [SerializeField] Text _infoText; 24 | [SerializeField] GameObject _buttonsRoot; 25 | [SerializeField] GameObject _loadingRoot; 26 | 27 | void Awake() 28 | { 29 | _loadingRoot.SetActive(true); 30 | _buttonsRoot.SetActive(false); 31 | 32 | if (_preLoadAssets) 33 | { 34 | var handle = AssetManager.LoadAssetsByLabelAsync(_preLoadLabel); 35 | handle.Completed += op => 36 | { 37 | LoadFinished(); 38 | }; 39 | } 40 | else 41 | { 42 | LoadFinished(); 43 | } 44 | } 45 | 46 | void Update() 47 | { 48 | StringBuilder sb = new StringBuilder(); 49 | sb.AppendLine($"Loading Assets: {AssetManager.loadingAssetsCount}"); 50 | sb.AppendLine($"Loaded Assets: {AssetManager.loadedAssetsCount}"); 51 | sb.AppendLine($"Instantiated Assets: {AssetManager.instantiatedAssetsCount}"); 52 | _infoText.text = sb.ToString(); 53 | } 54 | 55 | void LoadFinished() 56 | { 57 | _loadFinished = true; 58 | _loadingRoot.SetActive(false); 59 | _buttonsRoot.SetActive(true); 60 | } 61 | 62 | public void PlayRandomAudioClip() 63 | { 64 | _dataContainer.PlayRandomAudioClip(_audioSource); 65 | } 66 | 67 | public void InstantiateRandomParticleSystem() 68 | { 69 | _dataContainer.InstantiateRandomParticleSystem(_usePooling); 70 | } 71 | 72 | public void DestroyAllInstances() 73 | { 74 | _dataContainer.DestroyAllInstances(); 75 | } 76 | 77 | public void UnloadAllAssets() 78 | { 79 | _dataContainer.UnloadAllAssets(); 80 | Resources.UnloadUnusedAssets(); 81 | GC.Collect(); 82 | } 83 | 84 | public void UnloadByLabel() 85 | { 86 | AssetManager.UnloadByLabel(_labelInput.text); 87 | Resources.UnloadUnusedAssets(); 88 | GC.Collect(); 89 | } 90 | 91 | public void LogLoadedAssets() 92 | { 93 | foreach (var loadedAsset in AssetManager.LoadedAssets) 94 | { 95 | Debug.Log(loadedAsset); 96 | } 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Scripts/ExampleUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 15b3d16724c970a4fa616389d0da1364 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Shaders.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2fd201b6ff22d844b54f6d3b7113926 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Shaders/SurfaceShader_VC.shader: -------------------------------------------------------------------------------- 1 | Shader "Custom/SurfaceShader_VC" { 2 | Properties{ 3 | _Color("Color", Color) = (1,1,1,1) 4 | _MainTex("Albedo (RGB)", 2D) = "white" {} 5 | _Normal("Normap Map", 2D) = "bump" {} 6 | 7 | } 8 | SubShader{ 9 | Tags{ "Queue" = "Transparent" "RenderType" = "Transparent" } 10 | LOD 200 11 | Blend One OneMinusSrcAlpha 12 | 13 | CGPROGRAM 14 | // Physically based Standard lighting model, and enable shadows on all light types 15 | #pragma surface surf Standard fullforwardshadows vertex:vert alpha:fade 16 | 17 | // Use shader model 3.0 target, to get nicer looking lighting 18 | #pragma target 3.0 19 | 20 | sampler2D _MainTex; 21 | sampler2D _Normal; 22 | 23 | struct Input { 24 | float2 uv_MainTex; 25 | float4 vertex : SV_POSITION; 26 | float4 color : COLOR; 27 | }; 28 | 29 | void vert(inout appdata_full v, out Input o) 30 | { 31 | UNITY_INITIALIZE_OUTPUT(Input, o); 32 | o.color = v.color; 33 | } 34 | 35 | fixed4 _Color; 36 | 37 | void surf(Input IN, inout SurfaceOutputStandard o) { 38 | // Albedo comes from a texture tinted by color 39 | fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color; 40 | o.Albedo = c.rgb*IN.color; 41 | o.Normal = UnpackNormal(tex2D(_Normal, IN.uv_MainTex)); 42 | o.Alpha = c.a*IN.color.a; 43 | } 44 | ENDCG 45 | } 46 | FallBack "Diffuse" 47 | } -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Shaders/SurfaceShader_VC.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5e0b7dc1782a986469ed1446388360f5 3 | timeCreated: 1473092108 4 | licenseType: Store 5 | ShaderImporter: 6 | defaultTextures: [] 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ad8e2ad50c7e9624da6e453a0a7d35ff 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/FlameParticleSheet.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Textures/FlameParticleSheet.tif -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/FlameParticleSheet.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 838696ee09635f647b630a61fac71a72 3 | timeCreated: 1471531069 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/FlameRoundGreyParticleSheet.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Textures/FlameRoundGreyParticleSheet.tif -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/FlameRoundGreyParticleSheet.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aa0907451008d784b8ef5b1c0900465d 3 | timeCreated: 1472741493 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/FlameRoundParticleSheet.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Textures/FlameRoundParticleSheet.tif -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/FlameRoundParticleSheet.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 408718fd5f763de42b12f849570ddf58 3 | timeCreated: 1474988750 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/LightningParticle.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Textures/LightningParticle.tif -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/LightningParticle.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06e4a78c75e10c145a9156e32089ec9c 3 | timeCreated: 1472052523 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/SmokePuff02ParticleSheet.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Textures/SmokePuff02ParticleSheet.tif -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/SmokePuff02ParticleSheet.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26e206bd730800f4f82b828eb9f1c067 3 | timeCreated: 1473254174 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/SmokePuffParticleSheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Textures/SmokePuffParticleSheet.png -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/SmokePuffParticleSheet.png.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3c9883e2f0eef44f9241b6f8428f9fc 3 | timeCreated: 1472824605 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 1 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | - buildTarget: Standalone 62 | maxTextureSize: 2048 63 | textureFormat: -1 64 | textureCompression: 1 65 | compressionQuality: 50 66 | crunchedCompression: 0 67 | allowsAlphaSplitting: 0 68 | overridden: 0 69 | spriteSheet: 70 | serializedVersion: 2 71 | sprites: [] 72 | outline: [] 73 | spritePackingTag: 74 | userData: 75 | assetBundleName: 76 | assetBundleVariant: 77 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/StoneAlbedo.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Textures/StoneAlbedo.tif -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/StoneAlbedo.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d6971144598309840aa5627e0797e545 3 | timeCreated: 1473946143 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 1 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 0 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/StoneNormals.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akauper/Addressables-AssetManager/f9aa7c413d9004cba01aed96ba455d92c7295160/Assets/Asset Manager/Example/Textures/StoneNormals.tif -------------------------------------------------------------------------------- /Assets/Asset Manager/Example/Textures/StoneNormals.tif.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e6b70229308faa64880eac4945d59f5e 3 | timeCreated: 1473946176 4 | licenseType: Store 5 | TextureImporter: 6 | fileIDToRecycleName: {} 7 | serializedVersion: 4 8 | mipmaps: 9 | mipMapMode: 0 10 | enableMipMap: 1 11 | sRGBTexture: 0 12 | linearTexture: 0 13 | fadeOut: 0 14 | borderMipMap: 0 15 | mipMapFadeDistanceStart: 1 16 | mipMapFadeDistanceEnd: 3 17 | bumpmap: 18 | convertToNormalMap: 0 19 | externalNormalMap: 0 20 | heightScale: 0.25 21 | normalMapFilter: 0 22 | isReadable: 0 23 | grayScaleToAlpha: 0 24 | generateCubemap: 6 25 | cubemapConvolution: 0 26 | seamlessCubemap: 0 27 | textureFormat: 1 28 | maxTextureSize: 2048 29 | textureSettings: 30 | filterMode: -1 31 | aniso: -1 32 | mipBias: -1 33 | wrapMode: -1 34 | nPOTScale: 1 35 | lightmap: 0 36 | compressionQuality: 50 37 | spriteMode: 0 38 | spriteExtrude: 1 39 | spriteMeshType: 1 40 | alignment: 0 41 | spritePivot: {x: 0.5, y: 0.5} 42 | spriteBorder: {x: 0, y: 0, z: 0, w: 0} 43 | spritePixelsToUnits: 100 44 | alphaUsage: 1 45 | alphaIsTransparency: 0 46 | spriteTessellationDetail: -1 47 | textureType: 1 48 | textureShape: 1 49 | maxTextureSizeSet: 0 50 | compressionQualitySet: 0 51 | textureFormatSet: 0 52 | platformSettings: 53 | - buildTarget: DefaultTexturePlatform 54 | maxTextureSize: 2048 55 | textureFormat: -1 56 | textureCompression: 1 57 | compressionQuality: 50 58 | crunchedCompression: 0 59 | allowsAlphaSplitting: 0 60 | overridden: 0 61 | spriteSheet: 62 | serializedVersion: 2 63 | sprites: [] 64 | outline: [] 65 | spritePackingTag: 66 | userData: 67 | assetBundleName: 68 | assetBundleVariant: 69 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2bafedc5b51a9ee43999448fef22e535 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c03e585e84ae10b4381acac1447ca547 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/AssetManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f01cce0351adcbd44ab2adea36ace77a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/ConversionException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Skywatch.AssetManagement 4 | { 5 | public class ConversionException : Exception 6 | { 7 | public ConversionException(string message) : base(message) 8 | { 9 | 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/ConversionException.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a7df1b3a057a4f03bfe06c26c9912a5f 3 | timeCreated: 1577784045 -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/LoadAssetsByLabelOperation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Threading.Tasks; 4 | using UnityEngine.AddressableAssets; 5 | using UnityEngine.AddressableAssets.ResourceLocators; 6 | using UnityEngine.ResourceManagement.AsyncOperations; 7 | using Object = UnityEngine.Object; 8 | 9 | namespace Skywatch.AssetManagement 10 | { 11 | //Special thanks to TextusGames for their forum post: https://forum.unity.com/threads/how-to-get-asset-and-its-guid-from-known-lable.756560/ 12 | public class LoadAssetsByLabelOperation : AsyncOperationBase>> 13 | { 14 | string _label; 15 | Dictionary _loadedDictionary; 16 | Dictionary _loadingDictionary; 17 | Action _loadedCallback; 18 | 19 | public LoadAssetsByLabelOperation(Dictionary loadedDictionary, Dictionary loadingDictionary, 20 | string label, Action loadedCallback) 21 | { 22 | _loadedDictionary = loadedDictionary; 23 | if (_loadedDictionary == null) 24 | _loadedDictionary = new Dictionary(); 25 | _loadingDictionary = loadingDictionary; 26 | if (_loadingDictionary == null) 27 | _loadingDictionary = new Dictionary(); 28 | 29 | _loadedCallback = loadedCallback; 30 | 31 | _label = label; 32 | } 33 | 34 | protected override void Execute() 35 | { 36 | #pragma warning disable CS4014 37 | DoTask(); 38 | #pragma warning restore CS4014 39 | } 40 | 41 | public async Task DoTask() 42 | { 43 | var locationsHandle = Addressables.LoadResourceLocationsAsync(_label); 44 | var locations = await locationsHandle.Task; 45 | 46 | var loadingInternalIdDic = new Dictionary>(); 47 | var loadedInternalIdDic = new Dictionary>(); 48 | 49 | var operationHandles = new List>(); 50 | foreach (var resourceLocation in locations) 51 | { 52 | AsyncOperationHandle loadingHandle = Addressables.LoadAssetAsync(resourceLocation.PrimaryKey); 53 | 54 | operationHandles.Add(loadingHandle); 55 | 56 | if (!loadingInternalIdDic.ContainsKey(resourceLocation.InternalId)) 57 | loadingInternalIdDic.Add(resourceLocation.InternalId, loadingHandle); 58 | 59 | loadingHandle.Completed += assetOp => 60 | { 61 | if (!loadedInternalIdDic.ContainsKey(resourceLocation.InternalId)) 62 | loadedInternalIdDic.Add(resourceLocation.InternalId, assetOp); 63 | }; 64 | } 65 | 66 | foreach (var locator in Addressables.ResourceLocators) 67 | { 68 | foreach (var key in locator.Keys) 69 | { 70 | bool isGUID = Guid.TryParse(key.ToString(), out var guid); 71 | if (!isGUID) 72 | continue; 73 | 74 | if (!TryGetKeyLocationID(locator, key, out var keyLocationID)) 75 | continue; 76 | 77 | var locationMatched = loadingInternalIdDic.TryGetValue(keyLocationID, out var loadingHandle); 78 | if (!locationMatched) 79 | continue; 80 | 81 | if (!_loadingDictionary.ContainsKey(key)) 82 | _loadingDictionary.Add(key, loadingHandle); 83 | } 84 | } 85 | 86 | foreach (var handle in operationHandles) 87 | await handle.Task; 88 | 89 | foreach (var locator in Addressables.ResourceLocators) 90 | { 91 | foreach (var key in locator.Keys) 92 | { 93 | bool isGUID = Guid.TryParse(key.ToString(), out var guid); 94 | if (!isGUID) 95 | continue; 96 | 97 | if (!TryGetKeyLocationID(locator, key, out var keyLocationID)) 98 | continue; 99 | 100 | var locationMatched = loadedInternalIdDic.TryGetValue(keyLocationID, out var loadedHandle); 101 | if (!locationMatched) 102 | continue; 103 | 104 | if (_loadingDictionary.ContainsKey(key)) 105 | _loadingDictionary.Remove(key); 106 | if (!_loadedDictionary.ContainsKey(key)) 107 | { 108 | _loadedDictionary.Add(key, loadedHandle); 109 | _loadedCallback?.Invoke(key, loadedHandle); 110 | } 111 | } 112 | } 113 | 114 | Complete(operationHandles, true, string.Empty); 115 | } 116 | 117 | bool TryGetKeyLocationID(IResourceLocator locator, object key, out string internalID) 118 | { 119 | internalID = string.Empty; 120 | var hasLocation = locator.Locate(key, typeof(Object), out var keyLocations); 121 | if (!hasLocation) 122 | return false; 123 | if (keyLocations.Count == 0) 124 | return false; 125 | if (keyLocations.Count > 1) 126 | return false; 127 | 128 | internalID = keyLocations[0].InternalId; 129 | return true; 130 | } 131 | } 132 | } -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/LoadAssetsByLabelOperation.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5482c4d0928b482c91bea43588343109 3 | timeCreated: 1577783994 -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/MonoTracker.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace Skywatch.AssetManagement 6 | { 7 | public class MonoTracker : MonoBehaviour 8 | { 9 | public delegate void DelegateDestroyed(MonoTracker tracker); 10 | public event DelegateDestroyed OnDestroyed; 11 | 12 | public object key { get; set; } 13 | 14 | void OnDestroy() 15 | { 16 | OnDestroyed?.Invoke(this); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/MonoTracker.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8a3d22903252ac946b2ee2995d163089 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6cb4399d36b191b4b97eefcc8bf341fb 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling/AssetReferencePool.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using Skywatch.AssetManagement; 6 | using UnityEngine; 7 | using UnityEngine.AddressableAssets; 8 | using UnityEngine.ResourceManagement.AsyncOperations; 9 | using Object = UnityEngine.Object; 10 | 11 | namespace Skywatch.AssetManagement.Pooling 12 | { 13 | public abstract class AssetReferencePool : IPool, IDisposable 14 | { 15 | public const int MinimumCapacityDefault = 5; 16 | 17 | static readonly Dictionary AllPools = new Dictionary(); 18 | 19 | protected abstract Object loadedObject { get; } 20 | protected abstract ICollection collection { get; } 21 | 22 | bool _disposed; 23 | protected bool disposed => _disposed; 24 | 25 | protected bool _isReady; 26 | public virtual bool isReady => _isReady; 27 | 28 | public readonly AssetReference assetReference; 29 | public readonly int initialCapacity; 30 | public readonly Transform objectsParent; 31 | public int minimumCapacity; 32 | 33 | protected AssetReferencePool(AssetReference assetReference, int initialCapacity, Transform objectsParent) 34 | { 35 | this.assetReference = assetReference; 36 | this.initialCapacity = initialCapacity; 37 | this.objectsParent = objectsParent; 38 | this.minimumCapacity = MinimumCapacityDefault; 39 | 40 | AllPools.Add(assetReference.RuntimeKey, this); 41 | } 42 | 43 | ~AssetReferencePool() 44 | { 45 | Dispose(false); 46 | } 47 | 48 | public void Dispose() 49 | { 50 | Dispose(true); 51 | GC.SuppressFinalize(this); 52 | } 53 | 54 | protected virtual void Dispose(bool disposing) 55 | { 56 | if (_disposed) 57 | return; 58 | 59 | if (disposing) 60 | { 61 | AllPools.Remove(assetReference.RuntimeKey); 62 | // Debug.Log(AllPools.ContainsKey(assetReference.RuntimeKey)); 63 | // Debug.Log($"Remove {this} from AllPools"); 64 | _isReady = false; 65 | } 66 | 67 | _disposed = true; 68 | } 69 | 70 | 71 | public static bool TryGetPool(AssetReference aRef, out AssetReferencePool assetReferencePool) 72 | { 73 | return AllPools.TryGetValue(aRef.RuntimeKey, out assetReferencePool); 74 | } 75 | 76 | public static bool TryGetPool(object key, out AssetReferencePool assetReferencePool) 77 | { 78 | return AllPools.TryGetValue(key, out assetReferencePool); 79 | } 80 | public static bool TryGetPool(AssetReference aRef, out AssetReferencePool assetReferencePool) where TComponent : Component 81 | { 82 | if (AllPools.TryGetValue(aRef.RuntimeKey, out var p)) 83 | { 84 | assetReferencePool = p as AssetReferencePool; 85 | return true; 86 | } 87 | 88 | assetReferencePool = null; 89 | return false; 90 | } 91 | 92 | protected abstract void AddToPool(int count); 93 | 94 | public abstract void PoolObjectReturned(PoolObject poolObject); 95 | 96 | #if UNITY_EDITOR 97 | [UnityEditor.MenuItem("Skywatch/Log All Pools")] 98 | #endif 99 | public static void LogAllPools() 100 | { 101 | foreach (var kvp in AllPools) 102 | { 103 | Debug.Log($"{nameof(AssetReferencePool)}: Key {kvp.Key} | Value {kvp.Value} - {kvp.Value.collection.Count} instantiated objects."); 104 | } 105 | } 106 | } 107 | 108 | 109 | public class AssetReferencePool : AssetReferencePool where TComponent : Component 110 | { 111 | public delegate void DelegatePoolReady(); 112 | public event DelegatePoolReady OnPoolReady; 113 | 114 | public delegate void DelegateObjectInstantiated(TComponent obj); 115 | public event DelegateObjectInstantiated OnObjectInstantiated; 116 | 117 | TComponent _loadedObject; 118 | protected override Object loadedObject => _loadedObject; 119 | 120 | List> _list; 121 | protected override ICollection collection => _list; 122 | 123 | AsyncOperationHandle _loadHandle; 124 | public AsyncOperationHandle loadHandle => _loadHandle; 125 | 126 | Action _objectInstantiatedAction; 127 | 128 | protected AssetReferencePool(AssetReference assetReference, int initialCapacity, Transform objectsParent, Action objectInstantiatedAction) 129 | : base(assetReference, initialCapacity, objectsParent) 130 | { 131 | _list = new List>(initialCapacity); 132 | _objectInstantiatedAction = objectInstantiatedAction; 133 | 134 | AssetManager.OnAssetUnloaded += OnObjectUnloaded; 135 | 136 | if (AssetManager.TryGetOrLoadComponentAsync(assetReference, out _loadHandle)) 137 | { 138 | OnObjectLoaded(_loadHandle.Result); 139 | } 140 | else 141 | { 142 | _loadHandle = Addressables.ResourceManager.CreateChainOperation(_loadHandle, chainOp => 143 | { 144 | OnObjectLoaded(chainOp.Result); 145 | return chainOp; 146 | }); 147 | } 148 | } 149 | 150 | protected override void Dispose(bool disposing) 151 | { 152 | if (disposed) 153 | return; 154 | 155 | if (disposing) 156 | { 157 | AssetManager.OnAssetUnloaded -= OnObjectUnloaded; 158 | _list.Clear(); 159 | } 160 | 161 | base.Dispose(disposing); 162 | } 163 | 164 | void OnObjectLoaded(TComponent obj) 165 | { 166 | _loadedObject = obj; 167 | 168 | _isReady = true; 169 | 170 | AddToPoolSyncSafe(initialCapacity); 171 | 172 | OnPoolReady?.Invoke(); 173 | } 174 | 175 | void OnObjectUnloaded(object runtimeKey) 176 | { 177 | if (runtimeKey.ToString() != assetReference.RuntimeKey.ToString()) 178 | return; 179 | 180 | Dispose(); 181 | } 182 | 183 | protected override void AddToPool(int count) 184 | { 185 | //Debug.Log($"ADD TO POOL: {count} {this}"); 186 | 187 | if (isReady) 188 | { 189 | AddToPoolSyncSafe(count); 190 | return; 191 | } 192 | loadHandle.Completed += op => 193 | { 194 | AddToPoolSyncSafe(count); 195 | }; 196 | } 197 | 198 | void AddToPoolSyncSafe(int count) 199 | { 200 | var pos = objectsParent ? objectsParent.position : Vector3.zero; 201 | 202 | AssetManager.TryInstantiateMultiSync(assetReference, count, pos, Quaternion.identity, objectsParent, out var instanceList); 203 | //var instanceList = AssetManager.InstantiateLoadedAssetSync(assetReference, count, pos, Quaternion.identity, objectsParent); 204 | foreach (var component in instanceList) 205 | { 206 | var po = component.gameObject.AddComponent(); 207 | po.myPool = this; 208 | po.ReturnToPool(); 209 | 210 | var tuple = new Tuple(component, po); 211 | _list.Add(tuple); 212 | 213 | var monoTracker = component.GetComponent() ?? component.gameObject.AddComponent(); 214 | monoTracker.OnDestroyed += tracker => { _list.Remove(tuple); }; 215 | 216 | _objectInstantiatedAction?.Invoke(component); 217 | OnObjectInstantiated?.Invoke(component); 218 | } 219 | } 220 | 221 | public bool TryTake(Vector3 position, Quaternion rotation, Transform parent, out AsyncOperationHandle handle) 222 | { 223 | if (isReady) 224 | { 225 | handle = Addressables.ResourceManager.CreateCompletedOperation(TakeSync(position, rotation, parent), string.Empty); 226 | return true; 227 | } 228 | 229 | handle = Addressables.ResourceManager.CreateChainOperation(_loadHandle, chainOp => 230 | { 231 | var result = TakeSync(position, rotation, parent); 232 | var completedOp = Addressables.ResourceManager.CreateCompletedOperation(result, string.Empty); 233 | return completedOp; 234 | }); 235 | return false; 236 | } 237 | public TComponent TakeSync(Vector3 position, Quaternion rotation, Transform parent = null) 238 | { 239 | string errString = $"{GetType()} Error: "; 240 | if (!isReady) 241 | { 242 | Debug.LogError(errString + "not ready."); 243 | return null; 244 | } 245 | 246 | var inPoolCount = _list.Count(x => x.Item2.inPool); 247 | 248 | if(inPoolCount <= minimumCapacity) 249 | { 250 | AddToPool(5); 251 | inPoolCount = _list.Count(x => x.Item2.inPool); 252 | } 253 | 254 | if (inPoolCount == 0) 255 | { 256 | Debug.LogError(errString + $"Empty. Consider setting a higher {nameof(minimumCapacity)}"); 257 | return null; 258 | } 259 | 260 | //var comp = _stack.Pop(); 261 | var tuple = _list.FirstOrDefault(x => x.Item2.inPool); 262 | var transform = tuple.Item1.transform; 263 | transform.position = position; 264 | transform.rotation = rotation; 265 | if (parent) 266 | transform.parent = parent; 267 | tuple.Item2.AwakeFromPool(); 268 | 269 | return tuple.Item1; 270 | } 271 | 272 | public override void PoolObjectReturned(PoolObject poolObject) 273 | { 274 | if (objectsParent) 275 | poolObject.transform.SetParent(objectsParent); 276 | } 277 | 278 | public static AssetReferencePool GetOrCreate(AssetReference aRef, int initialCapacity = 10, Transform objectsParent = null, Action objectInstantiationAction = null) 279 | { 280 | if (TryGetPool(aRef, out var existingPool)) 281 | return existingPool; 282 | var pool = new AssetReferencePool(aRef, initialCapacity, objectsParent, objectInstantiationAction); 283 | return pool; 284 | } 285 | public static AssetReferencePool GetOrCreate(AssetReference aRef, Action objectInstantiationAction) 286 | { 287 | return GetOrCreate(aRef, 10, null, objectInstantiationAction); 288 | } 289 | } 290 | } -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling/AssetReferencePool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1e5d5393459731e4ebf09ef4e24a5590 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling/IPool.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace Skywatch.AssetManagement.Pooling 6 | { 7 | public interface IPool where TPoolObjectType : IPoolObject 8 | { 9 | /// 10 | /// Allows a pool object to inform it's pool that is has been returned to the pool. 11 | /// 12 | /// The pool object that has returned to the pool. 13 | void PoolObjectReturned(TPoolObjectType poolObject); 14 | } 15 | 16 | public interface IPool 17 | { 18 | void PoolObjectReturned(PoolObject poolObject); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling/IPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9c4640e9e392a41449d71011a46a64f0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling/IPoolObject.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Skywatch.AssetManagement.Pooling 3 | { 4 | public delegate void DelegateAwakeFromPool(); 5 | public delegate void DelegateReturnToPool(); 6 | 7 | public interface IPoolObject 8 | { 9 | event DelegateAwakeFromPool AwakeFromPoolEvent; 10 | event DelegateReturnToPool ReturnToPoolEvent; 11 | 12 | bool inPool { get; } 13 | IPool myPool { get; } 14 | 15 | void AwakeFromPool(); 16 | void ReturnToPool(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling/IPoolObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5839a7e1467ef8449b5a2ef72493a7a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling/PoolBehaviour.cs: -------------------------------------------------------------------------------- 1 | using System.Collections; 2 | using System.Collections.Generic; 3 | using UnityEngine; 4 | 5 | namespace Skywatch.AssetManagement.Pooling 6 | { 7 | public class PoolBehaviour : MonoBehaviour 8 | { 9 | IPoolObject _poolObject; 10 | 11 | public void SetPoolObject(IPoolObject iPoolObject) 12 | { 13 | if (_poolObject != null) 14 | { 15 | _poolObject.AwakeFromPoolEvent -= OnAwakeFromPool; 16 | _poolObject.ReturnToPoolEvent -= OnReturnToPool; 17 | _poolObject = null; 18 | } 19 | 20 | _poolObject = iPoolObject; 21 | if (_poolObject != null) 22 | { 23 | _poolObject.AwakeFromPoolEvent += OnAwakeFromPool; 24 | _poolObject.ReturnToPoolEvent += OnReturnToPool; 25 | } 26 | } 27 | 28 | 29 | protected virtual void OnAwakeFromPool() 30 | { 31 | 32 | } 33 | 34 | protected virtual void OnReturnToPool() 35 | { 36 | 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling/PoolBehaviour.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48ce7d322827ed449b84571f935a61f4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling/PoolObject.cs: -------------------------------------------------------------------------------- 1 | /// 2 | /// Copyright (c) Skywatch Games 2017. All rights reserved. 3 | /// 4 | /// kaupe 5 | /// 2/4/2017 1:45:13 AM 6 | 7 | using System; 8 | using System.Linq; 9 | using UnityEngine; 10 | 11 | 12 | namespace Skywatch.AssetManagement.Pooling 13 | { 14 | public sealed class PoolObject : MonoBehaviour, IPoolObject 15 | { 16 | public event DelegateAwakeFromPool AwakeFromPoolEvent; 17 | public event DelegateReturnToPool ReturnToPoolEvent; 18 | 19 | [NonSerialized] Behaviour[] _behaviours; 20 | [NonSerialized] bool[] _behaviourStates; 21 | 22 | [NonSerialized] Collider[] _colliders; 23 | [NonSerialized] bool[] _colliderStates; 24 | 25 | [NonSerialized] Renderer[] _renderers; 26 | [NonSerialized] bool[] _rendererStates; 27 | 28 | [NonSerialized] ParticleSystem[] _particleSystems; 29 | 30 | [NonSerialized] AudioSource[] _audioSources; 31 | [NonSerialized] bool[] _audioSourceStates; 32 | 33 | [NonSerialized] bool[] _gameObjectStates; 34 | 35 | [NonSerialized] Rigidbody _rigidbody; 36 | [NonSerialized] bool _wasKinematic; 37 | 38 | public bool inPool { get; private set; } 39 | public IPool myPool { get; set; } 40 | 41 | bool _initialized; 42 | public bool initialized => _initialized; 43 | 44 | 45 | 46 | void Awake() 47 | { 48 | Initialize(); 49 | } 50 | 51 | void Initialize() 52 | { 53 | if (_initialized) return; 54 | 55 | _behaviours = GetComponents().Where(x => x != this).ToArray(); 56 | _behaviourStates = new bool[_behaviours.Length]; 57 | for (int i = 0; i < _behaviourStates.Length; i++) 58 | _behaviourStates[i] = _behaviours[i].enabled; 59 | 60 | _colliders = GetComponents(); 61 | _colliderStates = new bool[_colliders.Length]; 62 | for (int i = 0; i < _colliderStates.Length; i++) 63 | _colliderStates[i] = _colliders[i].enabled; 64 | 65 | _renderers = GetComponents(); 66 | _rendererStates = new bool[_renderers.Length]; 67 | for (int i = 0; i < _renderers.Length; i++) 68 | _rendererStates[i] = _renderers[i].enabled; 69 | 70 | _particleSystems = GetComponentsInChildren(true); 71 | 72 | _audioSources = GetComponentsInChildren(true); 73 | _audioSourceStates = new bool[_audioSources.Length]; 74 | for (int i = 0; i < _audioSourceStates.Length; i++) 75 | _audioSourceStates[i] = _audioSources[i].enabled; 76 | 77 | _gameObjectStates = new bool[transform.childCount]; 78 | for (int i = 0; i < transform.childCount; i++) 79 | _gameObjectStates[i] = transform.GetChild(i).gameObject.activeSelf; 80 | 81 | _rigidbody = GetComponent(); 82 | if (_rigidbody) 83 | _wasKinematic = _rigidbody.isKinematic; 84 | 85 | var poolBehaviours = GetComponents(); 86 | poolBehaviours.ForEach(x => x.SetPoolObject(this)); 87 | 88 | _initialized = true; 89 | } 90 | 91 | public void AwakeFromPool() 92 | { 93 | for (int i = 0; i < _behaviours.Length; i++) 94 | { 95 | if (_behaviourStates[i]) 96 | _behaviours[i].enabled = true; 97 | } 98 | 99 | for (int i = 0; i < _colliders.Length; i++) 100 | { 101 | if (_colliderStates[i]) 102 | _colliders[i].enabled = true; 103 | } 104 | 105 | for (int i = 0; i < _renderers.Length; i++) 106 | { 107 | if (_rendererStates[i]) 108 | _renderers[i].enabled = true; 109 | } 110 | 111 | //Maybe change to GetComponentsInChildren(true); ?? 112 | for (int i = 0; i < transform.childCount; i++) 113 | { 114 | if (i >= 0 && i < _gameObjectStates.Length && !_gameObjectStates[i]) 115 | continue; 116 | 117 | transform.GetChild(i).gameObject.SetActive(true); 118 | } 119 | 120 | foreach (var ps in _particleSystems) 121 | { 122 | ps.Stop(true); 123 | ps.Play(true); 124 | } 125 | 126 | for (int i = 0; i < _audioSources.Length; i++) 127 | { 128 | if (!_audioSourceStates[i]) continue; 129 | _audioSources[i].enabled = true; 130 | _audioSources[i].Stop(); 131 | _audioSources[i].Play(); 132 | } 133 | 134 | if (_rigidbody) 135 | { 136 | _rigidbody.isKinematic = _wasKinematic; 137 | _rigidbody.freezeRotation = false; 138 | } 139 | 140 | inPool = false; 141 | 142 | AwakeFromPoolEvent?.Invoke(); 143 | } 144 | 145 | public void ReturnToPool() 146 | { 147 | if(!_initialized) 148 | Initialize(); 149 | 150 | if (myPool != null) 151 | myPool.PoolObjectReturned(this); 152 | else 153 | Debug.LogError("I DONT HAVE A POOL!", this); 154 | 155 | transform.localPosition = Vector3.zero; 156 | transform.localRotation = Quaternion.identity; 157 | 158 | _behaviours.ForEach(x => x.enabled = false); 159 | _colliders.ForEach(x => x.enabled = false); 160 | _renderers.ForEach(x => x.enabled = false); 161 | 162 | //Maybe change to GetComponentsInChildren(true); ?? 163 | for (int i = 0; i < transform.childCount; i++) 164 | { 165 | transform.GetChild(i).gameObject.SetActive(false); 166 | } 167 | 168 | _particleSystems.ForEach(x => x.Stop()); 169 | _audioSources.ForEach(x => x.Stop()); 170 | 171 | if (_rigidbody) 172 | { 173 | _rigidbody.isKinematic = true; 174 | _rigidbody.velocity = Vector3.zero; 175 | _rigidbody.angularVelocity = Vector3.zero; 176 | _rigidbody.rotation = Quaternion.identity; 177 | _rigidbody.freezeRotation = true; 178 | _rigidbody.Sleep(); 179 | } 180 | 181 | inPool = true; 182 | 183 | ReturnToPoolEvent?.Invoke(); 184 | } 185 | } 186 | } -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/Asset Management/Pooling/PoolObject.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d60f9451ebbc1b46b736d08a27a2cc6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/ExtensionMethods.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.Collections.Generic; 4 | using UnityEngine; 5 | 6 | namespace Skywatch 7 | { 8 | public static class ExtensionMethods 9 | { 10 | public static void ForEach(this IEnumerable source, Action action) 11 | { 12 | if(source == null) 13 | Debug.LogException(new NullReferenceException()); 14 | if(action == null) 15 | Debug.LogException(new NullReferenceException()); 16 | 17 | foreach(var element in source) 18 | { 19 | action(element); 20 | } 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Assets/Asset Manager/Runtime/ExtensionMethods.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8cb1a7e43ca9ed744add70e7ed08a047 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Packages/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "com.unity.addressables": "1.5.0", 4 | "com.unity.ide.rider": "1.1.4", 5 | "com.unity.ide.vscode": "1.1.3", 6 | "com.unity.test-framework": "1.1.3", 7 | "com.unity.textmeshpro": "2.0.1", 8 | "com.unity.timeline": "1.2.6", 9 | "com.unity.ugui": "1.0.0", 10 | "com.unity.modules.ai": "1.0.0", 11 | "com.unity.modules.androidjni": "1.0.0", 12 | "com.unity.modules.animation": "1.0.0", 13 | "com.unity.modules.assetbundle": "1.0.0", 14 | "com.unity.modules.audio": "1.0.0", 15 | "com.unity.modules.cloth": "1.0.0", 16 | "com.unity.modules.director": "1.0.0", 17 | "com.unity.modules.imageconversion": "1.0.0", 18 | "com.unity.modules.imgui": "1.0.0", 19 | "com.unity.modules.jsonserialize": "1.0.0", 20 | "com.unity.modules.particlesystem": "1.0.0", 21 | "com.unity.modules.physics": "1.0.0", 22 | "com.unity.modules.physics2d": "1.0.0", 23 | "com.unity.modules.screencapture": "1.0.0", 24 | "com.unity.modules.terrain": "1.0.0", 25 | "com.unity.modules.terrainphysics": "1.0.0", 26 | "com.unity.modules.tilemap": "1.0.0", 27 | "com.unity.modules.ui": "1.0.0", 28 | "com.unity.modules.uielements": "1.0.0", 29 | "com.unity.modules.umbra": "1.0.0", 30 | "com.unity.modules.unityanalytics": "1.0.0", 31 | "com.unity.modules.unitywebrequest": "1.0.0", 32 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0", 33 | "com.unity.modules.unitywebrequestaudio": "1.0.0", 34 | "com.unity.modules.unitywebrequesttexture": "1.0.0", 35 | "com.unity.modules.unitywebrequestwww": "1.0.0", 36 | "com.unity.modules.vehicles": "1.0.0", 37 | "com.unity.modules.video": "1.0.0", 38 | "com.unity.modules.vr": "1.0.0", 39 | "com.unity.modules.wind": "1.0.0", 40 | "com.unity.modules.xr": "1.0.0" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 1024 20 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/DynamicsManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!55 &1 4 | PhysicsManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 11 7 | m_Gravity: {x: 0, y: -9.81, z: 0} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_BounceThreshold: 2 10 | m_SleepThreshold: 0.005 11 | m_DefaultContactOffset: 0.01 12 | m_DefaultSolverIterations: 6 13 | m_DefaultSolverVelocityIterations: 1 14 | m_QueriesHitBackfaces: 0 15 | m_QueriesHitTriggers: 1 16 | m_EnableAdaptiveForce: 0 17 | m_ClothInterCollisionDistance: 0 18 | m_ClothInterCollisionStiffness: 0 19 | m_ContactsGeneration: 1 20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 21 | m_AutoSimulation: 1 22 | m_AutoSyncTransforms: 0 23 | m_ReuseCollisionCallbacks: 1 24 | m_ClothInterCollisionSettingsToggle: 0 25 | m_ContactPairsMode: 0 26 | m_BroadphaseType: 0 27 | m_WorldBounds: 28 | m_Center: {x: 0, y: 0, z: 0} 29 | m_Extent: {x: 250, y: 250, z: 250} 30 | m_WorldSubdivisions: 8 31 | m_FrictionType: 0 32 | m_EnableEnhancedDeterminism: 0 33 | m_EnableUnifiedHeightmaps: 1 34 | m_DefaultMaxAngluarSpeed: 7 35 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Asset Manager/Example/Scenes/SampleScene.unity 10 | guid: 9fc0d4010bbf28b4594072e72b8655ab 11 | m_configObjects: 12 | com.unity.addressableassets: {fileID: 11400000, guid: b6b3924513511af48a4c8938c28fe6af, 13 | type: 2} 14 | -------------------------------------------------------------------------------- /ProjectSettings/EditorSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!159 &1 4 | EditorSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 9 7 | m_ExternalVersionControlSupport: Visible Meta Files 8 | m_SerializationMode: 2 9 | m_LineEndingsForNewScripts: 2 10 | m_DefaultBehaviorMode: 0 11 | m_PrefabRegularEnvironment: {fileID: 0} 12 | m_PrefabUIEnvironment: {fileID: 0} 13 | m_SpritePackerMode: 0 14 | m_SpritePackerPaddingPower: 1 15 | m_EtcTextureCompressorBehavior: 1 16 | m_EtcTextureFastCompressor: 1 17 | m_EtcTextureNormalCompressor: 2 18 | m_EtcTextureBestCompressor: 4 19 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd;asmdef;rsp;asmref 20 | m_ProjectGenerationRootNamespace: 21 | m_CollabEditorSettings: 22 | inProgressEnabled: 1 23 | m_EnableTextureStreamingInEditMode: 1 24 | m_EnableTextureStreamingInPlayMode: 1 25 | m_AsyncShaderCompilation: 1 26 | m_EnterPlayModeOptionsEnabled: 0 27 | m_EnterPlayModeOptions: 3 28 | m_ShowLightmapResolutionOverlay: 1 29 | m_UseLegacyProbeSampleCount: 1 30 | m_AssetPipelineMode: 1 31 | m_CacheServerMode: 0 32 | m_CacheServerEndpoint: 33 | m_CacheServerNamespacePrefix: default 34 | m_CacheServerEnableDownload: 1 35 | m_CacheServerEnableUpload: 1 36 | -------------------------------------------------------------------------------- /ProjectSettings/GraphicsSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!30 &1 4 | GraphicsSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 13 7 | m_Deferred: 8 | m_Mode: 1 9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0} 10 | m_DeferredReflections: 11 | m_Mode: 1 12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0} 13 | m_ScreenSpaceShadows: 14 | m_Mode: 1 15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0} 16 | m_LegacyDeferred: 17 | m_Mode: 1 18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0} 19 | m_DepthNormals: 20 | m_Mode: 1 21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0} 22 | m_MotionVectors: 23 | m_Mode: 1 24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0} 25 | m_LightHalo: 26 | m_Mode: 1 27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0} 28 | m_LensFlare: 29 | m_Mode: 1 30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0} 31 | m_AlwaysIncludedShaders: 32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} 33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0} 34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0} 35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} 36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} 37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} 38 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} 39 | - {fileID: 16001, guid: 0000000000000000f000000000000000, type: 0} 40 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0} 41 | m_PreloadedShaders: [] 42 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, 43 | type: 0} 44 | m_CustomRenderPipeline: {fileID: 0} 45 | m_TransparencySortMode: 0 46 | m_TransparencySortAxis: {x: 0, y: 0, z: 1} 47 | m_DefaultRenderingPath: 1 48 | m_DefaultMobileRenderingPath: 1 49 | m_TierSettings: [] 50 | m_LightmapStripping: 0 51 | m_FogStripping: 0 52 | m_InstancingStripping: 0 53 | m_LightmapKeepPlain: 1 54 | m_LightmapKeepDirCombined: 1 55 | m_LightmapKeepDynamicPlain: 1 56 | m_LightmapKeepDynamicDirCombined: 1 57 | m_LightmapKeepShadowMask: 1 58 | m_LightmapKeepSubtractive: 1 59 | m_FogKeepLinear: 1 60 | m_FogKeepExp: 1 61 | m_FogKeepExp2: 1 62 | m_AlbedoSwatchInfos: [] 63 | m_LightsUseLinearIntensity: 0 64 | m_LightsUseColorTemperature: 0 65 | m_LogWhenShaderIsCompiled: 0 66 | m_AllowEnlightenSupportForUpgradedProject: 0 67 | -------------------------------------------------------------------------------- /ProjectSettings/InputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!13 &1 4 | InputManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Axes: 8 | - serializedVersion: 3 9 | m_Name: Horizontal 10 | descriptiveName: 11 | descriptiveNegativeName: 12 | negativeButton: left 13 | positiveButton: right 14 | altNegativeButton: a 15 | altPositiveButton: d 16 | gravity: 3 17 | dead: 0.001 18 | sensitivity: 3 19 | snap: 1 20 | invert: 0 21 | type: 0 22 | axis: 0 23 | joyNum: 0 24 | - serializedVersion: 3 25 | m_Name: Vertical 26 | descriptiveName: 27 | descriptiveNegativeName: 28 | negativeButton: down 29 | positiveButton: up 30 | altNegativeButton: s 31 | altPositiveButton: w 32 | gravity: 3 33 | dead: 0.001 34 | sensitivity: 3 35 | snap: 1 36 | invert: 0 37 | type: 0 38 | axis: 0 39 | joyNum: 0 40 | - serializedVersion: 3 41 | m_Name: Fire1 42 | descriptiveName: 43 | descriptiveNegativeName: 44 | negativeButton: 45 | positiveButton: left ctrl 46 | altNegativeButton: 47 | altPositiveButton: mouse 0 48 | gravity: 1000 49 | dead: 0.001 50 | sensitivity: 1000 51 | snap: 0 52 | invert: 0 53 | type: 0 54 | axis: 0 55 | joyNum: 0 56 | - serializedVersion: 3 57 | m_Name: Fire2 58 | descriptiveName: 59 | descriptiveNegativeName: 60 | negativeButton: 61 | positiveButton: left alt 62 | altNegativeButton: 63 | altPositiveButton: mouse 1 64 | gravity: 1000 65 | dead: 0.001 66 | sensitivity: 1000 67 | snap: 0 68 | invert: 0 69 | type: 0 70 | axis: 0 71 | joyNum: 0 72 | - serializedVersion: 3 73 | m_Name: Fire3 74 | descriptiveName: 75 | descriptiveNegativeName: 76 | negativeButton: 77 | positiveButton: left shift 78 | altNegativeButton: 79 | altPositiveButton: mouse 2 80 | gravity: 1000 81 | dead: 0.001 82 | sensitivity: 1000 83 | snap: 0 84 | invert: 0 85 | type: 0 86 | axis: 0 87 | joyNum: 0 88 | - serializedVersion: 3 89 | m_Name: Jump 90 | descriptiveName: 91 | descriptiveNegativeName: 92 | negativeButton: 93 | positiveButton: space 94 | altNegativeButton: 95 | altPositiveButton: 96 | gravity: 1000 97 | dead: 0.001 98 | sensitivity: 1000 99 | snap: 0 100 | invert: 0 101 | type: 0 102 | axis: 0 103 | joyNum: 0 104 | - serializedVersion: 3 105 | m_Name: Mouse X 106 | descriptiveName: 107 | descriptiveNegativeName: 108 | negativeButton: 109 | positiveButton: 110 | altNegativeButton: 111 | altPositiveButton: 112 | gravity: 0 113 | dead: 0 114 | sensitivity: 0.1 115 | snap: 0 116 | invert: 0 117 | type: 1 118 | axis: 0 119 | joyNum: 0 120 | - serializedVersion: 3 121 | m_Name: Mouse Y 122 | descriptiveName: 123 | descriptiveNegativeName: 124 | negativeButton: 125 | positiveButton: 126 | altNegativeButton: 127 | altPositiveButton: 128 | gravity: 0 129 | dead: 0 130 | sensitivity: 0.1 131 | snap: 0 132 | invert: 0 133 | type: 1 134 | axis: 1 135 | joyNum: 0 136 | - serializedVersion: 3 137 | m_Name: Mouse ScrollWheel 138 | descriptiveName: 139 | descriptiveNegativeName: 140 | negativeButton: 141 | positiveButton: 142 | altNegativeButton: 143 | altPositiveButton: 144 | gravity: 0 145 | dead: 0 146 | sensitivity: 0.1 147 | snap: 0 148 | invert: 0 149 | type: 1 150 | axis: 2 151 | joyNum: 0 152 | - serializedVersion: 3 153 | m_Name: Horizontal 154 | descriptiveName: 155 | descriptiveNegativeName: 156 | negativeButton: 157 | positiveButton: 158 | altNegativeButton: 159 | altPositiveButton: 160 | gravity: 0 161 | dead: 0.19 162 | sensitivity: 1 163 | snap: 0 164 | invert: 0 165 | type: 2 166 | axis: 0 167 | joyNum: 0 168 | - serializedVersion: 3 169 | m_Name: Vertical 170 | descriptiveName: 171 | descriptiveNegativeName: 172 | negativeButton: 173 | positiveButton: 174 | altNegativeButton: 175 | altPositiveButton: 176 | gravity: 0 177 | dead: 0.19 178 | sensitivity: 1 179 | snap: 0 180 | invert: 1 181 | type: 2 182 | axis: 1 183 | joyNum: 0 184 | - serializedVersion: 3 185 | m_Name: Fire1 186 | descriptiveName: 187 | descriptiveNegativeName: 188 | negativeButton: 189 | positiveButton: joystick button 0 190 | altNegativeButton: 191 | altPositiveButton: 192 | gravity: 1000 193 | dead: 0.001 194 | sensitivity: 1000 195 | snap: 0 196 | invert: 0 197 | type: 0 198 | axis: 0 199 | joyNum: 0 200 | - serializedVersion: 3 201 | m_Name: Fire2 202 | descriptiveName: 203 | descriptiveNegativeName: 204 | negativeButton: 205 | positiveButton: joystick button 1 206 | altNegativeButton: 207 | altPositiveButton: 208 | gravity: 1000 209 | dead: 0.001 210 | sensitivity: 1000 211 | snap: 0 212 | invert: 0 213 | type: 0 214 | axis: 0 215 | joyNum: 0 216 | - serializedVersion: 3 217 | m_Name: Fire3 218 | descriptiveName: 219 | descriptiveNegativeName: 220 | negativeButton: 221 | positiveButton: joystick button 2 222 | altNegativeButton: 223 | altPositiveButton: 224 | gravity: 1000 225 | dead: 0.001 226 | sensitivity: 1000 227 | snap: 0 228 | invert: 0 229 | type: 0 230 | axis: 0 231 | joyNum: 0 232 | - serializedVersion: 3 233 | m_Name: Jump 234 | descriptiveName: 235 | descriptiveNegativeName: 236 | negativeButton: 237 | positiveButton: joystick button 3 238 | altNegativeButton: 239 | altPositiveButton: 240 | gravity: 1000 241 | dead: 0.001 242 | sensitivity: 1000 243 | snap: 0 244 | invert: 0 245 | type: 0 246 | axis: 0 247 | joyNum: 0 248 | - serializedVersion: 3 249 | m_Name: Submit 250 | descriptiveName: 251 | descriptiveNegativeName: 252 | negativeButton: 253 | positiveButton: return 254 | altNegativeButton: 255 | altPositiveButton: joystick button 0 256 | gravity: 1000 257 | dead: 0.001 258 | sensitivity: 1000 259 | snap: 0 260 | invert: 0 261 | type: 0 262 | axis: 0 263 | joyNum: 0 264 | - serializedVersion: 3 265 | m_Name: Submit 266 | descriptiveName: 267 | descriptiveNegativeName: 268 | negativeButton: 269 | positiveButton: enter 270 | altNegativeButton: 271 | altPositiveButton: space 272 | gravity: 1000 273 | dead: 0.001 274 | sensitivity: 1000 275 | snap: 0 276 | invert: 0 277 | type: 0 278 | axis: 0 279 | joyNum: 0 280 | - serializedVersion: 3 281 | m_Name: Cancel 282 | descriptiveName: 283 | descriptiveNegativeName: 284 | negativeButton: 285 | positiveButton: escape 286 | altNegativeButton: 287 | altPositiveButton: joystick button 1 288 | gravity: 1000 289 | dead: 0.001 290 | sensitivity: 1000 291 | snap: 0 292 | invert: 0 293 | type: 0 294 | axis: 0 295 | joyNum: 0 296 | -------------------------------------------------------------------------------- /ProjectSettings/NavMeshAreas.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!126 &1 4 | NavMeshProjectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | areas: 8 | - name: Walkable 9 | cost: 1 10 | - name: Not Walkable 11 | cost: 1 12 | - name: Jump 13 | cost: 2 14 | - name: 15 | cost: 1 16 | - name: 17 | cost: 1 18 | - name: 19 | cost: 1 20 | - name: 21 | cost: 1 22 | - name: 23 | cost: 1 24 | - name: 25 | cost: 1 26 | - name: 27 | cost: 1 28 | - name: 29 | cost: 1 30 | - name: 31 | cost: 1 32 | - name: 33 | cost: 1 34 | - name: 35 | cost: 1 36 | - name: 37 | cost: 1 38 | - name: 39 | cost: 1 40 | - name: 41 | cost: 1 42 | - name: 43 | cost: 1 44 | - name: 45 | cost: 1 46 | - name: 47 | cost: 1 48 | - name: 49 | cost: 1 50 | - name: 51 | cost: 1 52 | - name: 53 | cost: 1 54 | - name: 55 | cost: 1 56 | - name: 57 | cost: 1 58 | - name: 59 | cost: 1 60 | - name: 61 | cost: 1 62 | - name: 63 | cost: 1 64 | - name: 65 | cost: 1 66 | - name: 67 | cost: 1 68 | - name: 69 | cost: 1 70 | - name: 71 | cost: 1 72 | m_LastAgentTypeID: -887442657 73 | m_Settings: 74 | - serializedVersion: 2 75 | agentTypeID: 0 76 | agentRadius: 0.5 77 | agentHeight: 2 78 | agentSlope: 45 79 | agentClimb: 0.75 80 | ledgeDropHeight: 0 81 | maxJumpAcrossDistance: 0 82 | minRegionArea: 2 83 | manualCellSize: 0 84 | cellSize: 0.16666667 85 | manualTileSize: 0 86 | tileSize: 256 87 | accuratePlacement: 0 88 | debug: 89 | m_Flags: 0 90 | m_SettingNames: 91 | - Humanoid 92 | -------------------------------------------------------------------------------- /ProjectSettings/Physics2DSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!19 &1 4 | Physics2DSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 4 7 | m_Gravity: {x: 0, y: -9.81} 8 | m_DefaultMaterial: {fileID: 0} 9 | m_VelocityIterations: 8 10 | m_PositionIterations: 3 11 | m_VelocityThreshold: 1 12 | m_MaxLinearCorrection: 0.2 13 | m_MaxAngularCorrection: 8 14 | m_MaxTranslationSpeed: 100 15 | m_MaxRotationSpeed: 360 16 | m_BaumgarteScale: 0.2 17 | m_BaumgarteTimeOfImpactScale: 0.75 18 | m_TimeToSleep: 0.5 19 | m_LinearSleepTolerance: 0.01 20 | m_AngularSleepTolerance: 2 21 | m_DefaultContactOffset: 0.01 22 | m_JobOptions: 23 | serializedVersion: 2 24 | useMultithreading: 0 25 | useConsistencySorting: 0 26 | m_InterpolationPosesPerJob: 100 27 | m_NewContactsPerJob: 30 28 | m_CollideContactsPerJob: 100 29 | m_ClearFlagsPerJob: 200 30 | m_ClearBodyForcesPerJob: 200 31 | m_SyncDiscreteFixturesPerJob: 50 32 | m_SyncContinuousFixturesPerJob: 50 33 | m_FindNearestContactsPerJob: 100 34 | m_UpdateTriggerContactsPerJob: 100 35 | m_IslandSolverCostThreshold: 100 36 | m_IslandSolverBodyCostScale: 1 37 | m_IslandSolverContactCostScale: 10 38 | m_IslandSolverJointCostScale: 10 39 | m_IslandSolverBodiesPerJob: 50 40 | m_IslandSolverContactsPerJob: 50 41 | m_AutoSimulation: 1 42 | m_QueriesHitTriggers: 1 43 | m_QueriesStartInColliders: 1 44 | m_CallbacksOnDisable: 1 45 | m_ReuseCollisionCallbacks: 1 46 | m_AutoSyncTransforms: 0 47 | m_AlwaysShowColliders: 0 48 | m_ShowColliderSleep: 1 49 | m_ShowColliderContacts: 0 50 | m_ShowColliderAABB: 0 51 | m_ContactArrowScale: 0.2 52 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412} 53 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432} 54 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745} 55 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804} 56 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 57 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!129 &1 4 | PlayerSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 20 7 | productGUID: 251c5e36c33e7634aa60027d44213b1c 8 | AndroidProfiler: 0 9 | AndroidFilterTouchesWhenObscured: 0 10 | AndroidEnableSustainedPerformanceMode: 0 11 | defaultScreenOrientation: 4 12 | targetDevice: 2 13 | useOnDemandResources: 0 14 | accelerometerFrequency: 60 15 | companyName: Skywatch Games 16 | productName: AssetManager 17 | defaultCursor: {fileID: 0} 18 | cursorHotspot: {x: 0, y: 0} 19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} 20 | m_ShowUnitySplashScreen: 0 21 | m_ShowUnitySplashLogo: 1 22 | m_SplashScreenOverlayOpacity: 1 23 | m_SplashScreenAnimation: 1 24 | m_SplashScreenLogoStyle: 1 25 | m_SplashScreenDrawMode: 0 26 | m_SplashScreenBackgroundAnimationZoom: 1 27 | m_SplashScreenLogoAnimationZoom: 1 28 | m_SplashScreenBackgroundLandscapeAspect: 1 29 | m_SplashScreenBackgroundPortraitAspect: 1 30 | m_SplashScreenBackgroundLandscapeUvs: 31 | serializedVersion: 2 32 | x: 0 33 | y: 0 34 | width: 1 35 | height: 1 36 | m_SplashScreenBackgroundPortraitUvs: 37 | serializedVersion: 2 38 | x: 0 39 | y: 0 40 | width: 1 41 | height: 1 42 | m_SplashScreenLogos: [] 43 | m_VirtualRealitySplashScreen: {fileID: 0} 44 | m_HolographicTrackingLossScreen: {fileID: 0} 45 | defaultScreenWidth: 1920 46 | defaultScreenHeight: 1080 47 | defaultScreenWidthWeb: 960 48 | defaultScreenHeightWeb: 600 49 | m_StereoRenderingPath: 0 50 | m_ActiveColorSpace: 0 51 | m_MTRendering: 1 52 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000 53 | iosShowActivityIndicatorOnLoading: -1 54 | androidShowActivityIndicatorOnLoading: -1 55 | iosUseCustomAppBackgroundBehavior: 0 56 | iosAllowHTTPDownload: 1 57 | allowedAutorotateToPortrait: 1 58 | allowedAutorotateToPortraitUpsideDown: 1 59 | allowedAutorotateToLandscapeRight: 1 60 | allowedAutorotateToLandscapeLeft: 1 61 | useOSAutorotation: 1 62 | use32BitDisplayBuffer: 1 63 | preserveFramebufferAlpha: 0 64 | disableDepthAndStencilBuffers: 0 65 | androidStartInFullscreen: 1 66 | androidRenderOutsideSafeArea: 1 67 | androidUseSwappy: 0 68 | androidBlitType: 0 69 | defaultIsNativeResolution: 1 70 | macRetinaSupport: 1 71 | runInBackground: 1 72 | captureSingleScreen: 0 73 | muteOtherAudioSources: 0 74 | Prepare IOS For Recording: 0 75 | Force IOS Speakers When Recording: 0 76 | deferSystemGesturesMode: 0 77 | hideHomeButton: 0 78 | submitAnalytics: 1 79 | usePlayerLog: 1 80 | bakeCollisionMeshes: 0 81 | forceSingleInstance: 0 82 | useFlipModelSwapchain: 1 83 | resizableWindow: 1 84 | useMacAppStoreValidation: 0 85 | macAppStoreCategory: public.app-category.games 86 | gpuSkinning: 1 87 | xboxPIXTextureCapture: 0 88 | xboxEnableAvatar: 0 89 | xboxEnableKinect: 0 90 | xboxEnableKinectAutoTracking: 0 91 | xboxEnableFitness: 0 92 | visibleInBackground: 1 93 | allowFullscreenSwitch: 1 94 | fullscreenMode: 3 95 | xboxSpeechDB: 0 96 | xboxEnableHeadOrientation: 0 97 | xboxEnableGuest: 0 98 | xboxEnablePIXSampling: 0 99 | metalFramebufferOnly: 0 100 | xboxOneResolution: 0 101 | xboxOneSResolution: 0 102 | xboxOneXResolution: 3 103 | xboxOneMonoLoggingLevel: 0 104 | xboxOneLoggingLevel: 1 105 | xboxOneDisableEsram: 0 106 | xboxOnePresentImmediateThreshold: 0 107 | switchQueueCommandMemory: 0 108 | switchQueueControlMemory: 16384 109 | switchQueueComputeMemory: 262144 110 | switchNVNShaderPoolsGranularity: 33554432 111 | switchNVNDefaultPoolsGranularity: 16777216 112 | switchNVNOtherPoolsGranularity: 16777216 113 | vulkanNumSwapchainBuffers: 3 114 | vulkanEnableSetSRGBWrite: 0 115 | m_SupportedAspectRatios: 116 | 4:3: 0 117 | 5:4: 0 118 | 16:10: 0 119 | 16:9: 1 120 | Others: 0 121 | bundleVersion: 0.1 122 | preloadedAssets: [] 123 | metroInputSource: 0 124 | wsaTransparentSwapchain: 0 125 | m_HolographicPauseOnTrackingLoss: 1 126 | xboxOneDisableKinectGpuReservation: 1 127 | xboxOneEnable7thCore: 1 128 | vrSettings: 129 | cardboard: 130 | depthFormat: 0 131 | enableTransitionView: 0 132 | daydream: 133 | depthFormat: 0 134 | useSustainedPerformanceMode: 0 135 | enableVideoLayer: 0 136 | useProtectedVideoMemory: 0 137 | minimumSupportedHeadTracking: 0 138 | maximumSupportedHeadTracking: 1 139 | hololens: 140 | depthFormat: 1 141 | depthBufferSharingEnabled: 1 142 | lumin: 143 | depthFormat: 0 144 | frameTiming: 2 145 | enableGLCache: 0 146 | glCacheMaxBlobSize: 524288 147 | glCacheMaxFileSize: 8388608 148 | oculus: 149 | sharedDepthBuffer: 1 150 | dashSupport: 1 151 | lowOverheadMode: 0 152 | protectedContext: 0 153 | v2Signing: 1 154 | enable360StereoCapture: 0 155 | isWsaHolographicRemotingEnabled: 0 156 | enableFrameTimingStats: 0 157 | useHDRDisplay: 0 158 | D3DHDRBitDepth: 0 159 | m_ColorGamuts: 00000000 160 | targetPixelDensity: 30 161 | resolutionScalingMode: 0 162 | androidSupportedAspectRatio: 1 163 | androidMaxAspectRatio: 2.1 164 | applicationIdentifier: {} 165 | buildNumber: {} 166 | AndroidBundleVersionCode: 1 167 | AndroidMinSdkVersion: 19 168 | AndroidTargetSdkVersion: 0 169 | AndroidPreferredInstallLocation: 1 170 | aotOptions: 171 | stripEngineCode: 1 172 | iPhoneStrippingLevel: 0 173 | iPhoneScriptCallOptimization: 0 174 | ForceInternetPermission: 0 175 | ForceSDCardPermission: 0 176 | CreateWallpaper: 0 177 | APKExpansionFiles: 0 178 | keepLoadedShadersAlive: 0 179 | StripUnusedMeshComponents: 1 180 | VertexChannelCompressionMask: 4054 181 | iPhoneSdkVersion: 988 182 | iOSTargetOSVersionString: 10.0 183 | tvOSSdkVersion: 0 184 | tvOSRequireExtendedGameController: 0 185 | tvOSTargetOSVersionString: 10.0 186 | uIPrerenderedIcon: 0 187 | uIRequiresPersistentWiFi: 0 188 | uIRequiresFullScreen: 1 189 | uIStatusBarHidden: 1 190 | uIExitOnSuspend: 0 191 | uIStatusBarStyle: 0 192 | iPhoneSplashScreen: {fileID: 0} 193 | iPhoneHighResSplashScreen: {fileID: 0} 194 | iPhoneTallHighResSplashScreen: {fileID: 0} 195 | iPhone47inSplashScreen: {fileID: 0} 196 | iPhone55inPortraitSplashScreen: {fileID: 0} 197 | iPhone55inLandscapeSplashScreen: {fileID: 0} 198 | iPhone58inPortraitSplashScreen: {fileID: 0} 199 | iPhone58inLandscapeSplashScreen: {fileID: 0} 200 | iPadPortraitSplashScreen: {fileID: 0} 201 | iPadHighResPortraitSplashScreen: {fileID: 0} 202 | iPadLandscapeSplashScreen: {fileID: 0} 203 | iPadHighResLandscapeSplashScreen: {fileID: 0} 204 | iPhone65inPortraitSplashScreen: {fileID: 0} 205 | iPhone65inLandscapeSplashScreen: {fileID: 0} 206 | iPhone61inPortraitSplashScreen: {fileID: 0} 207 | iPhone61inLandscapeSplashScreen: {fileID: 0} 208 | appleTVSplashScreen: {fileID: 0} 209 | appleTVSplashScreen2x: {fileID: 0} 210 | tvOSSmallIconLayers: [] 211 | tvOSSmallIconLayers2x: [] 212 | tvOSLargeIconLayers: [] 213 | tvOSLargeIconLayers2x: [] 214 | tvOSTopShelfImageLayers: [] 215 | tvOSTopShelfImageLayers2x: [] 216 | tvOSTopShelfImageWideLayers: [] 217 | tvOSTopShelfImageWideLayers2x: [] 218 | iOSLaunchScreenType: 0 219 | iOSLaunchScreenPortrait: {fileID: 0} 220 | iOSLaunchScreenLandscape: {fileID: 0} 221 | iOSLaunchScreenBackgroundColor: 222 | serializedVersion: 2 223 | rgba: 0 224 | iOSLaunchScreenFillPct: 100 225 | iOSLaunchScreenSize: 100 226 | iOSLaunchScreenCustomXibPath: 227 | iOSLaunchScreeniPadType: 0 228 | iOSLaunchScreeniPadImage: {fileID: 0} 229 | iOSLaunchScreeniPadBackgroundColor: 230 | serializedVersion: 2 231 | rgba: 0 232 | iOSLaunchScreeniPadFillPct: 100 233 | iOSLaunchScreeniPadSize: 100 234 | iOSLaunchScreeniPadCustomXibPath: 235 | iOSUseLaunchScreenStoryboard: 0 236 | iOSLaunchScreenCustomStoryboardPath: 237 | iOSDeviceRequirements: [] 238 | iOSURLSchemes: [] 239 | iOSBackgroundModes: 0 240 | iOSMetalForceHardShadows: 0 241 | metalEditorSupport: 1 242 | metalAPIValidation: 1 243 | iOSRenderExtraFrameOnPause: 0 244 | appleDeveloperTeamID: 245 | iOSManualSigningProvisioningProfileID: 246 | tvOSManualSigningProvisioningProfileID: 247 | iOSManualSigningProvisioningProfileType: 0 248 | tvOSManualSigningProvisioningProfileType: 0 249 | appleEnableAutomaticSigning: 0 250 | iOSRequireARKit: 0 251 | iOSAutomaticallyDetectAndAddCapabilities: 1 252 | appleEnableProMotion: 0 253 | clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea 254 | templatePackageId: com.unity.template.3d@4.2.5 255 | templateDefaultScene: Assets/Scenes/SampleScene.unity 256 | AndroidTargetArchitectures: 1 257 | AndroidSplashScreenScale: 0 258 | androidSplashScreen: {fileID: 0} 259 | AndroidKeystoreName: 260 | AndroidKeyaliasName: 261 | AndroidBuildApkPerCpuArchitecture: 0 262 | AndroidTVCompatibility: 0 263 | AndroidIsGame: 1 264 | AndroidEnableTango: 0 265 | androidEnableBanner: 1 266 | androidUseLowAccuracyLocation: 0 267 | androidUseCustomKeystore: 0 268 | m_AndroidBanners: 269 | - width: 320 270 | height: 180 271 | banner: {fileID: 0} 272 | androidGamepadSupportLevel: 0 273 | AndroidValidateAppBundleSize: 1 274 | AndroidAppBundleSizeToValidate: 150 275 | m_BuildTargetIcons: [] 276 | m_BuildTargetPlatformIcons: [] 277 | m_BuildTargetBatching: 278 | - m_BuildTarget: Standalone 279 | m_StaticBatching: 1 280 | m_DynamicBatching: 0 281 | - m_BuildTarget: tvOS 282 | m_StaticBatching: 1 283 | m_DynamicBatching: 0 284 | - m_BuildTarget: Android 285 | m_StaticBatching: 1 286 | m_DynamicBatching: 0 287 | - m_BuildTarget: iPhone 288 | m_StaticBatching: 1 289 | m_DynamicBatching: 0 290 | - m_BuildTarget: WebGL 291 | m_StaticBatching: 0 292 | m_DynamicBatching: 0 293 | m_BuildTargetGraphicsJobs: 294 | - m_BuildTarget: MacStandaloneSupport 295 | m_GraphicsJobs: 0 296 | - m_BuildTarget: Switch 297 | m_GraphicsJobs: 1 298 | - m_BuildTarget: MetroSupport 299 | m_GraphicsJobs: 1 300 | - m_BuildTarget: AppleTVSupport 301 | m_GraphicsJobs: 0 302 | - m_BuildTarget: BJMSupport 303 | m_GraphicsJobs: 1 304 | - m_BuildTarget: LinuxStandaloneSupport 305 | m_GraphicsJobs: 1 306 | - m_BuildTarget: PS4Player 307 | m_GraphicsJobs: 1 308 | - m_BuildTarget: iOSSupport 309 | m_GraphicsJobs: 0 310 | - m_BuildTarget: WindowsStandaloneSupport 311 | m_GraphicsJobs: 1 312 | - m_BuildTarget: XboxOnePlayer 313 | m_GraphicsJobs: 1 314 | - m_BuildTarget: LuminSupport 315 | m_GraphicsJobs: 0 316 | - m_BuildTarget: AndroidPlayer 317 | m_GraphicsJobs: 0 318 | - m_BuildTarget: WebGLSupport 319 | m_GraphicsJobs: 0 320 | m_BuildTargetGraphicsJobMode: 321 | - m_BuildTarget: PS4Player 322 | m_GraphicsJobMode: 0 323 | - m_BuildTarget: XboxOnePlayer 324 | m_GraphicsJobMode: 0 325 | m_BuildTargetGraphicsAPIs: 326 | - m_BuildTarget: AndroidPlayer 327 | m_APIs: 150000000b000000 328 | m_Automatic: 0 329 | - m_BuildTarget: iOSSupport 330 | m_APIs: 10000000 331 | m_Automatic: 1 332 | - m_BuildTarget: AppleTVSupport 333 | m_APIs: 10000000 334 | m_Automatic: 0 335 | - m_BuildTarget: WebGLSupport 336 | m_APIs: 0b000000 337 | m_Automatic: 1 338 | m_BuildTargetVRSettings: 339 | - m_BuildTarget: Standalone 340 | m_Enabled: 0 341 | m_Devices: 342 | - Oculus 343 | - OpenVR 344 | openGLRequireES31: 0 345 | openGLRequireES31AEP: 0 346 | openGLRequireES32: 0 347 | m_TemplateCustomTags: {} 348 | mobileMTRendering: 349 | Android: 1 350 | iPhone: 1 351 | tvOS: 1 352 | m_BuildTargetGroupLightmapEncodingQuality: [] 353 | m_BuildTargetGroupLightmapSettings: [] 354 | playModeTestRunnerEnabled: 0 355 | runPlayModeTestAsEditModeTest: 0 356 | actionOnDotNetUnhandledException: 1 357 | enableInternalProfiler: 0 358 | logObjCUncaughtExceptions: 1 359 | enableCrashReportAPI: 0 360 | cameraUsageDescription: 361 | locationUsageDescription: 362 | microphoneUsageDescription: 363 | switchNetLibKey: 364 | switchSocketMemoryPoolSize: 6144 365 | switchSocketAllocatorPoolSize: 128 366 | switchSocketConcurrencyLimit: 14 367 | switchScreenResolutionBehavior: 2 368 | switchUseCPUProfiler: 0 369 | switchApplicationID: 0x01004b9000490000 370 | switchNSODependencies: 371 | switchTitleNames_0: 372 | switchTitleNames_1: 373 | switchTitleNames_2: 374 | switchTitleNames_3: 375 | switchTitleNames_4: 376 | switchTitleNames_5: 377 | switchTitleNames_6: 378 | switchTitleNames_7: 379 | switchTitleNames_8: 380 | switchTitleNames_9: 381 | switchTitleNames_10: 382 | switchTitleNames_11: 383 | switchTitleNames_12: 384 | switchTitleNames_13: 385 | switchTitleNames_14: 386 | switchPublisherNames_0: 387 | switchPublisherNames_1: 388 | switchPublisherNames_2: 389 | switchPublisherNames_3: 390 | switchPublisherNames_4: 391 | switchPublisherNames_5: 392 | switchPublisherNames_6: 393 | switchPublisherNames_7: 394 | switchPublisherNames_8: 395 | switchPublisherNames_9: 396 | switchPublisherNames_10: 397 | switchPublisherNames_11: 398 | switchPublisherNames_12: 399 | switchPublisherNames_13: 400 | switchPublisherNames_14: 401 | switchIcons_0: {fileID: 0} 402 | switchIcons_1: {fileID: 0} 403 | switchIcons_2: {fileID: 0} 404 | switchIcons_3: {fileID: 0} 405 | switchIcons_4: {fileID: 0} 406 | switchIcons_5: {fileID: 0} 407 | switchIcons_6: {fileID: 0} 408 | switchIcons_7: {fileID: 0} 409 | switchIcons_8: {fileID: 0} 410 | switchIcons_9: {fileID: 0} 411 | switchIcons_10: {fileID: 0} 412 | switchIcons_11: {fileID: 0} 413 | switchIcons_12: {fileID: 0} 414 | switchIcons_13: {fileID: 0} 415 | switchIcons_14: {fileID: 0} 416 | switchSmallIcons_0: {fileID: 0} 417 | switchSmallIcons_1: {fileID: 0} 418 | switchSmallIcons_2: {fileID: 0} 419 | switchSmallIcons_3: {fileID: 0} 420 | switchSmallIcons_4: {fileID: 0} 421 | switchSmallIcons_5: {fileID: 0} 422 | switchSmallIcons_6: {fileID: 0} 423 | switchSmallIcons_7: {fileID: 0} 424 | switchSmallIcons_8: {fileID: 0} 425 | switchSmallIcons_9: {fileID: 0} 426 | switchSmallIcons_10: {fileID: 0} 427 | switchSmallIcons_11: {fileID: 0} 428 | switchSmallIcons_12: {fileID: 0} 429 | switchSmallIcons_13: {fileID: 0} 430 | switchSmallIcons_14: {fileID: 0} 431 | switchManualHTML: 432 | switchAccessibleURLs: 433 | switchLegalInformation: 434 | switchMainThreadStackSize: 1048576 435 | switchPresenceGroupId: 436 | switchLogoHandling: 0 437 | switchReleaseVersion: 0 438 | switchDisplayVersion: 1.0.0 439 | switchStartupUserAccount: 0 440 | switchTouchScreenUsage: 0 441 | switchSupportedLanguagesMask: 0 442 | switchLogoType: 0 443 | switchApplicationErrorCodeCategory: 444 | switchUserAccountSaveDataSize: 0 445 | switchUserAccountSaveDataJournalSize: 0 446 | switchApplicationAttribute: 0 447 | switchCardSpecSize: -1 448 | switchCardSpecClock: -1 449 | switchRatingsMask: 0 450 | switchRatingsInt_0: 0 451 | switchRatingsInt_1: 0 452 | switchRatingsInt_2: 0 453 | switchRatingsInt_3: 0 454 | switchRatingsInt_4: 0 455 | switchRatingsInt_5: 0 456 | switchRatingsInt_6: 0 457 | switchRatingsInt_7: 0 458 | switchRatingsInt_8: 0 459 | switchRatingsInt_9: 0 460 | switchRatingsInt_10: 0 461 | switchRatingsInt_11: 0 462 | switchRatingsInt_12: 0 463 | switchLocalCommunicationIds_0: 464 | switchLocalCommunicationIds_1: 465 | switchLocalCommunicationIds_2: 466 | switchLocalCommunicationIds_3: 467 | switchLocalCommunicationIds_4: 468 | switchLocalCommunicationIds_5: 469 | switchLocalCommunicationIds_6: 470 | switchLocalCommunicationIds_7: 471 | switchParentalControl: 0 472 | switchAllowsScreenshot: 1 473 | switchAllowsVideoCapturing: 1 474 | switchAllowsRuntimeAddOnContentInstall: 0 475 | switchDataLossConfirmation: 0 476 | switchUserAccountLockEnabled: 0 477 | switchSystemResourceMemory: 16777216 478 | switchSupportedNpadStyles: 22 479 | switchNativeFsCacheSize: 32 480 | switchIsHoldTypeHorizontal: 0 481 | switchSupportedNpadCount: 8 482 | switchSocketConfigEnabled: 0 483 | switchTcpInitialSendBufferSize: 32 484 | switchTcpInitialReceiveBufferSize: 64 485 | switchTcpAutoSendBufferSizeMax: 256 486 | switchTcpAutoReceiveBufferSizeMax: 256 487 | switchUdpSendBufferSize: 9 488 | switchUdpReceiveBufferSize: 42 489 | switchSocketBufferEfficiency: 4 490 | switchSocketInitializeEnabled: 1 491 | switchNetworkInterfaceManagerInitializeEnabled: 1 492 | switchPlayerConnectionEnabled: 1 493 | ps4NPAgeRating: 12 494 | ps4NPTitleSecret: 495 | ps4NPTrophyPackPath: 496 | ps4ParentalLevel: 11 497 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000 498 | ps4Category: 0 499 | ps4MasterVersion: 01.00 500 | ps4AppVersion: 01.00 501 | ps4AppType: 0 502 | ps4ParamSfxPath: 503 | ps4VideoOutPixelFormat: 0 504 | ps4VideoOutInitialWidth: 1920 505 | ps4VideoOutBaseModeInitialWidth: 1920 506 | ps4VideoOutReprojectionRate: 60 507 | ps4PronunciationXMLPath: 508 | ps4PronunciationSIGPath: 509 | ps4BackgroundImagePath: 510 | ps4StartupImagePath: 511 | ps4StartupImagesFolder: 512 | ps4IconImagesFolder: 513 | ps4SaveDataImagePath: 514 | ps4SdkOverride: 515 | ps4BGMPath: 516 | ps4ShareFilePath: 517 | ps4ShareOverlayImagePath: 518 | ps4PrivacyGuardImagePath: 519 | ps4NPtitleDatPath: 520 | ps4RemotePlayKeyAssignment: -1 521 | ps4RemotePlayKeyMappingDir: 522 | ps4PlayTogetherPlayerCount: 0 523 | ps4EnterButtonAssignment: 1 524 | ps4ApplicationParam1: 0 525 | ps4ApplicationParam2: 0 526 | ps4ApplicationParam3: 0 527 | ps4ApplicationParam4: 0 528 | ps4DownloadDataSize: 0 529 | ps4GarlicHeapSize: 2048 530 | ps4ProGarlicHeapSize: 2560 531 | playerPrefsMaxSize: 32768 532 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ 533 | ps4pnSessions: 1 534 | ps4pnPresence: 1 535 | ps4pnFriends: 1 536 | ps4pnGameCustomData: 1 537 | playerPrefsSupport: 0 538 | enableApplicationExit: 0 539 | resetTempFolder: 1 540 | restrictedAudioUsageRights: 0 541 | ps4UseResolutionFallback: 0 542 | ps4ReprojectionSupport: 0 543 | ps4UseAudio3dBackend: 0 544 | ps4SocialScreenEnabled: 0 545 | ps4ScriptOptimizationLevel: 0 546 | ps4Audio3dVirtualSpeakerCount: 14 547 | ps4attribCpuUsage: 0 548 | ps4PatchPkgPath: 549 | ps4PatchLatestPkgPath: 550 | ps4PatchChangeinfoPath: 551 | ps4PatchDayOne: 0 552 | ps4attribUserManagement: 0 553 | ps4attribMoveSupport: 0 554 | ps4attrib3DSupport: 0 555 | ps4attribShareSupport: 0 556 | ps4attribExclusiveVR: 0 557 | ps4disableAutoHideSplash: 0 558 | ps4videoRecordingFeaturesUsed: 0 559 | ps4contentSearchFeaturesUsed: 0 560 | ps4attribEyeToEyeDistanceSettingVR: 0 561 | ps4IncludedModules: [] 562 | ps4attribVROutputEnabled: 0 563 | monoEnv: 564 | splashScreenBackgroundSourceLandscape: {fileID: 0} 565 | splashScreenBackgroundSourcePortrait: {fileID: 0} 566 | blurSplashScreenBackground: 1 567 | spritePackerPolicy: 568 | webGLMemorySize: 16 569 | webGLExceptionSupport: 1 570 | webGLNameFilesAsHashes: 0 571 | webGLDataCaching: 1 572 | webGLDebugSymbols: 0 573 | webGLEmscriptenArgs: 574 | webGLModulesDirectory: 575 | webGLTemplate: APPLICATION:Default 576 | webGLAnalyzeBuildSize: 0 577 | webGLUseEmbeddedResources: 0 578 | webGLCompressionFormat: 1 579 | webGLLinkerTarget: 1 580 | webGLThreadsSupport: 0 581 | webGLWasmStreaming: 0 582 | scriptingDefineSymbols: {} 583 | platformArchitecture: {} 584 | scriptingBackend: {} 585 | il2cppCompilerConfiguration: {} 586 | managedStrippingLevel: {} 587 | incrementalIl2cppBuild: {} 588 | allowUnsafeCode: 0 589 | additionalIl2CppArgs: 590 | scriptingRuntimeVersion: 1 591 | gcIncremental: 0 592 | gcWBarrierValidation: 0 593 | apiCompatibilityLevelPerPlatform: {} 594 | m_RenderingPath: 1 595 | m_MobileRenderingPath: 1 596 | metroPackageName: Template_3D 597 | metroPackageVersion: 598 | metroCertificatePath: 599 | metroCertificatePassword: 600 | metroCertificateSubject: 601 | metroCertificateIssuer: 602 | metroCertificateNotAfter: 0000000000000000 603 | metroApplicationDescription: Template_3D 604 | wsaImages: {} 605 | metroTileShortName: 606 | metroTileShowName: 0 607 | metroMediumTileShowName: 0 608 | metroLargeTileShowName: 0 609 | metroWideTileShowName: 0 610 | metroSupportStreamingInstall: 0 611 | metroLastRequiredScene: 0 612 | metroDefaultTileSize: 1 613 | metroTileForegroundText: 2 614 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} 615 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, 616 | a: 1} 617 | metroSplashScreenUseBackgroundColor: 0 618 | platformCapabilities: {} 619 | metroTargetDeviceFamilies: {} 620 | metroFTAName: 621 | metroFTAFileTypes: [] 622 | metroProtocolName: 623 | XboxOneProductId: 624 | XboxOneUpdateKey: 625 | XboxOneSandboxId: 626 | XboxOneContentId: 627 | XboxOneTitleId: 628 | XboxOneSCId: 629 | XboxOneGameOsOverridePath: 630 | XboxOnePackagingOverridePath: 631 | XboxOneAppManifestOverridePath: 632 | XboxOneVersion: 1.0.0.0 633 | XboxOnePackageEncryption: 0 634 | XboxOnePackageUpdateGranularity: 2 635 | XboxOneDescription: 636 | XboxOneLanguage: 637 | - enus 638 | XboxOneCapability: [] 639 | XboxOneGameRating: {} 640 | XboxOneIsContentPackage: 0 641 | XboxOneEnableGPUVariability: 1 642 | XboxOneSockets: {} 643 | XboxOneSplashScreen: {fileID: 0} 644 | XboxOneAllowedProductIds: [] 645 | XboxOnePersistentLocalStorageSize: 0 646 | XboxOneXTitleMemory: 8 647 | XboxOneOverrideIdentityName: 648 | vrEditorSettings: 649 | daydream: 650 | daydreamIconForeground: {fileID: 0} 651 | daydreamIconBackground: {fileID: 0} 652 | cloudServicesEnabled: 653 | UNet: 1 654 | luminIcon: 655 | m_Name: 656 | m_ModelFolderPath: 657 | m_PortalFolderPath: 658 | luminCert: 659 | m_CertPath: 660 | m_SignPackage: 1 661 | luminIsChannelApp: 0 662 | luminVersion: 663 | m_VersionCode: 1 664 | m_VersionName: 665 | apiCompatibilityLevel: 6 666 | cloudProjectId: 667 | framebufferDepthMemorylessMode: 0 668 | projectName: 669 | organizationId: 670 | cloudEnabled: 0 671 | enableNativePlatformBackendsForNewInputSystem: 0 672 | disableOldInputManagerSupport: 0 673 | legacyClampBlendShapeWeights: 0 674 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2019.3.0f3 2 | m_EditorVersionWithRevision: 2019.3.0f3 (6c9e2bfd6f81) 3 | -------------------------------------------------------------------------------- /ProjectSettings/QualitySettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!47 &1 4 | QualitySettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 5 7 | m_CurrentQuality: 5 8 | m_QualitySettings: 9 | - serializedVersion: 2 10 | name: Very Low 11 | pixelLightCount: 0 12 | shadows: 0 13 | shadowResolution: 0 14 | shadowProjection: 1 15 | shadowCascades: 1 16 | shadowDistance: 15 17 | shadowNearPlaneOffset: 3 18 | shadowCascade2Split: 0.33333334 19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 20 | shadowmaskMode: 0 21 | blendWeights: 1 22 | textureQuality: 1 23 | anisotropicTextures: 0 24 | antiAliasing: 0 25 | softParticles: 0 26 | softVegetation: 0 27 | realtimeReflectionProbes: 0 28 | billboardsFaceCameraPosition: 0 29 | vSyncCount: 0 30 | lodBias: 0.3 31 | maximumLODLevel: 0 32 | streamingMipmapsActive: 0 33 | streamingMipmapsAddAllCameras: 1 34 | streamingMipmapsMemoryBudget: 512 35 | streamingMipmapsRenderersPerFrame: 512 36 | streamingMipmapsMaxLevelReduction: 2 37 | streamingMipmapsMaxFileIORequests: 1024 38 | particleRaycastBudget: 4 39 | asyncUploadTimeSlice: 2 40 | asyncUploadBufferSize: 16 41 | asyncUploadPersistentBuffer: 1 42 | resolutionScalingFixedDPIFactor: 1 43 | excludedTargetPlatforms: [] 44 | - serializedVersion: 2 45 | name: Low 46 | pixelLightCount: 0 47 | shadows: 0 48 | shadowResolution: 0 49 | shadowProjection: 1 50 | shadowCascades: 1 51 | shadowDistance: 20 52 | shadowNearPlaneOffset: 3 53 | shadowCascade2Split: 0.33333334 54 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 55 | shadowmaskMode: 0 56 | blendWeights: 2 57 | textureQuality: 0 58 | anisotropicTextures: 0 59 | antiAliasing: 0 60 | softParticles: 0 61 | softVegetation: 0 62 | realtimeReflectionProbes: 0 63 | billboardsFaceCameraPosition: 0 64 | vSyncCount: 0 65 | lodBias: 0.4 66 | maximumLODLevel: 0 67 | streamingMipmapsActive: 0 68 | streamingMipmapsAddAllCameras: 1 69 | streamingMipmapsMemoryBudget: 512 70 | streamingMipmapsRenderersPerFrame: 512 71 | streamingMipmapsMaxLevelReduction: 2 72 | streamingMipmapsMaxFileIORequests: 1024 73 | particleRaycastBudget: 16 74 | asyncUploadTimeSlice: 2 75 | asyncUploadBufferSize: 16 76 | asyncUploadPersistentBuffer: 1 77 | resolutionScalingFixedDPIFactor: 1 78 | excludedTargetPlatforms: [] 79 | - serializedVersion: 2 80 | name: Medium 81 | pixelLightCount: 1 82 | shadows: 1 83 | shadowResolution: 0 84 | shadowProjection: 1 85 | shadowCascades: 1 86 | shadowDistance: 20 87 | shadowNearPlaneOffset: 3 88 | shadowCascade2Split: 0.33333334 89 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 90 | shadowmaskMode: 0 91 | blendWeights: 2 92 | textureQuality: 0 93 | anisotropicTextures: 1 94 | antiAliasing: 0 95 | softParticles: 0 96 | softVegetation: 0 97 | realtimeReflectionProbes: 0 98 | billboardsFaceCameraPosition: 0 99 | vSyncCount: 1 100 | lodBias: 0.7 101 | maximumLODLevel: 0 102 | streamingMipmapsActive: 0 103 | streamingMipmapsAddAllCameras: 1 104 | streamingMipmapsMemoryBudget: 512 105 | streamingMipmapsRenderersPerFrame: 512 106 | streamingMipmapsMaxLevelReduction: 2 107 | streamingMipmapsMaxFileIORequests: 1024 108 | particleRaycastBudget: 64 109 | asyncUploadTimeSlice: 2 110 | asyncUploadBufferSize: 16 111 | asyncUploadPersistentBuffer: 1 112 | resolutionScalingFixedDPIFactor: 1 113 | excludedTargetPlatforms: [] 114 | - serializedVersion: 2 115 | name: High 116 | pixelLightCount: 2 117 | shadows: 2 118 | shadowResolution: 1 119 | shadowProjection: 1 120 | shadowCascades: 2 121 | shadowDistance: 40 122 | shadowNearPlaneOffset: 3 123 | shadowCascade2Split: 0.33333334 124 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 125 | shadowmaskMode: 1 126 | blendWeights: 2 127 | textureQuality: 0 128 | anisotropicTextures: 1 129 | antiAliasing: 0 130 | softParticles: 0 131 | softVegetation: 1 132 | realtimeReflectionProbes: 1 133 | billboardsFaceCameraPosition: 1 134 | vSyncCount: 1 135 | lodBias: 1 136 | maximumLODLevel: 0 137 | streamingMipmapsActive: 0 138 | streamingMipmapsAddAllCameras: 1 139 | streamingMipmapsMemoryBudget: 512 140 | streamingMipmapsRenderersPerFrame: 512 141 | streamingMipmapsMaxLevelReduction: 2 142 | streamingMipmapsMaxFileIORequests: 1024 143 | particleRaycastBudget: 256 144 | asyncUploadTimeSlice: 2 145 | asyncUploadBufferSize: 16 146 | asyncUploadPersistentBuffer: 1 147 | resolutionScalingFixedDPIFactor: 1 148 | excludedTargetPlatforms: [] 149 | - serializedVersion: 2 150 | name: Very High 151 | pixelLightCount: 3 152 | shadows: 2 153 | shadowResolution: 2 154 | shadowProjection: 1 155 | shadowCascades: 2 156 | shadowDistance: 70 157 | shadowNearPlaneOffset: 3 158 | shadowCascade2Split: 0.33333334 159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 160 | shadowmaskMode: 1 161 | blendWeights: 4 162 | textureQuality: 0 163 | anisotropicTextures: 2 164 | antiAliasing: 2 165 | softParticles: 1 166 | softVegetation: 1 167 | realtimeReflectionProbes: 1 168 | billboardsFaceCameraPosition: 1 169 | vSyncCount: 1 170 | lodBias: 1.5 171 | maximumLODLevel: 0 172 | streamingMipmapsActive: 0 173 | streamingMipmapsAddAllCameras: 1 174 | streamingMipmapsMemoryBudget: 512 175 | streamingMipmapsRenderersPerFrame: 512 176 | streamingMipmapsMaxLevelReduction: 2 177 | streamingMipmapsMaxFileIORequests: 1024 178 | particleRaycastBudget: 1024 179 | asyncUploadTimeSlice: 2 180 | asyncUploadBufferSize: 16 181 | asyncUploadPersistentBuffer: 1 182 | resolutionScalingFixedDPIFactor: 1 183 | excludedTargetPlatforms: [] 184 | - serializedVersion: 2 185 | name: Ultra 186 | pixelLightCount: 4 187 | shadows: 2 188 | shadowResolution: 2 189 | shadowProjection: 1 190 | shadowCascades: 4 191 | shadowDistance: 150 192 | shadowNearPlaneOffset: 3 193 | shadowCascade2Split: 0.33333334 194 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667} 195 | shadowmaskMode: 1 196 | blendWeights: 4 197 | textureQuality: 0 198 | anisotropicTextures: 2 199 | antiAliasing: 2 200 | softParticles: 1 201 | softVegetation: 1 202 | realtimeReflectionProbes: 1 203 | billboardsFaceCameraPosition: 1 204 | vSyncCount: 1 205 | lodBias: 2 206 | maximumLODLevel: 0 207 | streamingMipmapsActive: 0 208 | streamingMipmapsAddAllCameras: 1 209 | streamingMipmapsMemoryBudget: 512 210 | streamingMipmapsRenderersPerFrame: 512 211 | streamingMipmapsMaxLevelReduction: 2 212 | streamingMipmapsMaxFileIORequests: 1024 213 | particleRaycastBudget: 4096 214 | asyncUploadTimeSlice: 2 215 | asyncUploadBufferSize: 16 216 | asyncUploadPersistentBuffer: 1 217 | resolutionScalingFixedDPIFactor: 1 218 | excludedTargetPlatforms: [] 219 | m_PerPlatformDefaultQuality: 220 | Android: 2 221 | Lumin: 5 222 | Nintendo 3DS: 5 223 | Nintendo Switch: 5 224 | PS4: 5 225 | PSP2: 2 226 | Stadia: 5 227 | Standalone: 5 228 | WebGL: 3 229 | Windows Store Apps: 5 230 | XboxOne: 5 231 | iPhone: 2 232 | tvOS: 2 233 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/UnityConnectSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!310 &1 4 | UnityConnectSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 1 7 | m_Enabled: 0 8 | m_TestMode: 0 9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events 10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events 11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com 12 | m_TestInitMode: 0 13 | CrashReportingSettings: 14 | m_EventUrl: https://perf-events.cloud.unity3d.com 15 | m_Enabled: 0 16 | m_LogBufferSize: 10 17 | m_CaptureEditorExceptions: 1 18 | UnityPurchasingSettings: 19 | m_Enabled: 0 20 | m_TestMode: 0 21 | UnityAnalyticsSettings: 22 | m_Enabled: 0 23 | m_TestMode: 0 24 | m_InitializeOnStartup: 1 25 | UnityAdsSettings: 26 | m_Enabled: 0 27 | m_InitializeOnStartup: 1 28 | m_TestMode: 0 29 | m_IosGameId: 30 | m_AndroidGameId: 31 | m_GameIds: {} 32 | m_GameId: 33 | PerformanceReportingSettings: 34 | m_Enabled: 0 35 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Addressables-AssetManager 2 | Pre-loading, Synchronicity, and Pooling for Unity Addressables 3 | 4 | This project attempts to extend the Unity Addressables system for other common use cases. 5 | 6 | The main file to look at is AssetManager.cs 7 | 8 | ## Getting Started 9 | 10 | Open the project in Unity 2019.3. Alternatively, copy the Assets/Asset Manager folder into your project 11 | 12 | Requires Addressable 1.5.0 13 | 14 | ## Use Cases 15 | * Track loaded/unloaded assets. 16 | * Load/Unload assets by label (Addressable Group labels, not gameobject labels) 17 | * Track instantiated assets and destroy all instantiated assets by AssetReference.RuntimeKey 18 | * Load/Instantiate Components directly. The default Addressable system currently only allows GameObjects or assets which derive from UnityEngine.Object (AudioClip, etc). 19 | * Synchronous loading and instantiation 20 | * Pooling of instantiated AssetReferences 21 | 22 | 23 | ## Code 24 | 25 | * Load 26 | * AssetManager.TryGetOrLoadObjectAsync(AssetReference aRef, out AsyncOperationHandle handle) 27 | * Tries to get an already loaded UnityEngine.Object (not a component) and, if it doesnt exist, loads it. 28 | * Returns true if the object was already loaded, false otherwise. 29 | * handle contains an AsyncOperationHandle with Result as the requested object. 30 | * AssetManager.TryGetOrLoadComponentAsync(AssetReference aRef, out AsyncOperationHandle handle) 31 | * Same as above but used for components. 32 | * the handle result in this case will contain a reference to the requested Component attached to the GameObject. 33 | * AssetManager.TryGetObjectSync(AssetReference aRef, out TObjectType result) 34 | * Tries to synchronously get a reference to an already loaded object. 35 | * Returns true if the object was already loaded, false otherwise. 36 | * If false, 'result' will be null. 37 | * This works similarly to TryGetOrLoadObjectAsync, but wont load the object if it wasn't already loaded. 38 | * AssetManager.TryGetComponentSync(AssetReference aRef, out TComponentType result) 39 | * Same as above for components 40 | * AssetManager.LoadAssetsByLabelAsync(string label) 41 | * Loads all assets with the given Addressables label 42 | 43 | * Unload 44 | * AssetManager.Unload(AssetReference aRef) 45 | * Unloads the given AssetReference 46 | * AssetManager.UnloadByLabel(string label) 47 | * Unloads all assets with the given Addressables label 48 | 49 | * Get 50 | * AssetManager.IsLoaded(AssetReference aRef) 51 | * Returns true/false if the given AssetReference has already been loaded. 52 | * AssetManager.IsLoading(AssetReference aRef) 53 | * Returns true/false if the given AssetReference is currently loading. 54 | * AssetManager.IsInstantiated(AssetReference aRef) 55 | * Returns true/false if the given AssetReference has been instantiated. 56 | * AssetManager.InstantiatedCount(AssetReference aRef) 57 | * returns the total number of instantiated objects with the given AssetReference. 58 | 59 | * Instantiate 60 | * AssetManager.TryInstantiateOrLoadAsync(AssetReference aRef, Vector3 position, Quaternion rotation, Transform parent, out AsyncOperationHandle handle) 61 | * Tries to instantiate the given AssetReference if it is already loaded. Otherwise, loads and instantiates it. 62 | * Returns true if the object was already loaded, false otherwise. 63 | * Important: The 'handle' field will contain a AsyncOperationHandle with a 'result' field containing THE INSTANTIATED OBJECT (not the loaded object). 64 | * AssetManager.TryInstantiateOrLoadAsync(AssetReference aRef, Vector3 position, Quaternion rotation, Transform parent, out AsyncOperationHandle handle) 65 | * Same as above but for components, rather than GameObjects. 66 | * AssetManager.TryInstantiateMultiOrLoadAsync(AssetReference aRef, int count, Vector3 position, Quaternion rotation, Transform parent, out AsyncOperationHandle> handle) 67 | * Same as TryInstantiateOrLoadAsync but instantiates multiple copies (determined by the count field). 68 | * AssetManager.TryInstantiateMultiOrLoadAsync(AssetReference aRef, int count, Vector3 position, Quaternion rotation, Transform parent, out AsyncOperationHandle> handle) 69 | * Same as above but for components, rather than GameObjects 70 | * Assetmanager.TryInstantiateSync(AssetReference aRef, Vector3 position, Quaternion rotation, Transform parent, out GameObject result) 71 | * Tries to instantiate the given AssetReference if it is already loaded. 72 | * Returns true if it was already loaded, false otherwise. 73 | * Similar to TryInstantiateOrLoadAsync but will not load the object if it was not already loaded. 74 | 75 | * Destroy 76 | * AssetManager.DestroyAllInstances(AssetReference aRef) 77 | * Destroys all instantiated instances of the given AssetReference. 78 | 79 | ## Examples 80 | Please see the examples folder included in the Unity project. 81 | --------------------------------------------------------------------------------