UObject vs UDataAsset for static data

Is there any real difference between using these two for storing and then accessing static data?
Currently, I am using UObject for storing resources in UGameInstance, it’s very convenient for me, zero problems.
But is there any chance there is a performance difference between the two? Even tho UDataAsset is still a UObject.

UDataAssets are typically only instantiated once per asset, and they are shared across the engine. So they can be read from any place. They are tipicaly just for reading data.

UObjects are mainly for dynamic, mutable runtime data. Not shared since they are runtime generated instances.

1 Like