Skip to content

Commit

Permalink
com.unity.addressables@2.3.0
Browse files Browse the repository at this point in the history
## [2.3.0] - 2024-09-24
- Added back Analyze Rule toolset
- Fixed issue where the content of the list with Addressable Assets Groups is improperly indented when displayed in Group Hierarchy with Dashes Group View.
- Fixed issue where “Profile rename failed because default profile cannot be renamed“ error is thrown when renaming a new profile in Addressables Profiles.
- Fixed a memory leak where asset bundles would not get unloaded when a scene was unloaded before completing load.
- Fixed loading error when the loading from an assetbundle that is currently being preloaded.
  • Loading branch information
Unity Technologies committed Sep 24, 2024
1 parent 580b2db commit afce193
Show file tree
Hide file tree
Showing 75 changed files with 4,302 additions and 95 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ All notable changes to this package will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [2.3.0] - 2024-09-24
- Added back Analyze Rule toolset
- Fixed issue where the content of the list with Addressable Assets Groups is improperly indented when displayed in Group Hierarchy with Dashes Group View.
- Fixed issue where “Profile rename failed because default profile cannot be renamed“ error is thrown when renaming a new profile in Addressables Profiles.
- Fixed a memory leak where asset bundles would not get unloaded when a scene was unloaded before completing load.
- Fixed loading error when the loading from an assetbundle that is currently being preloaded.

## [2.2.2] - 2024-06-26
- Fix KeyNotFoundException when clicking on local bundles in the profiler.
- Fix bundles incorrectly marked as released in the Profiler when they are still active
Expand Down
2 changes: 1 addition & 1 deletion Documentation~/AddressableAssetSettings.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ By default, Addressable Assets only logs warnings and errors. To enable detailed
|---|---|---|
| __Player Version Override__|| Overrides the timestamp used to create the remote catalog name. If set, the remote catalog is named, `Catalog_<Player Version Override>.json`. If left blank, then Unity uses the timestamp.<br/><br/>If you use a unique remote catalog name for every new build, you can host multiple versions of your content at the same base URL. If you use the same override string for every build, then all players load the new catalog. Player update builds also always use the same remote catalog name as the build they're updating. For more information, refer to [Content update builds](xref:addressables-content-update-builds). |
| __Compress Local Catalog__|| Enable this property to build the catalog in a compressed AssetBundle file. This property reduces the storage size of the catalog, but increases the time to build and to load the catalog. |
| __Build Remote Catalog__|| Enable this property to create a copy of the content catalog for storage on a remote server. to build a remote catalog. When you enable this property the following options are available: |
| __Build Remote Catalog__|| Enable this property to create a copy of the content catalog for storage on a remote server. When you enable this property the following options are available: |
| | __Build & Load Paths__| Set where to build and load the remote catalog. Choose a Profile path pair from the list or select `<custom>` if you want to set the build and load paths separately.|
| | __Build Path__| Only displayed if you set __Build & Load Paths__ to `<custom>`. Set where to build the remote catalog. Typically, you should use the __RemoteBuildPath__ Profile variable.|
| | __Load Path__| Only displayed if you set __Build & Load Paths__ to `<custom>`. Set the URL at which to access the remote catalog. Typically, you should use the __RemoteLoadPath__ Profile variable.|
Expand Down
2 changes: 0 additions & 2 deletions Documentation~/AddressableAssetsMigrationGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ To convert your scenes:

You can now split your one, large Addressable Scene group into multiple groups. The best way to do that depends on the project goals. To proceed, you can move your Scenes into their own groups so that you can load and unload each of them independently of each other. You can avoid duplicating an asset referenced from two different bundles by making the asset itself Addressable. It's often better to move shared assets to their own group as well to reduce dependencies among AssetBundles.

You can now split your one, large Addressable scene group into multiple groups. The best way to do that depends on the project goals. To proceed, you can move your scenes into their own groups so that you can load and unload each of them independently of each other.

To avoid duplicating an asset referenced from two different bundles, make the asset Addressable. It's often better to move shared assets to their own group to reduce the amount of dependencies among your AssetBundles.


