From 564e333a91efab19b04990446259e0113953e1d6 Mon Sep 17 00:00:00 2001 From: Juan Ignacio Molteni Date: Fri, 15 Sep 2023 13:54:56 -0300 Subject: [PATCH 1/2] Catching exception if asset bundle fails to load --- .../AssetBundles/AB/AssetBundlesLoader.cs | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/AssetBundles/AB/AssetBundlesLoader.cs b/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/AssetBundles/AB/AssetBundlesLoader.cs index 9832d439a0..b1d9a8fa86 100644 --- a/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/AssetBundles/AB/AssetBundlesLoader.cs +++ b/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/AssetBundles/AB/AssetBundlesLoader.cs @@ -103,7 +103,16 @@ private async UniTask LoadAssetBundlesAsync(CancellationToken cancellationToken) float time = Time.realtimeSinceStartup; assetBundleInfoToLoad = highPriorityLoadQueue.Dequeue(); - await LoadAssetBundleAsync(assetBundleInfoToLoad, cancellationToken); + + try + { + await LoadAssetBundleAsync(assetBundleInfoToLoad, cancellationToken); + } + catch (Exception e) + { + assetBundleInfoToLoad.onFail?.Invoke(new Exception("Asset bundle is null")); + return; + } if (IsLoadBudgetTimeReached(time)) { @@ -116,7 +125,16 @@ private async UniTask LoadAssetBundlesAsync(CancellationToken cancellationToken) float time = Time.realtimeSinceStartup; assetBundleInfoToLoad = lowPriorityLoadQueue.Dequeue(); - await LoadAssetBundleAsync(assetBundleInfoToLoad, cancellationToken); + + try + { + await LoadAssetBundleAsync(assetBundleInfoToLoad, cancellationToken); + } + catch (Exception e) + { + assetBundleInfoToLoad.onFail?.Invoke(new Exception("Asset bundle is null")); + return; + } if (IsLoadBudgetTimeReached(time)) { From ca90b687bbba4b1357a53f9a4b4f77ce48a0ab35 Mon Sep 17 00:00:00 2001 From: Juan Ignacio Molteni Date: Fri, 15 Sep 2023 13:57:03 -0300 Subject: [PATCH 2/2] Update AssetBundlesLoader.cs Signed-off-by: Juan Ignacio Molteni --- .../AssetManager/AssetBundles/AB/AssetBundlesLoader.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/AssetBundles/AB/AssetBundlesLoader.cs b/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/AssetBundles/AB/AssetBundlesLoader.cs index b1d9a8fa86..a6c37bb29c 100644 --- a/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/AssetBundles/AB/AssetBundlesLoader.cs +++ b/unity-renderer/Assets/Scripts/MainScripts/DCL/Controllers/AssetManager/AssetBundles/AB/AssetBundlesLoader.cs @@ -110,8 +110,7 @@ private async UniTask LoadAssetBundlesAsync(CancellationToken cancellationToken) } catch (Exception e) { - assetBundleInfoToLoad.onFail?.Invoke(new Exception("Asset bundle is null")); - return; + assetBundleInfoToLoad.onFail?.Invoke(new Exception("Asset bundle failed to load")); } if (IsLoadBudgetTimeReached(time)) @@ -132,8 +131,7 @@ private async UniTask LoadAssetBundlesAsync(CancellationToken cancellationToken) } catch (Exception e) { - assetBundleInfoToLoad.onFail?.Invoke(new Exception("Asset bundle is null")); - return; + assetBundleInfoToLoad.onFail?.Invoke(new Exception("Asset bundle failed to load")); } if (IsLoadBudgetTimeReached(time))