docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class NetworkPrefabs

    A class that represents the runtime aspect of network prefabs. This class contains processed prefabs from the NetworkPrefabsList, as well as additional modifications (additions and removals) made at runtime.

    Inheritance
    object
    NetworkPrefabs
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Unity.Netcode
    Assembly: Unity.Netcode.Runtime.dll
    Syntax
    [Serializable]
    public class NetworkPrefabs

    Fields

    NetworkPrefabOverrideLinks

    This dictionary provides a quick way to check and see if a NetworkPrefab has a NetworkPrefab override. Generated at runtime and OnValidate

    Declaration
    [NonSerialized]
    public Dictionary<uint, NetworkPrefab> NetworkPrefabOverrideLinks
    Field Value
    Type Description
    Dictionary<uint, NetworkPrefab>

    NetworkPrefabsLists

    Edit-time scripted object containing a list of NetworkPrefabs.

    Declaration
    [SerializeField]
    public List<NetworkPrefabsList> NetworkPrefabsLists
    Field Value
    Type Description
    List<NetworkPrefabsList>
    Remarks

    This field can be null if no prefabs are pre-configured. Runtime usages of NetworkPrefabs should not depend on this edit-time field for execution.

    OverrideToNetworkPrefab

    This is used for the legacy way of spawning NetworkPrefabs with an override when manually instantiating and spawning. To handle multiple source NetworkPrefab overrides that all point to the same target NetworkPrefab use InstantiateAndSpawn(NetworkObject, ulong, bool, bool, bool, Vector3, Quaternion) or InstantiateAndSpawn(NetworkManager, ulong, bool, bool, bool, Vector3, Quaternion)

    Declaration
    [NonSerialized]
    public Dictionary<uint, uint> OverrideToNetworkPrefab
    Field Value
    Type Description
    Dictionary<uint, uint>

    Properties

    Prefabs

    Declaration
    public IReadOnlyList<NetworkPrefab> Prefabs { get; }
    Property Value
    Type Description
    IReadOnlyList<NetworkPrefab>

    Methods

    Add(NetworkPrefab)

    Add a new NetworkPrefab instance to the list

    Declaration
    public bool Add(NetworkPrefab networkPrefab)
    Parameters
    Type Name Description
    NetworkPrefab networkPrefab
    Returns
    Type Description
    bool
    Remarks

    The framework does not synchronize this list between clients. Any runtime changes must be handled manually.

    Any modifications made here are not persisted. Permanent configuration changes should be done through the NetworkPrefabsList scriptable object property.

    Contains(NetworkPrefab)

    Check if the given NetworkPrefab is present within the list

    Declaration
    public bool Contains(NetworkPrefab prefab)
    Parameters
    Type Name Description
    NetworkPrefab prefab

    The prefab to check

    Returns
    Type Description
    bool

    Whether or not the prefab exists

    Contains(GameObject)

    Check if the given GameObject is present as a prefab within the list

    Declaration
    public bool Contains(GameObject prefab)
    Parameters
    Type Name Description
    GameObject prefab

    The prefab to check

    Returns
    Type Description
    bool

    Whether or not the prefab exists

    ~NetworkPrefabs()

    Declaration
    protected ~NetworkPrefabs()

    Initialize(bool)

    Processes the NetworkPrefabsList if one is present for use during runtime execution, else processes Prefabs.

    Declaration
    public void Initialize(bool warnInvalid = true)
    Parameters
    Type Name Description
    bool warnInvalid

    Remove(NetworkPrefab)

    Remove a NetworkPrefab instance from the list

    Declaration
    public void Remove(NetworkPrefab prefab)
    Parameters
    Type Name Description
    NetworkPrefab prefab
    Remarks

    The framework does not synchronize this list between clients. Any runtime changes must be handled manually.

    Any modifications made here are not persisted. Permanent configuration changes should be done through the NetworkPrefabsList scriptable object property.

    Remove(GameObject)

    Remove a NetworkPrefab instance with matching Prefab from the list

    Declaration
    public void Remove(GameObject prefab)
    Parameters
    Type Name Description
    GameObject prefab
    Remarks

    The framework does not synchronize this list between clients. Any runtime changes must be handled manually.

    Any modifications made here are not persisted. Permanent configuration changes should be done through the NetworkPrefabsList scriptable object property.

    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)