Expand Down
1 change: 1 addition & 0 deletions Documentation~/AddressableAssetsOverview.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,3 +126,4 @@ The Addressables system provides the following tools and windows to help you man
* [Addressable Groups window](xref:addressables-groups-window): The main interface for managing assets, group settings, and making builds.
* [Profiles window](xref:addressables-profiles): Helps set up paths used by your builds.
* [Build layout report](xref:addressables-build-layout-report): Describes the AssetBundles produced by a content build.
* [Analyze tool](xref:addressables-analyze-tool): the Analyze tool runs analysis rules that check whether your Addressables content conforms to the set of rules you have defined. The Addressables system provides some basic rules, such as checking for duplicate assets; you can add your own rules using the [AnalyzeRule] class.
2 changes: 1 addition & 1 deletion Documentation~/ContinuousIntegration.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,6 @@ You can call `IDataBuilder.ClearCachedData` as part of your CI process to make s

Cleaning the Scriptable Build Pipeline (SBP) cache cleans the `BuildCache` folder from the `Library` directory along with all the hash maps generated by the build and the Type Database. The `Library/BuildCache` folder contains `.info` files created by SBP during the build which speeds up subsequent builds by reading data from these `.info` files instead of re-generating data that hasn't changed.

To clear the SBP cache in a script without opening a prompt dialog, call [`BuildCache.PurgeCache(false)`](xref:UnityEditor.Build.Pipeline.Utilities.BuildCache.PurgeCache*).
To clear the SBP cache in a script without opening a confirmation dialog, call [`BuildCache.PurgeCache(false)`](xref:UnityEditor.Build.Pipeline.Utilities.BuildCache.PurgeCache*).

When building Addressables content or player builds with command line arguments or through continuous integration, you should restart the Unity Editor for each target platform. This ensures that Unity can't invoke `-executeMethod` until after script compilation completes for a platform. For more information about using command line arguments, refer to the Unity User Manual documentation [Command line arguments](https://docs.unity3d.com/Manual/CommandLineArguments.html).
3 changes: 2 additions & 1 deletion Documentation~/DiagnosticTools.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ The Addressables packages contains diagnostic tools to analyze your Addressables
|**Topic**|**Description**|
|---|---|
|[Addressables Profiler module](ProfilerModule.md)| Reference for the Addressables Profiler module, which gives you information about the assets used in your application.|
|[Analyze tool](editor/tools/AnalyzeTool.md)| Reference for the analyze tool providing a set of utilities and reports that you can use to find and fix asset issues.|
|[Build layout report](BuildLayoutReport.md)|Reference for the build layout report, which gives you information about your build.|
|[Build profile log](BuildProfileLog.md)|Reference for the build profile log, which contains performance information.|
|[Addressables Report window reference](addressables-report-window.md)|Reference for the Addressables Report window, which you can use to explore the content in a build.|
|[Addressables Report window reference](addressables-report-window.md)|Reference for the Addressables Report window, which you can use to explore the content in a build.|
3 changes: 2 additions & 1 deletion Documentation~/SamplesOverview.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,5 @@ When you download and import a sample, it's placed inside the `Assets/Samples/Ad
|**Custom Build and Playmode Scripts**|Includes two [custom scripts](xref:addressables-api-build-player-content):<br/><br/>- A custom Play mode script located in `Editor/CustomPlayModeScript.cs` of the sample. This script works similarly to the Use Existing Build (requires built groups) play mode script already included. The methods added to accomplish this are `CreateCurrentSceneOnlyBuildSetup` and `RevertCurrentSceneSetup` on the `CustomBuildScript`.<br/>- A custom build script located in `Editor/CustomBuildScript.cs` of the sample. This custom build script creates a build that only includes the currently open scene. A bootstrap scene is automatically created and a script is added that loads the built scene on startup.<br/><br/>For these examples, the build and load paths used by default are `[UnityEngine.AddressableAssets.Addressables.BuildPath]/[BuildTarget]` and `{UnityEngine.AddressableAssets.Addressables.RuntimePath}/[BuildTarget]` respectively.<br/><br/>The `ScriptableObject` of the class has already been created, but you can use the Create menu to make another `ScriptableObject`. For this `CustomPlayModeScript` the create menu path is **Addressables > Content Builders > Use CustomPlayMode Script**. By default, this creates a CustomPlayMode.asset ScriptableObject. The same goes for the `CustomBuildScript`.|
|**Disable Asset Import on Build**|Provides a script that disables asset importing during a player build. This improves build performance because `AssetBundles` are copied into StreamingAssets at build time. This sample is only relevant for Editor versions below 2021.2. In 2021.2+, the Editor provides the ability to include folders outside of `Assets/` into `StreamingAssets`.<br/><br/>When the sample is imported into the project, a player build without asset importing can be triggered by the new menu item **Build/Disabled Importer Build**. The build output is placed into `DisabledImporterBuildPath/{EditorUserBuildSettings.activeBuildTarget}/` by default. The sample class `DisableAssetImportOnBuild` can be edited to alter the build path.|
|**Import Existing Group**|Contains a tool that imports group assets, for example from a custom package, to the current project.<br/><br/>The tool is located under `Window/Asset Management/Addressables/Import Groups`. The window requires a path to the `AddressableAssetGroup.asset` scriptable object, a name for the group, and a folder for any schemas related to the imported `AddressableAssetGroup`.|
|**Prefab Spawner**|Provides a basic script that instantiates and destroys a prefab `AssetReference`. To use the sample, attach the provided script, `PrefabSpawnerSample`, to a `GameObject` in your scene. Assign an `AdressableAsset` to the `AssetReference` field of that script. If you're using the `Use Existing Build` playmode script, ensure that your Addressable content is built. Then, enter Play mode.|
|**Prefab Spawner**|Provides a basic script that instantiates and destroys a prefab `AssetReference`. To use the sample, attach the provided script, `PrefabSpawnerSample`, to a `GameObject` in your scene. Assign an `AdressableAsset` to the `AssetReference` field of that script. If you're using the `Use Existing Build` playmode script, ensure that your Addressable content is built. Then, enter Play mode.|
|**Custom Analyze Rules**|This sample shows how to create custom AnalyzeRules for use within the Analyze window. Both rules follow the recommended pattern for adding themselves to the UI.
3 changes: 2 additions & 1 deletion Documentation~/TableOfContents.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,9 @@
* [Preload dependencies](DownloadDependenciesAsync.md)
* [Load content from multiple projects](MultiProject.md)
* [Diagnostic tools](DiagnosticTools.md)
* [Analyze tool](editor/tools/AnalyzeTool.md)
* [Addressables Profiler module](ProfilerModule.md)
* [Build layout report](BuildLayoutReport.md)
* [Build profile log](BuildProfileLog.md)
* [Addressables Report window reference](addressables-report-window.md)
* [Addressables Report Inspector reference](addressables-report-inspector.md)
* [Addressables Report Inspector reference](addressables-report-inspector.md)
4 changes: 3 additions & 1 deletion Documentation~/api_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ uid: addressables-script-ref

