ZoeAppClass/Library/PackageCache/com.unity.addressables@1.1.10/CHANGELOG.md

29 KiB

Changelog

All notable changes to this package will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[1.1.10] - 2019-08-28

  • Fix for all files showing "Missing File" in the addressables window.
  • Fix for waiting on a successfully done Task

[1.1.9] - 2019-08-22

  • Fixed drag and drop NullRef in main addressables window.
  • Fixed AudioMixer type assets getting stripped from bundles.
  • Fixed issue where failed async operations weren't getting released from the async operation cache.
  • Fix unloading of scenes so that the dependencies will wait for the unload operation to complete before unloading. This was causing an occasional 1-frame visual glitch during unload.
  • Fixed scenario where AsyncOperation Task fails to complete when AsyncOperation has already completed.
  • Fixed a missed init-log that was stuck always-logging.
  • Fixed issue around assets losing dependencies when unloaded then reloaded. This would manifest most often as sprites losing their texture or prefabs losing their shader/material/texture.
  • Changed checks for determining if a path is remote or not from looking for "://" to looking for starting with "http". "://" is still used to determine if the asset should be loaded via UnityWebRequest or not.
  • Added Analyze Rule to show entire Asset Bundle layout
  • Added progress bars and some optimizations for calculating analyze rules
  • Fixed sprite sheet loading syntax LoadAssetAsync<Sprite[]>("sprite").
    • Note that this syntax requires an engine fix that is in 2019.3.0a10 and will be backported to 2019.2 and 2018.4.

