I just want to follow up on this one for the sake of clarity. After passing the appropriate bundle array, I had no problems with it since then. There is a new case popping up however. I added a nested data asset inside the former one.
class UCharacterDescriptor : public UPrimaryDataAsset
{
....
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, meta = (AssetBundles = "Scene"))
TSoftObjectPtr<class UVocalizationDataAsset> VocalizationData;
....
};
It really is just a glorified array of a custom struct that has the actual soft object ptr.
USTRUCT()
struct FVocalizeEntry
{
GENERATED_BODY()
UPROPERTY(EditDefaultsOnly, meta = (AssetBundles = "Scene"))
TSoftObjectPtr<USoundWave> Sound;
etc ....
};
I designated it to be part of the bundle just in case, but the TArray property containing this struct does not have the asset bundle meta, because my thought is that it is only relevant for asset properties.
In this setup, the sound wave does not actually load. So it sounds to me like I need to explicitly request the load of each PrimaryDataAsset - i.e, nesting them doesn’t recursively load them.
Not implying that it should, but just making sure. In this example, I can just use a raw pointer because I expect no scenario where it shouldn’t be loaded as part of the CharacterDescriptor asset. But I’d like to iron out this detail in case a more demanding case pops up.