We’ve got a bunch of assets containing user asset data of a type that no longer exists. They spam warnings in the editor at load time. However as far as I can see there is no way tor remove asset data applied to an asset except RemoveUserDataOfClass
and in this case there is no class; If I try something like
const TArray<UAssetUserData*> *UserData = Tex2DObj->GetAssetUserDataArray();
for (UAssetUserData* UserDataInstance : *UserData)
{
Tex2DObj->RemoveUserDataOfClass(UserDataInstance->GetClass())
}
I get an Access Violation, since the orphaned UserData intances can’t tell me their class. The array returned from GetAssetUserDataArray()
is const
so I can’t reset it or remove its members. There is no other API for removing UserData as far as I can tell.
How do I get rid of this zombie data?