Hi everyone!
We’ve encountered an issue with Addressables that we haven’t been able to solve yet. Hopefully, someone here might have some insights or suggestions.
The Problem:
Previously, most dependencies were included in bundles as implicit dependencies. For example, we marked a prefab as an explicit addressable, and Unity automatically added all required meshes (used by the prefab) to the bundle.
This approach worked fine when we had just one Addressables group. However, as the number of groups grew, this method started causing duplicate assets across different groups.
Our Attempted Solution:
To avoid duplicates, we decided to explicitly declare all assets—not just prefabs, but also models, materials, and textures.
Where It Broke:
When we mark, for example, a model file (.fbx) as an explicit addressable, it drags all of its sub-assets (meshes, materials, animations) into the bundle—even if 95% of them aren’t used in the project.
On the other hand, if a specific sub-asset (e.g., a mesh) is included as an implicit dependency, Unity only pulls the required sub-assets into the bundle.
The Current Situation:
- Using implicit dependencies leads to duplicate assets.
- Using explicit dependencies pulls tons of unused sub-assets into bundles.
- Duplicating sub-assets (for example, meshes) is not an option for us, because it would break mesh compression and prevent us from changing import settings of the required sub-assets.
The Goal:
We want to manually exclude unused sub-assets from Addressables after marking the parent asset as explicit.
The Question:
Does anyone know of a technical solution or API that can help us remove unnecessary sub-assets from explicit Addressables?
We’d greatly appreciate any ideas or insights!