UDataAsset
#include "Engine/DataAsset.h" Description
A simple UObject-derived asset that holds designer-authored data. Create native subclasses with UPROPERTY fields, then create instances as `.uasset` files in the Content Browser.
Signature
class UDataAsset : public UObject Caveats & Gotchas
- • UDataAsset is not manageable by UAssetManager — use UPrimaryDataAsset if you need async loading, bundle support, or asset management.
- • Data assets load lazily by default (LoadBehavior=LazyOnDemand). They won't be in memory until something hard-references them at cook time.
- • Prefer UDataAsset over UDeveloperSettings for per-object data; UDeveloperSettings is for project-wide config.
Example
Define a weapon data asset C++
UCLASS()
class UWeaponData : public UDataAsset
{
GENERATED_BODY()
public:
UPROPERTY(EditDefaultsOnly)
float Damage = 10.f;
UPROPERTY(EditDefaultsOnly)
float FireRate = 0.5f;
UPROPERTY(EditDefaultsOnly)
TSoftObjectPtr<UStaticMesh> Mesh;
}; See Also
Tags
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?