Data Asset
A Data Asset is an Unreal Engine class for storing configuration data as a standalone asset. You define a C++ class with UPROPERTY fields, and it becomes an asset you can create and edit in the Content Browser — no actor placement, no level dependency.
UCLASS()
class UMyConfig : public UDataAsset
{
UPROPERTY(EditDefaultsOnly)
float Speed = 500.f;
UPROPERTY(EditDefaultsOnly)
int32 MaxCount = 10;
};Right-click in the Content Browser → Miscellaneous → Data Asset → pick your class. Now you have a reusable config file that any system can reference.
Data Assets are useful when you want designers to tweak values without recompiling, or when different levels need different settings. A pool config might say “50 rifle bullets, 20 rockets.” A different level’s config might say “100 rifle bullets, 5 rockets.” Same code, different data.
Further Reading
- Unreal Engine Documentation — Data Assets and Asset Management (docs.unrealengine.com)
- Ben UI’s UE5 C++ tutorials cover Data Assets with practical examples