[1.1.7] - 2019-07-30

  • Fixed chain operation percent complete calculation.
  • Fixed scenario where deleting assets would also delete groups that have similar names.
  • Fix in bundle caching bug surrounding bundles with '.' in their name
  • Significant improvements to the manual pages
  • Made the many init-logs not log unless ADDRESSABLES_LOG_ALL is defined in player settings (other logs always worked this way, init didn't).
  • Prevented NullReferenceException when attempting to delete entries in the Addressables window.
  • Fix for building by label (Bundle Mode = Pack Together By Label)
  • Removed ability to mark editor-only assets as addressable in GUI
  • Better fix to Editor types being added to the build
  • Made BuiltIn Data group read-only by default.
  • Fixed NullRef caused by an invalid (BuildIn Data) group being default during a build.
  • Fixed path where LoadResourceLocationsAsync could still throw an exception with unknown key. Now it should not, and is a safe way to check for valid keys.
    • If Key does not exist but nothing else goes wrong, it will return an empty list and Success state.
  • Fixed NullRef caused when there was a deleted scene in the scenes list.
  • BuildCompression for Addressables can now be driven from the default group. If necessary WebGL builds will fallback to LZ4Runtime and all other build targets will fallback to LZMA.
  • Added options for bundle naming: AppendHash, NoHash, OnlyHash.
    • As a temporary workaround for updating issues, we recommend setting all groups with StaticContent=true to be NoHash. This will make sure the updated catalog still refers to the correct unchanged bundle. An actual fix will be out in a few releases.

[1.1.5] - 2019-07-15

  • Fixed scenario where scene unload simultaneously destroys objects being instantiated in different scenes.
  • Cleaned up SetDirty logic to remove excessive dirtying of assets.

[1.1.4-preview] - 2019-06-19

  • Fixed an issue where Editor only types were being added to the build.

[1.1.3-preview] - 2019-06-17

  • BREAKING CODE CHANGES
    • ReleaseInstance will now return a bool saying if it successfully destroyed the instance. If an instance is passed in that Addressables is unaware of, this will return false (as of 0.8 and earlier, it would print a log, and still destroy the instance). It will no longer destroy unknown instances.
  • Added PrimaryKey to the IResourceLocation. By default, the PrimaryKey will be the address. This allows you to use LoadResourceLocationsAsync and then map the results back to an address.
  • Added ResourceType to IResourceLocation.
    • This allows you to know the type of a location before loading it.
    • Fixes a problem where calling Load*(key) would load all items that matched the key, then filter based on type. Now it will do the filter before loading (after looking up location matches)
    • This also adds a Type input to LoadResourceLocationsAsync. null input will match all types.
  • Safety check AssetReference.Asset to return null if nothing loaded.
  • New rule added to Analyze window - CheckResourcesDupeDependencies - to check for dependencies between addressables and items in Resources
  • Added group rearranging support to the Addressables window.
  • Improved logging when doing a Prepare for Content Update.
  • Added versions of DownloadDependencies to take a list of IResourceLocations or a list of keys with a MergeMode.
  • Fixed scenario where Task completion wouldn't happen if operation was already in a certain state
  • Made LoadResourceLocations no longer throw an exception if given unknown keys. This method is the best way to check if an address exists.
  • Exposed AnalyzeRule class to support creating custom rules for Addressables analysis.
  • Fixed some issues surrounding loading scenes in build scenes list via Addressables
  • Removed using alias directives defined in global space.
  • Proper disposal of DiagnosticEventCollector and DelayedActionManager when application closes.
  • Added support for loading named sub-objects via an "address.name" pattern. So a sprite named "trees" with sub-sprites, could be loaded via LoadAssetAsync("trees.trees_0").
  • Known issue: loading IList from a Texture2D or IList from an fbx will crash the player. The workaround for now is to load items by name as mentioned just above. Engine fix for this is on its way in.

[0.8.6-preview] - 2019-05-14

  • Fix to make UnloadSceneAsync(SceneInstance) actually unload the scene.

[0.8.3-preview] - 2019-05-08

  • BREAKING CODE CHANGES
    • Chagned all asynchronous methods to include the word Async in method name. This fits better with Unity's history and convention. They should auto upgrade without actually breaking your game.
    • Moved AsyncOperationHandle inside namespace UnityEngine.ResourceManagement
  • Addressable Analyze changes:
    • Analyze has been moved into it's own window.
    • CheckSceneDupeDependencies Analyze rule has been added.
    • CheckDupeDependencies has been renamed into CheckBundleDupeDependencies.
    • Analyze Rule operations for individuals or specific sets of Analyze Rules has been added via AnalyzeRule selections.

[0.7.4-preview] - 2019-04-19

  • Removed support for .NET 3.x as it is deprecated for Unity in general.
  • Replaced IAsyncOperation with AsyncOperationHandle.
    • Once the asset is no longer needed, the user can call Addressables.Release, passing in either the handle, or the result the handle provided.
  • Exposed AsyncOperationBase for creating custom operations
    • These operations must be started by ResourceManager.StartOperation
  • Replaced IDataBuilderContext and it's inherited classes with simpler AddressablesDataBuilderInput. This class is fed into all IDataBuilder.BuildData calls.
  • Fixed Nintendo Switch and PlayStation4 support.
  • Simplified the IResourceProvider interface.
  • Refactored build script interface. Made BuildScriptBase and the provided concrete versions easier to inherit from.
  • Removed DelayedActionManager.
  • Removed ISceneProvider. Users can implement custom scene loading using a custom AsyncOperationBase.
  • Removed optional LRU caching of Assets and Bundles.
  • Addressables Profiler now tracks all active async operations
  • AssetBundles targetting StreamingAssets (by using the profile variable [UnityEngine.AddressableAssets.Addressables.BuildPath] now build to the Library instead of StreamingAssets. During the player build, these files are copied into StreamingAssets, then after the build, the copies are deleted. They are also built into platform specific folders (so building for a second platform will not overwrite data from a first build). We recommend deleting anything in Assets/StreamingAssets/aa.
  • The addressables_content_state.bin is built into a platform specific folder within Assets/AddressableAssetsData/. We recommend deleting the addressables_content_state.bin in Assets/AddressableAssetsData to avoid future confusion.
  • ScriptableBuildPipeline now purges stale data from its cache in the background after each build.
  • Disabled Addressables automatic initialization. It will now initialize itself upon the first call into it (such as Load or Instantiate). To Initialize on startup instead of first use, call Addressables.Initialize().
  • Optimized performance around instantiation and general garbage generation.
  • Added per-group bundle compression settings.
  • Fixes to AssetReference drawers.
  • Improved the group template system for creating better defined asset groups.
  • Fixed bug in bundle caching that caused GetDownloadSize to report incorrectly
  • Cleaned up Load/Release calls to make sure all releases could take either the handle returned by Load, or the handle.Result.
  • Added editor-only analytics (nothing added in runtime). If you have Analytics disabled in your project nothing will be reported. Currently only run when you build addressables, it includes data such as Addressables version and Build Script name.
  • Fixed null ref issue when cleaning all the data builders
  • KNOWN ISSUE: there is still an occasional issue with code stripping on iOS. If you run into iOS issues, try turning stripping off for now.

[0.6.8-preview] - 2019-03-25

  • fixed Build For Content Update to no longer delete everything it built.

[0.6.7-preview] - 2019-03-07

  • Fix for iOS and Android. Symptom was NullReferenceException dring startup resulting in nothing working. Fix requires re-running Build Player Content

[0.6.6-preview] - 2019-03-05

  • BREAKING CODE CHANGES
    • to ease code navigation, we have added several layers of namespace to the code.
    • All Instantiate API calls (Addressables and AssetReference) have been changed to only work with GameObjects.
    • any hardcoded profile path to com.unity.addressables (specifically LocalLoadPath, RemoteLoadPath, etc) should use UnityEngine.AddressableAssets.Addressables.RuntimePath instead.
      For build paths, replace Assets/StreamingAssets/com.unity.addressables/[BuildTarget] with [UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget] For load paths, replace Assets/StreamingAssets/com.unity.addressables/[BuildTarget] with {UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]
    • We have removed attribute AssetReferenceTypeRestriction as it is cleaner to enforce type via generics
    • Attribute AssetReferenceLabelRestriction is renamed to AssetReferenceUILabelRestriction and must be surrounded by #if UNITY_EDITOR in your game code, to enforce it's editor-only capability
    • Modifications to IResourceProvider API.
    • Removed PreloadDependencies API. Instead use DownloadDependencies
  • Content Update calculation has changed, this will invalide previously generated addressables_content_state.bin files.
    • Some types for content update were made private as a result of the above change.
  • Minimum Unity version is now 2018.3 to address a build-time bug with progressive lightmapper.
  • Moved all of the Resource Manager package to be contained within Addressables (no longer a stand alone package). No code change implications.
  • Change to content catalog building:
    • Previous model built one catalog per group, wherever that group built it's data.
    • New model builds one catalog locally, and optionally one "remote". Remote location is set on the top level AddressableAssetSettings object.
    • Loading will now always check if remote has changes (if remote exists), and use local otherwise (or cached version of remote).
  • LoadScene API now takes the LoadSceneParameters that were added to the engine in 2018.2
  • Exposed AddressablesBuildDataBuilderContext.BuildScriptContextConstants for use in build scripts.
  • Refactored AddressablesBuildDataBuilderContext.GetValue to take default parameter.
  • Fixed Scene asset path to be consistent between different play modes in the catalog data.
  • Exposed the various IDataBuilder implementations as public classes.
  • Exposed asset and bundle provider types for BundledAssetGroupSchema.
  • Fixed several bugs when loading catalogs from other projects.
  • Added provider suffix to Initialization operation and Addressables.LoadCatalogsFromRuntimeData API to better support overriding providers.
  • Exposed CachedProvider options in BundledAssetGroupSchema. Each unique set of parameters will generate a separate provider. There is also an option to force a group to have its own providers.
  • Added IEnumerable