# Addressables Script Reference

This section of the documentation contains details of the scripting API that Unity provides for the Addressables package.
This section of the documentation contains details of the scripting API that Unity provides for the Addressables package.

The scripting reference is organized according to the classes available to scripts, which are described along with their methods, properties, and any other information relevant to their use.

Expand All @@ -29,6 +29,7 @@ In Unity Editor code:

* [AddressableAssetSettings]: defines the Addressable settings.
* [AddressableAssetSettingsDefaultObject]: provides access to the asset containing your Addressables settings.
* [AnalyzeRule]: a base class for adding rules to the Analyze tool.
* [IHostingService]: an interface for creating your own hosting service implementations.
* [IDataBuilder]: an interface for creating your own build implementations.

Expand All @@ -42,6 +43,7 @@ In Unity Editor code:
[AssetReference]: xref:UnityEngine.AddressableAssets.AssetReference
[AddressableAssetSettings]: xref:UnityEditor.AddressableAssets.Settings.AddressableAssetSettings
[AddressableAssetSettingsDefaultObject]: xref:UnityEditor.AddressableAssets.AddressableAssetSettingsDefaultObject
[AnalyzeRule]: xref:UnityEditor.AddressableAssets.Build.AnalyzeRules.AnalyzeRule
[IHostingService]: xref:UnityEditor.AddressableAssets.HostingServices.IHostingService
[IDataBuilder]: xref:UnityEditor.AddressableAssets.Build.IDataBuilder
[ResourceManager]: xref:UnityEngine.ResourceManagement.ResourceManager
Loading

0 comments on commit afce193

Please sign in to comment.