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