-
Notifications
You must be signed in to change notification settings - Fork 68
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## [1.21.20] - 2024-02-08 - Fixed an issue where scene InternalId collisions were very likely when using dynamic internal asset naming - Fixed catalogs to use back slashes rather than forward slashes for android builds. - Fixed an issue where "Failed to remove scene from Addressables profiler" warning occurs when a scene is unloaded. - Prevent a KeyNotFoundException from being logged to the console. - Fix error message to report not found when loading non-Addressable asset by guid - Fixed issue where a NullReferenceException occurs when using WaitForCompletion and the max number of concurrent requests is set to 1. - Fixed issue where there is missing asset data in the Addressables Profiler for binary catalogs. - Added note about the limitations of the Check for Content Update Restrictions tool. - Add migration upgrade prompt for legacy path pairs (ex. RemoteLoadPath) - Fixed an issue where a broken script on any Addressable Asset would make it impossible to select Addressable Assets in the AssetReference inspector - Add logging of catalog and asset bundle http operations. - Add UI to trigger CCD management API http call logging (requires newer CCD package) - CCD Automatic Profiles can now be one per-profile, rather than one per AddressableSettings instance - CCD Manager is built when using the Build to CCD and the standard Build content menu - Add support for CCD Management SDK 3.0
- Loading branch information
Unity Technologies
committed
Feb 8, 2024
1 parent
15cd684
commit d7b49ef
Showing
1,292 changed files
with
127,600 additions
and
125,541 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
250 changes: 125 additions & 125 deletions
250
Documentation~/AddressableAssetsAsyncOperationHandle.md
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,22 @@ | ||
--- | ||
uid: addressables-assets-development-cycle | ||
--- | ||
|
||
# Manage Addressables | ||
|
||
The main way to organize and manage addressables is to use [groups](Groups.md) and [profiles](profiles-introduction.md). This section outlines how to use these to effectively manage addressables. | ||
|
||
|
||
|**Topic**|**Description**| | ||
|---|---| | ||
|[Manage Addressables introduction](manage-addressables-intro.md)|Understand the different ways to manage addressables in your project.| | ||
|[Organize Addressable assets](organize-addressable-assets.md)|Understand the different approaches to organize addressable assets.| | ||
|[Groups overview](Groups.md)|Use groups to organize the different assets in your project.| | ||
|[Profiles overview](AddressableAssetsProfiles.md)|Use profiles to manage how to build addressable assets.| | ||
|[Asset references overview](AssetReferences.md)| Use asset references to customize `MonoBehaviour` and `ScriptableObject` scripts.| | ||
|[Addressables Asset Settings reference](AddressableAssetSettings.md)|Reference information for Addressable Asset Settings| | ||
|[Addressables Preferences reference](addressables-preferences.md)|Reference information for the Addressables Preferences window.| | ||
|
||
## Further resources | ||
|
||
--- | ||
uid: addressables-assets-development-cycle | ||
--- | ||
|
||
# Manage Addressables | ||
|
||
The main way to organize and manage addressables is to use [groups](Groups.md) and [profiles](profiles-introduction.md). This section outlines how to use these to effectively manage addressables. | ||
|
||
|
||
|**Topic**|**Description**| | ||
|---|---| | ||
|[Manage Addressables introduction](manage-addressables-intro.md)|Understand the different ways to manage addressables in your project.| | ||
|[Organize Addressable assets](organize-addressable-assets.md)|Understand the different approaches to organize addressable assets.| | ||
|[Groups overview](Groups.md)|Use groups to organize the different assets in your project.| | ||
|[Profiles overview](AddressableAssetsProfiles.md)|Use profiles to manage how to build addressable assets.| | ||
|[Asset references overview](AssetReferences.md)| Use asset references to customize `MonoBehaviour` and `ScriptableObject` scripts.| | ||
|[Addressables Asset Settings reference](AddressableAssetSettings.md)|Reference information for Addressable Asset Settings| | ||
|[Addressables Preferences reference](addressables-preferences.md)|Reference information for the Addressables Preferences window.| | ||
|
||
## Further resources | ||
|
||
* [Organize Addressable assets](organize-addressable-assets.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,16 @@ | ||
--- | ||
uid: addressables-getting-started | ||
--- | ||
|
||
# Get started | ||
|
||
This section information how to set up and use Addressables for the first time. | ||
|
||
|**Topic**|**Description**| | ||
|---|---| | ||
|[Addressables overview](AddressableAssetsOverview.md)|Understand the uses of the Addressables package.| | ||
|[Install Addressables](installation-guide.md)|Install the Addressables package.| | ||
|[Make an asset Addressable](get-started-make-addressable.md)|Mark your assets for use by the Addressables system.| | ||
|[Convert an existing project to use Addressables](convert-project-to-addressables.md)|Upgrade an existing project to use Addressables.| | ||
|[Use an Addressable asset](use-addresssables-introduction.md)|Understand how to load and use Addressable assets.| | ||
--- | ||
uid: addressables-getting-started | ||
--- | ||
|
||
# Get started | ||
|
||
This section information how to set up and use Addressables for the first time. | ||
|
||
|**Topic**|**Description**| | ||
|---|---| | ||
|[Addressables overview](AddressableAssetsOverview.md)|Understand the uses of the Addressables package.| | ||
|[Install Addressables](installation-guide.md)|Install the Addressables package.| | ||
|[Make an asset Addressable](get-started-make-addressable.md)|Mark your assets for use by the Addressables system.| | ||
|[Convert an existing project to use Addressables](convert-project-to-addressables.md)|Upgrade an existing project to use Addressables.| | ||
|[Use an Addressable asset](use-addresssables-introduction.md)|Understand how to load and use Addressable assets.| | ||
|[Addressables samples](SamplesOverview.md)|Information about the samples contained in the Addressables package.| |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,15 @@ | ||
--- | ||
uid: addressables-profiles | ||
--- | ||
|
||
# Profiles overview | ||
|
||
A profile contains a set of variables that the Addressables build scripts uses. You can manage profiles with the Addressables Profiles window. | ||
|
||
|**Topic**|**Description**| | ||
|---|---| | ||
|[Profiles introduction](profiles-introduction.md)|Understand profiles and how to work with them.| | ||
|[Create a profile](profiles-create.md)|Create profiles in the Unity Editor.| | ||
|[Profile variables overview](ProfileVariables.md)|Understand and work with profile variables.| | ||
|[Set a build and load path](profiles-build-load-paths.md)|Select the build and load paths for an asset group based on a profile variable.| | ||
|[Addressables Profiles window reference](addressables-profiles-window.md)| Reference information for the Addressables Profiles window.| | ||
--- | ||
uid: addressables-profiles | ||
--- | ||
|
||
# Profiles overview | ||
|
||
A profile contains a set of variables that the Addressables build scripts uses. You can manage profiles with the Addressables Profiles window. | ||
|
||
|**Topic**|**Description**| | ||
|---|---| | ||
|[Profiles introduction](profiles-introduction.md)|Understand profiles and how to work with them.| | ||
|[Create a profile](profiles-create.md)|Create profiles in the Unity Editor.| | ||
|[Profile variables overview](ProfileVariables.md)|Understand and work with profile variables.| | ||
|[Set a build and load path](profiles-build-load-paths.md)|Select the build and load paths for an asset group based on a profile variable.| | ||
|[Addressables Profiles window reference](addressables-profiles-window.md)| Reference information for the Addressables Profiles window.| |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +1,39 @@ | ||
--- | ||
uid: addressables-and-sprite-atlases | ||
--- | ||
|
||
# Build sprite atlases | ||
|
||
Some `SpriteAtlas` options can change how Unity loads sprites. This is important to consider if you want to use the **Use Asset Database** [Play mode Script](xref:addressables-groups-window). | ||
|
||
The following examples explain how Addressables handles a `SpriteAtlas` differently than other assets: | ||
|
||
## Addressable sprites | ||
|
||
### Sprites in separate groups | ||
|
||
You have three Addressable textures in three separate groups, where each texture builds to around 500KB. Because they exist in separate groups, Unity builds them into three separate AssetBundles. Each AssetBundle uses around 500KB and only contains the sprite texture and associated metadata, with no dependencies. | ||
|
||
### Sprites in a non-Addressable SpriteAtlas | ||
|
||
The three textures in the previous example are put into a non-Addressable `SpriteAtlas`. In this case, Unity still generates three AssetBundles, but they're not the same size. One of the AssetBundles contains the atlas texture and uses about 1500KB. The other two AssetBundles only contain sprite metadata and list the atlas AssetBundle as a dependency. | ||
|
||
Although you can't control which AssetBundle contains the texture, the process is deterministic, so the same AssetBundle contains the texture through different rebuilds. This is the main difference from the standard duplication of dependencies. The sprites are dependent on the SpriteAtlas texture to load, and yet that texture is not built into all three AssetBundles, but is instead built only into one. | ||
|
||
### Sprites in a SpriteAtlas AssetBundle | ||
|
||
This time, the `SpriteAtlas` from the previous example is marked as Addressable in its own AssetBundle. Unity now creates four AssetBundles. The three AssetBundles with the sprites are each only a few KB and have a dependency on the fourth AssetBundle, which contains the `SpriteAtlas` and is about 1500KB. If you are using 2019.4 or older, the texture itself might end up elsewhere. The three sprite AssetBundles still depend on the `SpriteAtlas` AssetBundle. However, the `SpriteAtlas` AssetBundle can only contain metadata, and the texture can be in one of the other sprite AssetBundles. | ||
|
||
## Addressable prefabs with sprite dependencies | ||
|
||
### Sprite prefabs | ||
|
||
You have three Addressable sprite prefabs and each prefab has a dependency on its own sprite (about 500KB). Building the three prefabs separately results in three AssetBundles of about 500KB each. | ||
|
||
### Sprite prefabs in a non-Addressable SpriteAtlas | ||
|
||
The three textures from the previous example are added to a `SpriteAtlas`, and that atlas is not marked as Addressable. In this scenario, the `SpriteAtlas` texture is duplicated. All three AssetBundles are approximately 1500KB. This is expected based on the general rules about duplication of dependencies, but goes against the behavior seen in the previous section. | ||
|
||
### Sprite prefabs in a SpriteAtlas AssetBundle | ||
|
||
The `SpriteAtlas` from the previous example is now also marked as Addressable. Conforming to the rules of explicit inclusion, the `SpriteAtlas` texture is included only in the AssetBundle containing the `SpriteAtlas`. The AssetBundles with prefabs reference this fourth AssetBundle as a dependency. This will lead to three AssetBundles of about 500KB and one of approximately 1500KB. | ||
--- | ||
uid: addressables-and-sprite-atlases | ||
--- | ||
|
||
# Build sprite atlases | ||
|
||
Some `SpriteAtlas` options can change how Unity loads sprites. This is important to consider if you want to use the **Use Asset Database** [Play mode Script](xref:addressables-groups-window). | ||
|
||
The following examples explain how Addressables handles a `SpriteAtlas` differently than other assets: | ||
|
||
## Addressable sprites | ||
|
||
### Sprites in separate groups | ||
|
||
You have three Addressable textures in three separate groups, where each texture builds to around 500KB. Because they exist in separate groups, Unity builds them into three separate AssetBundles. Each AssetBundle uses around 500KB and only contains the sprite texture and associated metadata, with no dependencies. | ||
|
||
### Sprites in a non-Addressable SpriteAtlas | ||
|
||
The three textures in the previous example are put into a non-Addressable `SpriteAtlas`. In this case, Unity still generates three AssetBundles, but they're not the same size. One of the AssetBundles contains the atlas texture and uses about 1500KB. The other two AssetBundles only contain sprite metadata and list the atlas AssetBundle as a dependency. | ||
|
||
Although you can't control which AssetBundle contains the texture, the process is deterministic, so the same AssetBundle contains the texture through different rebuilds. This is the main difference from the standard duplication of dependencies. The sprites are dependent on the SpriteAtlas texture to load, and yet that texture is not built into all three AssetBundles, but is instead built only into one. | ||
|
||
### Sprites in a SpriteAtlas AssetBundle | ||
|
||
This time, the `SpriteAtlas` from the previous example is marked as Addressable in its own AssetBundle. Unity now creates four AssetBundles. The three AssetBundles with the sprites are each only a few KB and have a dependency on the fourth AssetBundle, which contains the `SpriteAtlas` and is about 1500KB. If you are using 2019.4 or older, the texture itself might end up elsewhere. The three sprite AssetBundles still depend on the `SpriteAtlas` AssetBundle. However, the `SpriteAtlas` AssetBundle can only contain metadata, and the texture can be in one of the other sprite AssetBundles. | ||
|
||
## Addressable prefabs with sprite dependencies | ||
|
||
### Sprite prefabs | ||
|
||
You have three Addressable sprite prefabs and each prefab has a dependency on its own sprite (about 500KB). Building the three prefabs separately results in three AssetBundles of about 500KB each. | ||
|
||
### Sprite prefabs in a non-Addressable SpriteAtlas | ||
|
||
The three textures from the previous example are added to a `SpriteAtlas`, and that atlas is not marked as Addressable. In this scenario, the `SpriteAtlas` texture is duplicated. All three AssetBundles are approximately 1500KB. This is expected based on the general rules about duplication of dependencies, but goes against the behavior seen in the previous section. | ||
|
||
### Sprite prefabs in a SpriteAtlas AssetBundle | ||
|
||
The `SpriteAtlas` from the previous example is now also marked as Addressable. Conforming to the rules of explicit inclusion, the `SpriteAtlas` texture is included only in the AssetBundle containing the `SpriteAtlas`. The AssetBundles with prefabs reference this fourth AssetBundle as a dependency. This will lead to three AssetBundles of about 500KB and one of approximately 1500KB. |
Oops, something went wrong.