Skip to main content

Struct NetworkObjectReference

A helper struct for serializing NetworkObjects over the network. Can be used in RPCs and NetworkVariable\<T>.

Implements

INetworkSerializable

System.IEquatable\<NetworkObjectReference>

Inherited Members

System.ValueType.ToString()

System.Object.Equals(System.Object, System.Object)

System.Object.GetType()

System.Object.ReferenceEquals(System.Object, System.Object)

Namespace: Unity.Netcode
Assembly: MLAPI.dll
Syntax
public struct NetworkObjectReference : INetworkSerializable, IEquatable<NetworkObjectReference>

Constructors

NetworkObjectReference(GameObject)

Creates a new instance of the NetworkObjectReference struct.

Declaration
public NetworkObjectReference(GameObject gameObject)
Parameters
TypeNameDescription
GameObjectgameObjectThe GameObject from which the NetworkObject component will be referenced.
Exceptions
TypeCondition
System.ArgumentNullException
System.ArgumentException

NetworkObjectReference(NetworkObject)

Creates a new instance of the NetworkObjectReference struct.

Declaration
public NetworkObjectReference(NetworkObject networkObject)
Parameters
TypeNameDescription
NetworkObjectnetworkObjectThe NetworkObject to reference.
Exceptions
TypeCondition
System.ArgumentNullException
System.ArgumentException

Properties

NetworkObjectId

The NetworkObjectId of the referenced NetworkObject.

Declaration
public ulong NetworkObjectId { get; }
Property Value
TypeDescription
System.UInt64

Methods

Equals(Object)

Declaration
public override bool Equals(object obj)
Parameters
TypeNameDescription
System.Objectobj
Returns
TypeDescription
System.Boolean
Overrides

System.ValueType.Equals(System.Object)

Equals(NetworkObjectReference)

Declaration
public bool Equals(NetworkObjectReference other)
Parameters
TypeNameDescription
NetworkObjectReferenceother
Returns
TypeDescription
System.Boolean

GetHashCode()

Declaration
public override int GetHashCode()
Returns
TypeDescription
System.Int32
Overrides

System.ValueType.GetHashCode()

NetworkSerialize\<T>(BufferSerializer\<T>)

Provides bi-directional serialization to read and write the desired data to serialize this type.

Declaration
public void NetworkSerialize<T>(BufferSerializer<T> serializer)
where T : IReaderWriter
Parameters
TypeNameDescription
BufferSerializer\<T>serializerThe serializer to use to read and write the data.
Type Parameters
NameDescription
TEither BufferSerializerReader or BufferSerializerWriter, depending whether the serializer is in read mode or write mode.

TryGet(out NetworkObject, NetworkManager)

Tries to get the NetworkObject referenced by this reference.

Declaration
public bool TryGet(out NetworkObject networkObject, NetworkManager networkManager = null)
Parameters
TypeNameDescription
NetworkObjectnetworkObjectThe NetworkObject which was found. Null if no object was found.
NetworkManagernetworkManagerThe networkmanager. Uses Singleton to resolve if null.
Returns
TypeDescription
System.BooleanTrue if the NetworkObject was found; False if the NetworkObject was not found. This can happen if the NetworkObject has not been spawned yet. you can try getting the reference at a later point in time.

Operators

Implicit(GameObject to NetworkObjectReference)

Implicitly convert to NetworkObject.

Declaration
public static implicit operator NetworkObjectReference(GameObject gameObject)
Parameters
TypeNameDescription
GameObjectgameObjectThe to convert from.
Returns
TypeDescription
NetworkObjectReferenceThe NetworkObjectReference created from the parameter that has a NetworkObject component attached to it

Implicit(NetworkObject to NetworkObjectReference)

Implicitly convert NetworkObject to NetworkObjectReference.

Declaration
public static implicit operator NetworkObjectReference(NetworkObject networkObject)
Parameters
TypeNameDescription
NetworkObjectnetworkObjectThe NetworkObject to convert from.
Returns
TypeDescription
NetworkObjectReferenceThe NetworkObjectReference created from the NetworkObject parameter

Implicit(NetworkObjectReference to GameObject)

Implicitly convert NetworkObjectReference to .

Declaration
public static implicit operator GameObject(NetworkObjectReference networkObjectRef)
Parameters
TypeNameDescription
NetworkObjectReferencenetworkObjectRefThe NetworkObjectReference to convert from.
Returns
TypeDescription
GameObjectThis returns the that the NetworkObject is attached to and is referenced by the NetworkObjectReference passed in as a parameter

Implicit(NetworkObjectReference to NetworkObject)

Implicitly convert NetworkObjectReference to NetworkObject.

Declaration
public static implicit operator NetworkObject(NetworkObjectReference networkObjectRef)
Parameters
TypeNameDescription
NetworkObjectReferencenetworkObjectRefThe NetworkObjectReference to convert from.
Returns
TypeDescription
NetworkObjectThe NetworkObject the NetworkObjectReference is referencing

Implements

INetworkSerializable

System.IEquatable\<T>