Struct NetworkBehaviourReference
A helper struct for serializing NetworkBehaviours over the network. Can be used in RPCs and NetworkVariable<T>. Note: network ids get recycled by the NetworkManager after a while. So a reference pointing to
Namespace: Unity.Netcode
Syntax
public struct NetworkBehaviourReference : INetworkSerializable, IEquatable<NetworkBehaviourReference>
Constructors
NetworkBehaviourReference(NetworkBehaviour)
Creates a new instance of the 
Declaration
public NetworkBehaviourReference(NetworkBehaviour networkBehaviour)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkBehaviour | networkBehaviour | The NetworkBehaviour to reference.  | 
Exceptions
| Type | Condition | 
|---|---|
| ArgumentException | 
Methods
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
| Type | Name | Description | 
|---|---|---|
| Object | obj | 
Returns
| Type | Description | 
|---|---|
| Boolean | 
Overrides
Equals(NetworkBehaviourReference)
Declaration
public bool Equals(NetworkBehaviourReference other)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkBehaviourReference | 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 NetworkBehaviour, NetworkManager)
Tries to get the NetworkBehaviour referenced by this reference.
Declaration
public bool TryGet(out NetworkBehaviour networkBehaviour, NetworkManager networkManager = null)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkBehaviour | networkBehaviour | The NetworkBehaviour which was found. Null if the corresponding NetworkObject was not found.  | 
| NetworkManager | networkManager | The networkmanager. Uses Singleton to resolve if null.  | 
Returns
| Type | Description | 
|---|---|
| Boolean | True if the NetworkBehaviour was found; False if the NetworkBehaviour was not found. This can happen if the corresponding NetworkObject has not been spawned yet. you can try getting the reference at a later point in time.  | 
TryGet<T>(out T, NetworkManager)
Tries to get the NetworkBehaviour referenced by this reference.
Declaration
public bool TryGet<T>(out T networkBehaviour, NetworkManager networkManager = null)
    where T : NetworkBehaviour
Parameters
| Type | Name | Description | 
|---|---|---|
| T | networkBehaviour | The NetworkBehaviour which was found. Null if the corresponding NetworkObject was not found.  | 
| NetworkManager | networkManager | The networkmanager. Uses Singleton to resolve if null.  | 
Returns
| Type | Description | 
|---|---|
| Boolean | True if the NetworkBehaviour was found; False if the NetworkBehaviour was not found. This can happen if the corresponding NetworkObject has not been spawned yet. you can try getting the reference at a later point in time.  | 
Type Parameters
| Name | Description | 
|---|---|
| T | The type of the networkBehaviour for convenience.  | 
Operators
Implicit(NetworkBehaviour to NetworkBehaviourReference)
Implicitly convert NetworkBehaviour to NetworkBehaviourReference.
Declaration
public static implicit operator NetworkBehaviourReference(NetworkBehaviour networkBehaviour)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkBehaviour | networkBehaviour | The NetworkBehaviour to convert from.  | 
Returns
| Type | Description | 
|---|---|
| NetworkBehaviourReference | The NetworkBehaviourReference created from the NetworkBehaviour passed in as a parameter  | 
Implicit(NetworkBehaviourReference to NetworkBehaviour)
Implicitly convert NetworkBehaviourReference to NetworkBehaviour.
Declaration
public static implicit operator NetworkBehaviour(NetworkBehaviourReference networkBehaviourRef)
Parameters
| Type | Name | Description | 
|---|---|---|
| NetworkBehaviourReference | networkBehaviourRef | The NetworkBehaviourReference to convert from.  | 
Returns
| Type | Description | 
|---|---|
| NetworkBehaviour | The NetworkBehaviour this class is holding a reference to  |