---
title: Replicate Actor Properties
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/replicate-actor-properties-in-unreal-engine
version: Unreal Engine 5.8 Documentation
fetched: 2026-10-11
note: 原文摘录（英文），供 wiki 引用；非全文
---

# Replicate Actor Properties

- Server sends an update to each client whenever a replicated property changes.
- Replicated vs ReplicatedUsing (RepNotify OnRep_ called on clients). NotReplicated for members within a replicated struct.
- Steps: UPROPERTY(Replicated); bReplicates = true; override GetLifetimeReplicatedProps and DOREPLIFETIME(ADerivedActor, Health); include Net/UnrealNetwork.h.
- RepNotify may take a parameter of the same type (value or const ref) receiving the previous value.
- Blueprint: Set node on a replicated property automatically calls RepNotify; macros/functions taking by reference generally don't. (C++ differs.)
- Once registered, cannot unregister; replicated for the lifetime of the object; system shares work across connections. By default replicates only when changed.
- DOREPLIFETIME_CONDITION (e.g. COND_OwnerOnly); DOREPLIFETIME_CONDITION_NOTIFY with REPNOTIFY_Always / REPNOTIFY_OnChanged; DOREPLIFETIME_WITH_PARAMS (FDoRepLifetimeParams) — more control, more overhead.
- Conditions: COND_None, COND_InitialOnly, COND_OwnerOnly, COND_SkipOwner, COND_SimulatedOnly, COND_AutonomousOnly, COND_SimulatedOrPhysics, COND_InitialOrOwner, COND_Custom, COND_ReplayOrOwner, COND_ReplayOnly, COND_SimulatedOnlyNoReplay, COND_SimulatedOrPhysicsNoReplay, COND_SkipReplay, COND_Dynamic, COND_Never.
- COND_Custom + DOREPLIFETIME_ACTIVE_OVERRIDE in PreReplication; per actor, not per connection (not safe to use per-connection state). Custom conditions cost more and cannot change per connection. _FAST variants build descriptor at compile time (no arrays except _STATIC_ARRAY).
- Object references replicated as FNetworkGUID assigned by server. Supported: replicated actors, stably-named non-replicated actors, replicated components, stably-named components, non-actor non-component UObjects from loaded packages. IsSupportedForNetworking. Stably named: loaded from packages, not spawned; components loaded from package, added by simple construction scripts, or SetNetAddressable (e.g. components added in C++ constructor).
