The following text was extracted from internet.Please read it, and it can explain my question.
"Any given asset in a bundle may depend on other assets. For example, a model may incorporate materials which in turn make use of textures and shaders. It is possible to include all an asset’s dependencies along with it in its bundle. However, several assets from different bundles may all depend on a common set of other assets (eg, several different models of buildings may use the same brick texture). If a separate copy of a shared dependency is included in each bundle that has objects using it, then redundant instances of the assets will be created when the bundles are loaded. This will result in wasted memory.
To avoid such wastage, it is possible to separate shared dependencies out into a separate bundle and simply reference them from any bundles with assets that need them. First, the referencing feature needs to be enabled with a call toBuildPipeline.PushAssetDependencies. Then, the bundle containing the referenced dependencies needs to be built. Next, another call to PushAssetDependencies should be made before building the bundles that reference the assets from the first bundle. Additional levels of dependency can be introduced using further calls to PushAssetDependencies. The levels of reference are stored on a stack, so it is possible to go back a level using the correspondingBuildPipeline.PopAssetDependencies function. The push and pop calls need to be balanced including the initial push that happens before building."
I did so, and it works well.But my question is:
My game loads asset bundles as resources on the fly. I have built prefabs, models, materials, textures and audio, If I add a new asset to my game, e.g. a prefab.I must rebuild all the assets I have built, or I can’t load all the assets I have built before.Their components will be missing. In other words, I must rebuild all the assets when I add new prefab to my game.That’s terribal!Really really terribal!How to solve this trouble?