diff --git a/UnityProject/Packages/com.jasonxudeveloper.jengine.core/Runtime/Bootstrap.cs b/UnityProject/Packages/com.jasonxudeveloper.jengine.core/Runtime/Bootstrap.cs index b7057f93..42953f45 100644 --- a/UnityProject/Packages/com.jasonxudeveloper.jengine.core/Runtime/Bootstrap.cs +++ b/UnityProject/Packages/com.jasonxudeveloper.jengine.core/Runtime/Bootstrap.cs @@ -152,10 +152,16 @@ private async UniTask SetUpDynamicSecret() Debug.Log("SetUpDynamicSecret end"); } - private async UniTask LoadMetadataForAOTAssemblies() + private void LoadMetadataForAOTAssemblies() { - var aotListHandle = YooAssets.LoadAssetAsync(aotDllListFilePath); - await aotListHandle.Task; + var aotListHandle = YooAssets.LoadAssetSync(aotDllListFilePath); + if (aotListHandle.Status != EOperationStatus.Succeed) + { + Debug.LogError($"Failed to load AOT DLL list: {aotListHandle.LastError}"); + aotListHandle.Release(); + return; + } + TextAsset aotDataAsset = aotListHandle.GetAssetObject(); var aotDllList = NinoDeserializer.Deserialize>(aotDataAsset.bytes); aotListHandle.Release(); @@ -168,8 +174,14 @@ private async UniTask LoadMetadataForAOTAssemblies() continue; } - var handle = YooAssets.LoadAssetAsync(aotDllName); - await handle.Task; + var handle = YooAssets.LoadAssetSync(aotDllName); + if (handle.Status != EOperationStatus.Succeed) + { + Debug.LogError($"Failed to load AOT DLL {aotDllName}: {handle.LastError}"); + handle.Release(); + continue; + } + byte[] dllBytes = handle.GetAssetObject().bytes; var err = RuntimeApi.LoadMetadataForAOTAssembly(dllBytes, HomologousImageMode.SuperSet); Debug.Log($"LoadMetadataForAOTAssembly:{aotDllName}. ret:{err}"); @@ -293,7 +305,7 @@ await Prompt.ShowDialogAsync(t.dialogTitleNotice, // First supplement metadata updateStatusText.text = text.loadingCode; - await LoadMetadataForAOTAssemblies(); + LoadMetadataForAOTAssemblies(); // Set dynamic key updateStatusText.text = text.decryptingResources; await SetUpDynamicSecret();