Hey again, I would like to confirm something with you: although DumpLoadedAssetState() prints that some of those assets are ‘pending load’, what happens when you are trying to access those assets immediately? I believe the issue might be just a misreporting of DumpLoadedAssetState. I’ve set up a repro project and found that bundle assets that should be loaded appear in BundleHandle->ChildHandles.
However, when I try to access the request objects I can resolve them as full UObjects. Example engine modification:
`virtual void UpdateState(FGameFeaturePluginStateStatus& StateStatus) override
{
TRACE_CPUPROFILER_EVENT_SCOPE(GFP_Loading_Update);
check(StateProperties.GameFeatureData);
if (BundleHandle)
{
if (!UseAsyncLoading())
{
BundleHandle->WaitUntilComplete(0.0f, false);
}
if (BundleHandle->IsLoadingInProgress())
{
return;
}
// START MODIFICATION
TArray RequestedAssets;
BundleHandle->GetRequestedAssets(RequestedAssets, true);
for (const FSoftObjectPath& Path : RequestedAssets)
{
if (UObject* Obj = Path.ResolveObject())
{
UE_LOG(LogTemp, Warning, TEXT(“Requested asset was loaded: %s”), *Obj->GetPathName());
}
else
{
UE_LOG(LogTemp, Warning, TEXT(“Requested asset was NOT loaded: %s”), *Path.ToString());
}
}
UAssetManager::DumpLoadedAssetState();
// END MODIFICATION
if (BundleHandle->WasCanceled())
{
BundleHandle.Reset();
StateStatus.SetTransitionError(EGameFeaturePluginState::ErrorLoading, GetErrorResult(TEXT(“Load_Cancelled_Preload”)));
return;
}
}`And console output:
LogTemp: Warning: Primary asset id: MyDataAsset:MDA_MyDataAsset LogTemp: Warning: Requested asset was loaded: /PluginTagTest/DataAssets/MDA_MyDataAsset.MDA_MyDataAsset LogTemp: Warning: Requested asset was loaded: /PluginTagTest/BP_MyActorClass.BP_MyActorClass_C LogTemp: Warning: Requested asset was loaded: /PluginTagTest/PluginTagTest.PluginTagTest LogAssetManager: =========== Asset Manager Loaded Asset State =========== LogAssetManager: Type GameFeatureData: LogAssetManager: PluginTagTest: loaded, (Client, Core, Server) LogAssetManager: Type MyDataAsset: LogAssetManager: MDA_MyDataAsset: pending load, (Client, Core, Server)
Here I see that MDA_MyDataAsset is already resolvable yet reported as pending load. In your project, are the reported pending load objects actually still loading?
Edit: I realize that in your case its not about the data asset itself, but the asset soft reference inside the data asset. But my logs already show that DumpLoadedAssetState can misreport the pending load state, so I’m curious if those soft referenced assets in requested bundles are loaded or not.