Le permite administrar referencias cruzadas y dependencias entre diferentes asset bundles y construcciones del player.
Si un asset bundle tiene dependencias con otros asset bundless, es su responsabilidad asegurarse de que los asset bundles dependientes se carguen a través de la clase WWW.
When you push asset dependencies it will share all resources on that layer, pushing recursively always inherits the previous dependencies.
PushAssetDependencies and PopAssetDependencies must even each other out.
@MenuItem("Assets/Auto Build Asset Bundles")
static function ExportResource () {
// Enable cross-references for all following asset bundles files until
// we call PopAssetDependencies
BuildPipeline.PushAssetDependencies();
var options =
BuildAssetBundleOptions.CollectDependencies |
BuildAssetBundleOptions.CompleteAssets;
// All subsequent resources share assets in this asset bundles
// It is up to you to ensure that the shared asset bundle is
// loaded prior to loading other resources
BuildPipeline.BuildAssetBundle(
AssetDatabase.LoadMainAssetAtPath("assets/artwork/lerpzuv.tif"),
null, "Shared.unity3d", options);
// By pushing and popping around the asset bundle, this file
// will share resources but later asset bundles will not share assets in this resource
BuildPipeline.PushAssetDependencies();
BuildPipeline.BuildAssetBundle(
AssetDatabase.LoadMainAssetAtPath("Assets/Artwork/Lerpz.fbx"),
null, "Lerpz.unity3d", options);
BuildPipeline.PopAssetDependencies();
// By pushing and popping around the asset bundle, this file
// will share resources but later asset bundles will not share assets in this resource
BuildPipeline.PushAssetDependencies();
BuildPipeline.BuildAssetBundle(
AssetDatabase.LoadMainAssetAtPath("Assets/Artwork/explosive guitex.prefab"),
null, "explosive.unity3d", options);
BuildPipeline.PopAssetDependencies();
// By pushing and popping around the asset bundle, this file
// will share resources but later asset bundles will not share assets in this resource
BuildPipeline.PushAssetDependencies();
BuildPipeline.BuildStreamedSceneAssetBundle(
["Assets/AdditiveScene.unity"], "AdditiveScene.unity3d", BuildTarget.StandaloneWindows);
BuildPipeline.PopAssetDependencies();
BuildPipeline.PopAssetDependencies();
}
Tenga en cuenta que el Web Player no es compatible desde 5.4 en adelante.
See Also: PopAssetDependencies, BuildAssetBundle.