๐Ÿ›ฐ๏ธ AutoReplication Overview

Short Description

AutoReplication is a high-performance networking framework for streaming Object Variables and executing RPCs with minimal setup.

Long Description

The AutoReplication system bridges the gap between standard Unreal Actor replication and the dynamic Gorgeous Object Variable system. It provides automated dirty-tracking, efficient byte-stream serialization, and support for modern replication backends like Iris. By using mixins and coordinator components, it enables any Object Variable to be networked without writing custom NetSerialize logic.

๐Ÿš€ Key Features

  • Automated Property Streaming: Syncs changed properties automatically.
  • Iris Support: Optimized for the latest Unreal Engine networking features.
  • Delta Compression: Only sends what changed since the last acknowledgement.
  • RPC Relay: Transparently routes client requests to server handlers.
  • Replication Conditions: Fine-grained control over WHO receives WHICH data (OwnerOnly, SkipOwner, etc.).

๐Ÿ“‚ System Components

Component Purpose
Coordinator Manages per-world replication streams and backend registration.
Technical Deep-Dive In-depth look at the serialization and transmission flow.
Transporter Handles the actual RPC and property packet transmission.
RPCRelay Client-side component for forwarding RPC requests to the server.

๐Ÿ“š Quick Example

// In your Gorgeous-ready class (e.g. PlayerState)
// The mixin handles the heavy lifting
UPROPERTY(Replicated)
FGorgeousAutoReplicationMixin ReplicationMixin;

virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override
{
    Super::GetLifetimeReplicatedProps(OutLifetimeProps);
    DOREPLIFETIME(AMyPlayerState, ReplicationMixin);
}