Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
## [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
Show file tree
Hide file tree
Showing 1,292 changed files with 127,600 additions and 125,541 deletions.
2,583 changes: 1,300 additions & 1,283 deletions CHANGELOG.md

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions CHANGELOG.md.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

262 changes: 132 additions & 130 deletions Documentation~/AddressableAssetSettings.md

Large diffs are not rendered by default.

250 changes: 125 additions & 125 deletions Documentation~/AddressableAssetsAsyncOperationHandle.md

Large diffs are not rendered by default.

42 changes: 21 additions & 21 deletions Documentation~/AddressableAssetsDevelopmentCycle.md
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)
30 changes: 15 additions & 15 deletions Documentation~/AddressableAssetsGettingStarted.md
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.|
260 changes: 130 additions & 130 deletions Documentation~/AddressableAssetsOverview.md

Large diffs are not rendered by default.

30 changes: 15 additions & 15 deletions Documentation~/AddressableAssetsProfiles.md
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.|
78 changes: 39 additions & 39 deletions Documentation~/AddressablesAndSpriteAtlases.md
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.
Loading

0 comments on commit d7b49ef

Please sign in to comment.