Skip to main content

Unity.Netcode.INetworkPrefabInstanceHandler

Interface for customizing, overriding, spawning, and destroying Network Prefabs Used by NetworkPrefabHandler

Namespace: System.Dynamic.ExpandoObject#
Assembly: MLAPI.dll#
Syntax#
public interface INetworkPrefabInstanceHandler

Destroy(NetworkObject)#

Invoked on Client and Server Once an implementation is registered with the NetworkPrefabHandler, this method will be called when a Network Prefab associated NetworkObject is:

Server Side: destroyed or despawned with the destroy parameter equal to true If Despawn(Boolean) is invoked with the default destroy parameter (i.e. false) then this method will NOT be invoked!

Client Side: destroyed when the client receives a destroy object message from the server or host.

Note on Pooling: When this method is invoked, you do not need to destroy the NetworkObject as long as you want your pool to persist. The most common approach is to make the NetworkObject inactive by calling .

Declaration#

void Destroy(NetworkObject networkObject)

Parameters#

TypeNameDescription
NetworkObjectnetworkObjectThe NetworkObject being destroyed

Instantiate(UInt64, Vector3, Quaternion)#

Client Side Only Once an implementation is registered with the NetworkPrefabHandler, this method will be called every time a Network Prefab associated NetworkObject is spawned on clients

Note On Hosts: Use the RegisterHostGlobalObjectIdHashValues(GameObject, List\<GameObject>) method to register all targeted NetworkPrefab overrides manually since the host will be acting as both a server and client.

Note on Pooling: If you are using a NetworkObject pool, don't forget to make the NetworkObject active via the method.

Declaration#

NetworkObject Instantiate(ulong ownerClientId, Vector3 position, Quaternion rotation)

Parameters#

TypeNameDescription
System.UInt64ownerClientIdthe owner for the NetworkObject to be instantiated
Vector3positionthe initial/default position for the NetworkObject to be instantiated
Quaternionrotationthe initial/default rotation for the NetworkObject to be instantiated

Returns#

TypeDescription
NetworkObject