- Home /
Question by
liberent-isogai · Aug 26, 2016 at 08:46 AM ·
assetbundleloading
How to safely stop an AssetBundleRequest
Hi all.
I want to load the card and icons in an asynchronous manner.
However, AssetBundleRequest and ResourceRequest has no function to Stop, so we have no idea how to stop it safely.
Is there a way to stop asynchronous loading safely?
private AssetBundle assetBundle;
private float sec;
void Start()
{
assetBundle = AssetBundle.LoadFromFile( filePath );
StartCoroutine( Loader() );
}
IEnumerator Loader()
{
var request = assetBundle.LoadAllAssetsAsync();
Debug.Log( "start." );
yield return request; // 1 seconds necessary.
Debug.Log( "end." );
var assets = request.allAssets;
assetBundle.Unload( false );
assetBundle = null;
}
void Update()
{
if( assetBundle != null )
{
sec += Time.deltaTime;
// Loading does not end.
if( sec >= 0.5f )
{
Debug.Log( "stop." );
StopCoroutine( Loader() ); // Is this safe?
assetBundle.Unload( false );
assetBundle = null;
}
}
}
[ConsoleLog]
start.
stop.
If there is a function of Abort in AssetBundleRequest.
private AssetBundle assetBundle;
private AssetBundleRequest request;
private float sec;
void Start()
{
assetBundle = AssetBundle.LoadFromFile( filePath );
StartCoroutine( Loader() );
}
IEnumerator Loader()
{
request = assetBundle.LoadAllAssetsAsync();
Debug.Log( "start." );
yield return request; // 1 seconds necessary.
Debug.Log( "end." );
var assets = request.allAssets;
assetBundle.Unload( false );
assetBundle = null;
request = null;
}
void Update()
{
if( assetBundle != null )
{
sec += Time.deltaTime;
// Loading does not end.
if( sec >= 0.5f )
{
Debug.Log( "stop." );
if( request != null )
request.Abort(); // If there is a function of Abort in AssetBundleRequest.
StopCoroutine( Loader() ); // Safe.
assetBundle.Unload( false );
assetBundle = null;
request = null;
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Asset bundle downloads lagging after upgrading project from Unity 2018.X to Unity 2019.X 0 Answers
Load a DLL only when needed ? 1 Answer
How to use loading text 0 Answers
Assetbundle loading time 0 Answers