Replicated UObjects
To replicate UObjects you have to make a new UObjectclass inheriting from UCSReplicatedObject.
[UClass]
public class UMyReplicatedUObject : UCSReplicatedObject
{
}This object can now replicate variables and send RPCs.
To use your replicated UObject in Unreal's multiplayer system it needs to be registered through an AActor or UActorComponent.
Actor Example
[UClass]
public class AMyReplicatedActor : AActor
{
[UProperty(PropertyFlags.Replicated)]
public UMyReplicatedUObject ReplicatedObject { get; set; }
protected override void BeginPlay()
{
base.BeginPlay();
if (HasAuthority())
{
ReplicatedObject = NewObject<UMyReplicatedUObject>(this);
// Register the new replicated UObject
AddReplicatedSubObject(ReplicatedObject);
}
}
}UActorComponent Example
[UClass]
public class UMyReplicatedComponent : UActorComponent
{
[UProperty(PropertyFlags.Replicated)]
public UMyReplicatedUObject ReplicatedObject { get; set; }
public override void BeginPlay()
{
base.BeginPlay();
if (Owner.HasAuthority())
{
ReplicatedObject = NewObject<UMyReplicatedUObject>(this);
// Register the new replicated UObject
AddReplicatedSubObject(ReplicatedObject);
}
}
}Last updated