Struct NetworkObjectReference
A helper struct for serializing NetworkObjects over the network. Can be used in RPCs and NetworkVariable<T>.
Namespace: Unity.Netcode
Syntax
public struct NetworkObjectReference : INetworkSerializable, IEquatable<NetworkObjectReference>
Constructors
NetworkObjectReference(NetworkObject)
Creates a new instance of the NetworkObjectReference struct.
Declaration
public NetworkObjectReference(NetworkObject networkObject)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkObject | networkObject | The NetworkObject to reference.  | 
Exceptions
| Type | Condition | 
|---|---|
| ArgumentNullException | |
| ArgumentException | 
NetworkObjectReference(GameObject)
Creates a new instance of the NetworkObjectReference struct.
Declaration
public NetworkObjectReference(GameObject gameObject)
Parameters
| Type | Name | Description | 
|---|---|---|
| GameObject | gameObject | The GameObject from which the NetworkObject component will be referenced.  | 
Exceptions
| Type | Condition | 
|---|---|
| ArgumentNullException | |
| ArgumentException | 
Properties
NetworkObjectId
The NetworkObjectId of the referenced NetworkObject.
Declaration
public ulong NetworkObjectId { get; }
Property Value
| Type | Description | 
|---|---|
| UInt64 | 
Methods
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
| Type | Name | Description | 
|---|---|---|
| Object | obj | 
Returns
| Type | Description | 
|---|---|
| Boolean | 
Overrides
Equals(NetworkObjectReference)
Declaration
public bool Equals(NetworkObjectReference other)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkObjectReference | other | 
Returns
| Type | Description | 
|---|---|
| Boolean | 
GetHashCode()
Declaration
public override int GetHashCode()
Returns
| Type | Description | 
|---|---|
| Int32 | 
Overrides
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
| Type | Name | Description | 
|---|---|---|
| BufferSerializer<T> | serializer | The serializer to use to read and write the data.  | 
Type Parameters
| Name | Description | 
|---|---|
| T | Either BufferSerializerReader or BufferSerializerWriter, depending whether the serializer is in read mode or write mode.  | 
Implements
TryGet(out NetworkObject, NetworkManager)
Tries to get the NetworkObject referenced by this reference.
Declaration
public bool TryGet(out NetworkObject networkObject, NetworkManager networkManager = null)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkObject | networkObject | The NetworkObject which was found. Null if no object was found.  | 
| NetworkManager | networkManager | The networkmanager. Uses Singleton to resolve if null.  | 
Returns
| Type | Description | 
|---|---|
| Boolean | True 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(NetworkObject to NetworkObjectReference)
Implicitly convert NetworkObject to NetworkObjectReference.
Declaration
public static implicit operator NetworkObjectReference(NetworkObject networkObject)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkObject | networkObject | The NetworkObject to convert from.  | 
Returns
| Type | Description | 
|---|---|
| NetworkObjectReference | The NetworkObjectReference created from the NetworkObject parameter  | 
Implicit(NetworkObjectReference to NetworkObject)
Implicitly convert NetworkObjectReference to NetworkObject.
Declaration
public static implicit operator NetworkObject(NetworkObjectReference networkObjectRef)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkObjectReference | networkObjectRef | The NetworkObjectReference to convert from.  | 
Returns
| Type | Description | 
|---|---|
| NetworkObject | The NetworkObject the NetworkObjectReference is referencing  | 
Implicit(NetworkObjectReference to GameObject)
Implicitly convert NetworkObjectReference to GameObject.
Declaration
public static implicit operator GameObject(NetworkObjectReference networkObjectRef)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkObjectReference | networkObjectRef | The NetworkObjectReference to convert from.  | 
Returns
| Type | Description | 
|---|---|
| GameObject | This returns the GameObject that the NetworkObject is attached to and is referenced by the NetworkObjectReference passed in as a parameter  | 
Implicit(GameObject to NetworkObjectReference)
Implicitly convert GameObject to NetworkObject.
Declaration
public static implicit operator NetworkObjectReference(GameObject gameObject)
Parameters
| Type | Name | Description | 
|---|---|---|
| GameObject | gameObject | The GameObject to convert from.  | 
Returns
| Type | Description | 
|---|---|
| NetworkObjectReference | The NetworkObjectReference created from the GameObject parameter that has a NetworkObject component attached to it  |