Search Issue Tracker
By Design
Votes
1
Found in
2017.4
2018.4.12f1
2020.2
Issue ID
1228188
Regression
No
[Asset Bundles] Font assets are included in every AssetBundle that references them
Reproduction steps:
1. Open user's attached project
2. There is a Font in a project (Assets/Fonts)
3. The Font is referenced by some Scenes and a Prefab
4. Build the project for any Platform
5. This will execute "Builder.cs" Script and build Asset Bundles
6. Go to AssetBundles in the root directory of the project
7. Inspect the created Asset Bundles by checking their size (files with the Font will be 10MB+)
Expected result: Font file will only be included in project_fonts Asset Bundle
Actual result: all Scene and Prefab Asset Bundles that reference the Font have it included in them (scene_a, scene_b, prefab_c)
Reproducible with: 2017.4.38f1, 2018.4.19f1, 2019.3.6f1, 2020.1.0b2, 2020.2.0a4
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Mouse inputs cannot be inputted when searching the Shortcuts Menu by type "Shortcut"
- "Debug Assertion Failed!" error when launching Windows Dedicated Server Player with Script Debugging enabled
- [Cinematic Studio][3D HDRP] Shader warnings thrown in the Console window when creating a new project with Cinematic Studio template
- Autoplay is triggered on Audio Assets when changing Asset Bundle tags
- Inspector Asset Bundle section has no indication for Variants, AssetBundle is written without a space, and Variant dropdown menu is available without setting the Asset Bundle first
Resolution Note:
User build code is set up to build each bundle independently from each other. Thus each bundle will not know about the setup of other bundles and will pull in all dependencies. To fix the build code, update the code to construct the AssetBundleBuild containing all asset bundles and assets necessary and pass the entire array into the BuildAssetBundles api, or use the BuildAssetBundles api that does not take an AssetBundleBuild array, and the data will be pulled from the Asset Database fields.