---
title: Properties (UPROPERTY)
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-uproperties
version: Unreal Engine 5.8 Documentation
fetched: 2026-10-11
note: 原文摘录（英文），供 wiki 引用；非全文
---

# Properties (UPROPERTY)

- Declaration: `UPROPERTY([specifier, ...], [meta(key=value, ...)]) Type VariableName;`
- Integers: int8..int64 / uint8..uint64. Bitmask via `meta=(Bitmask)`, `UENUM(Meta=(Bitflags))`, `BitmaskEnum`; range 0..31.
- Strings: FString (dynamic array of chars); FName (reference to immutable case-insensitive string in a global string table; smaller and more efficient to pass around, harder to manipulate); FText (localization).
- Selected specifiers:
  - BlueprintAssignable: Multicast Delegates only. Exposes the property for assigning in Blueprints.
  - BlueprintReadOnly / BlueprintReadWrite (mutually incompatible).
  - Config: value saved to the class's .ini; implies BlueprintReadOnly.
  - EditAnywhere: editable on archetypes and instances. EditDefaultsOnly: only on archetypes. EditInstanceOnly: only on instances. Incompatible with Visible*.
  - VisibleAnywhere / VisibleDefaultsOnly / VisibleInstanceOnly: visible, not editable.
  - Instanced: Object properties only; each instance gets a unique copy of the Object assigned in defaults.
  - Replicated; ReplicatedUsing=FunctionName (callback when updated over the network).
  - SaveGame: include fields for a checkpoint/save system; a proxy archiver reads/writes it.
  - Transient: not saved or loaded; zero-filled at load time.
- Metadata only exists in the editor; do not write game logic that accesses metadata. (e.g. ClampMin/ClampMax, EditCondition (full expression parser), ExposeOnSpawn, DisplayName.)
