unreal.MultiUserReplicationSubsystem

class unreal.MultiUserReplicationSubsystem(outer: Object | None = None, name: Name | str = 'None')

Bases: EngineSubsystem

Exposes ways to interact with the Multi-user replication system via Blueprints.

C++ Source:

  • Plugin: MultiUserClient

  • Module: MultiUserClientLibrary

  • File: MultiUserReplicationSubsystem.h

Editor Properties: (see get_editor_property/set_editor_property)

  • on_client_authority_server_state_changed (OnServerStateChanged): [Read-Write] Event triggered a client changes the objects it is replicating.

  • on_client_stream_server_state_changed (OnServerStateChanged): [Read-Write] Event triggered when the following changes about a client: - The registered object to properties bindings - The registered replication frequency setting of an object

get_object_replication_frequency(client_id, object_path) MultiUserObjectReplicationSettings or None

note: An object can be registered but not replicated. see: UMultiUserSubsystem::GetLocalClientId and UMultiUserSubsystem::GetRemoteClientIds

Parameters:
Returns:

Whether OutFrequency was modified.

out_frequency (MultiUserObjectReplicationSettings):

Return type:

MultiUserObjectReplicationSettings or None

get_properties_registered_to_object(client_id, object_path) Array[ConcertPropertyChainWrapper]

note: An object can be registered but not replicated. Use IsReplicatingObject to find out whether the client is replicating the returned properties. see: UMultiUserSubsystem::GetLocalClientId and UMultiUserSubsystem::GetRemoteClientIds.

Parameters:
Returns:

The properties the client has registered for replication for the object.

Return type:

Array[ConcertPropertyChainWrapper]

get_registered_objects(client_id) Array[SoftObjectPath]

Gets the objects the client has registered with the server.

Just because an object is replicated, it does not mean that the object is being replicated. Objects must be registered with the server so registration is just the first step. GetReplicatedObjects() will always contain GetRegisteredObjects(). see: UMultiUserSubsystem::GetLocalClientId and UMultiUserSubsystem::GetRemoteClientIds

Parameters:

client_id (Guid) – The client of which to get the registered objects.

Returns:

The objects the client has

Return type:

Array[SoftObjectPath]

get_replicated_objects(client_id) Array[SoftObjectPath]

Gets the objects that are currently being replicated by the client. note: There is a difference between registered and replicated objects! Objects are registered with the server first and later the client can attempt to start replicating them. GetReplicatedObjects() will always contain GetRegisteredObjects(). see: UMultiUserSubsystem::GetLocalClientId and UMultiUserSubsystem::GetRemoteClientIds

Parameters:

client_id (Guid) – The client of which to get the replicated objects.

Returns:

The objects being replicated by the client

Return type:

Array[SoftObjectPath]

is_replicating_object(client_id, object_path) bool

note: An object can be registered but not replicated. see: UMultiUserSubsystem::GetLocalClientId and UMultiUserSubsystem::GetRemoteClientIds

Parameters:
Returns:

Whether the client is replicating the object.

Return type:

bool

property on_client_authority_server_state_changed: OnServerStateChanged

[Read-Write] Event triggered a client changes the objects it is replicating.

Type:

(OnServerStateChanged)

property on_client_stream_server_state_changed: OnServerStateChanged

[Read-Write] Event triggered when the following changes about a client: - The registered object to properties bindings - The registered replication frequency setting of an object

Type:

(OnServerStateChanged)