docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Enum SendToOwnerType

    Meta-data of a ICommandData component, denoting whether or not the server should replicate the input commands back down to clients. Configure via GhostComponentAttribute.

    Docs for ICommandData:Commands (usually inputs) that must be sent from client to server to control an entity (or any other thing) should implement the ICommandData interface.Prefer using the ICommandData over Rpc if you need to send a constant stream of data from client to server, as it's optimized for this use-case.Prefer to keep this type as small as possible, as it scales exponentially with player count and tickrate.ICommandData, being a subclass of IBufferElementData, can also be serialized from the server to the clients. It also natively supports the presence of the GhostComponentAttribute and GhostFieldAttribute attributes. As such, the same rule for buffers apply: if the command buffer must be serialized, then all fields must be annotated with a GhostFieldAttribute. Failure to do so will generate code-generation errors.However, differently from a normal GhostComponent, ICommandData buffers are not replicated from the server to all clients by default. Instead, in the absence of a GhostComponentAttribute governing the serialization behavior, the following set of default rules are used:- PrefabType is set to All. The buffer is present on all the ghost variant.- SendTypeOptimization is set to OnlyPredictedClients. Only predicted ghost can receive the buffer and interpolated variant will have the component stripped or disabled.- OwnerSendType is set to SendToNonOwner. If the ghost has an owner, is sent only to the clients who don't own the ghost.Is generally not recommended to send back to the ghost owner its own commands. For that reason, setting the SendToOwner flag will be reported as a error and ignored. Also, because they way ICommandData works, some care must be used when setting the PrefabType property:- Server: While possible, does not make much sense. A warning will be reported.- Clients: The ICommandData buffer is stripped from the server ghost. A warning will be reported.- InterpolatedClient: ICommandData buffers are stripped from the server and predicted ghost. A warning will be reported.- Predicted: ICommandData buffers are stripped from the server and predicted ghost. A warning will be reported.- AllPredicted: Interpolated ghost will not have the command buffer.- All: All ghost will have the command buffer.

    Namespace: Unity.NetCode
    Assembly: Unity.NetCode.dll
    Syntax
    [Flags]
    public enum SendToOwnerType

    Fields

    Name Description
    All

    Informs the server to replicate this ICommandData to all clients, including back to ourselves.

    None

    Informs the server not not replicate this ICommandData back down to any clients.

    SendToNonOwner

    Informs the server to replicate this ICommandData to all clients except the input "author" (i.e. the player who owns the ghost).

    SendToOwner

    Informs the server to replicate this ICommandData back to the owner, exclusively.

    In This Article
    Back to top
    Copyright © 2025 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)