diff --git a/.yamato/package-pack.yml b/.yamato/package-pack.yml index cc85801042..a9ab902847 100644 --- a/.yamato/package-pack.yml +++ b/.yamato/package-pack.yml @@ -12,12 +12,16 @@ package_pack_-_ngo_{{ platform.name }}: image: {{ platform.image }} flavor: {{ platform.flavor }} timeout: 0.25 + variables: + XRAY_PROFILE: "supported ./pvpExceptions.json" commands: - - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.it.unity3d.com/artifactory/api/npm/upm-npm - - upm-ci package pack --package-path com.unity.netcode.gameobjects - - upm-pvp xray --packages "upm-ci~/packages/*.tgz" --results upm-ci~/xray - - upm-pvp require "supported rme com.unity.netcode.gameobjects/pvpExceptions.json" --allow-missing --results upm-ci~/xray --exemptions upm-ci~/xray/new-exemptions.json + - upm-pvp pack "com.unity.netcode.gameobjects" --output upm-ci~/packages + - upm-pvp xray --packages "upm-ci~/packages/com.unity.netcode.gameobjects*.tgz" --results pvp-results + - upm-pvp require {% if platform.name == "win" %}"%XRAY_PROFILE%"{% else %}"$XRAY_PROFILE"{% endif %} --results pvp-results --allow-missing artifacts: + logs: + paths: + - "pvp-results/*" packages: paths: - "upm-ci~/**" diff --git a/.yamato/package-tests.yml b/.yamato/package-tests.yml index 0b3eb31109..79815ebc16 100644 --- a/.yamato/package-tests.yml +++ b/.yamato/package-tests.yml @@ -12,14 +12,30 @@ package_test_-_ngo_{{ editor }}_{{ platform.name }}: type: {{ platform.type }} image: {{ platform.image }} flavor: {{ platform.flavor }} + variables: + XRAY_PROFILE: "supported ./pvpExceptions.json" + UNITY_EXT_LOGGING: 1 commands: - - npm install -g upm-ci-utils@stable --registry https://artifactory.prd.cds.internal.unity3d.com/artifactory/api/npm/upm-npm - unity-downloader-cli -u {{ editor }} -c Editor --fast --wait - - {% if platform.name == "ubuntu" %}DISPLAY=:0 {% endif %}upm-ci package test -u {{ editor }} --package-path com.unity.netcode.gameobjects --type package-tests --extra-utr-arg="--extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun" + # Platform specific UTR setup + - | +{% if platform.name == "win" %} + curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr.bat --output utr.bat +{% else %} + curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools-local/utr-standalone/utr --output utr && chmod +x utr +{% endif %} + + # Validate packages. + - upm-pvp test --unity .Editor --packages "upm-ci~/packages/*.tgz" --filter "com.unity.netcode.gameobjects" --results pvp-results + - upm-pvp require {% if platform.name == "win" %}"%XRAY_PROFILE%"{% else %}"$XRAY_PROFILE"{% endif %} --results pvp-results + # Run UTR to test packages. + - upm-pvp create-test-project test-project --packages "upm-ci~/packages/*.tgz" --filter "com.unity.netcode.gameobjects" --unity .Editor + - {% if platform.name == "ubuntu" %}DISPLAY=:0 {% endif %} {% if platform.name == "win" %} utr.bat {% else %} ./utr {% endif %} --suite=editor --suite=playmode --editor-location=.Editor --testproject=test-project --artifacts-path=test-results "--ff={ops.upmpvpevidence.enable=true}" --extra-editor-arg=-testCategory --extra-editor-arg=!Performance --reruncount=1 --clean-library-on-rerun artifacts: logs: paths: - "upm-ci~/test-results/**/*" + - "pvp-results/*" dependencies: - .yamato/package-pack.yml#package_pack_-_ngo_{{ platform.name }} {% endfor -%} diff --git a/com.unity.netcode.gameobjects/Editor/NetcodeEditorBase.cs b/com.unity.netcode.gameobjects/Editor/NetcodeEditorBase.cs index 5112065e80..4b8a351a35 100644 --- a/com.unity.netcode.gameobjects/Editor/NetcodeEditorBase.cs +++ b/com.unity.netcode.gameobjects/Editor/NetcodeEditorBase.cs @@ -11,7 +11,7 @@ namespace Unity.Netcode.Editor [CanEditMultipleObjects] public partial class NetcodeEditorBase : UnityEditor.Editor where TT : MonoBehaviour { - /// + /// public virtual void OnEnable() { } diff --git a/com.unity.netcode.gameobjects/Runtime/Components/AnticipatedNetworkTransform.cs b/com.unity.netcode.gameobjects/Runtime/Components/AnticipatedNetworkTransform.cs index 21d3c054bf..d99bd4dc2f 100644 --- a/com.unity.netcode.gameobjects/Runtime/Components/AnticipatedNetworkTransform.cs +++ b/com.unity.netcode.gameobjects/Runtime/Components/AnticipatedNetworkTransform.cs @@ -13,24 +13,24 @@ namespace Unity.Netcode.Components /// /// /// - /// Snap: In this mode (with set to + /// Snap: In this mode (with set to /// and no callback), /// the moment a more up-to-date value is received from the authority, it will simply replace the anticipated value, - /// resulting in a "snap" to the new value if it is different from the anticipated value. + /// resulting in a "snap" to the new value if it is different from the anticipated value. /// - /// Smooth: In this mode (with set to + /// Smooth: In this mode (with set to /// and an callback that calls /// from the anticipated value to the authority value with an appropriate /// -style smooth function), when a more up-to-date value is received from the authority, - /// it will interpolate over time from an incorrect anticipated value to the correct authoritative value. + /// it will interpolate over time from an incorrect anticipated value to the correct authoritative value. /// - /// Constant Reanticipation: In this mode (with set to + /// Constant Reanticipation: In this mode (with set to /// and an that calculates a /// new anticipated value based on the current authoritative value), when a more up-to-date value is received from /// the authority, user code calculates a new anticipated value, possibly calling to interpolate /// between the previous anticipation and the new anticipation. This is useful for values that change frequently and /// need to constantly be re-evaluated, as opposed to values that change only in response to user action and simply - /// need a one-time anticipation when the user performs that action. + /// need a one-time anticipation when the user performs that action. /// /// /// @@ -138,7 +138,7 @@ public bool ShouldReanticipate /// Anticipate that, at the end of one round trip to the server, this transform will be in the given /// /// - /// + /// The anticipated position public void AnticipateMove(Vector3 newPosition) { if (NetworkManager.ShutdownInProgress || !NetworkManager.IsListening) @@ -164,7 +164,7 @@ public void AnticipateMove(Vector3 newPosition) /// Anticipate that, at the end of one round trip to the server, this transform will have the given /// /// - /// + /// The anticipated rotation public void AnticipateRotate(Quaternion newRotation) { if (NetworkManager.ShutdownInProgress || !NetworkManager.IsListening) @@ -190,7 +190,7 @@ public void AnticipateRotate(Quaternion newRotation) /// Anticipate that, at the end of one round trip to the server, this transform will have the given /// /// - /// + /// The anticipated scale public void AnticipateScale(Vector3 newScale) { if (NetworkManager.ShutdownInProgress || !NetworkManager.IsListening) @@ -216,7 +216,7 @@ public void AnticipateScale(Vector3 newScale) /// Anticipate that, at the end of one round trip to the server, the transform will have the given /// /// - /// + /// The anticipated transform state public void AnticipateState(TransformState newState) { if (NetworkManager.ShutdownInProgress || !NetworkManager.IsListening) @@ -463,9 +463,9 @@ public override void OnDestroy() /// over of real time. The duration uses /// , so it is affected by . /// - /// - /// - /// + /// Starting transform state + /// Target transform state + /// Interpolation time in seconds public void Smooth(TransformState from, TransformState to, float durationSeconds) { var transform_ = transform; diff --git a/com.unity.netcode.gameobjects/Runtime/Components/HalfVector3.cs b/com.unity.netcode.gameobjects/Runtime/Components/HalfVector3.cs index 8bba3d4170..ce696ec965 100644 --- a/com.unity.netcode.gameobjects/Runtime/Components/HalfVector3.cs +++ b/com.unity.netcode.gameobjects/Runtime/Components/HalfVector3.cs @@ -129,7 +129,7 @@ public void UpdateFrom(ref Vector3 vector3) /// Constructor /// /// The initial axial values (converted to half floats) when instantiated. - /// The axis to synchronize. + /// The axis to synchronize. public HalfVector3(Vector3 vector3, bool3 axisToSynchronize) { Axis = half3.zero; diff --git a/com.unity.netcode.gameobjects/Runtime/Components/Interpolator/BufferedLinearInterpolator.cs b/com.unity.netcode.gameobjects/Runtime/Components/Interpolator/BufferedLinearInterpolator.cs index e628c7cab2..d5fbaaa5cf 100644 --- a/com.unity.netcode.gameobjects/Runtime/Components/Interpolator/BufferedLinearInterpolator.cs +++ b/com.unity.netcode.gameobjects/Runtime/Components/Interpolator/BufferedLinearInterpolator.cs @@ -400,7 +400,7 @@ protected internal override void OnConvertTransformSpace(Transform transform, bo } /// - /// A implementation. + /// A implementation. /// public class BufferedLinearInterpolatorVector3 : BufferedLinearInterpolator { diff --git a/com.unity.netcode.gameobjects/Runtime/Components/NetworkTransform.cs b/com.unity.netcode.gameobjects/Runtime/Components/NetworkTransform.cs index 7dd677b135..abbf1ddeb0 100644 --- a/com.unity.netcode.gameobjects/Runtime/Components/NetworkTransform.cs +++ b/com.unity.netcode.gameobjects/Runtime/Components/NetworkTransform.cs @@ -1482,9 +1482,8 @@ private bool ShouldSynchronizeHalfFloat(ulong targetClientId) /// /// If a derived class overrides this, then make sure to invoke this base method! /// - /// - /// - /// the clientId being synchronized (both reading and writing) + /// The serializer type for buffer operations + /// The buffer serializer used for network state synchronization protected override void OnSynchronize(ref BufferSerializer serializer) { var targetClientId = m_TargetIdBeingSynchronized; @@ -3200,7 +3199,7 @@ protected virtual void OnInitialize(ref NetworkTransformState replicatedState) /// This method is only invoked by the owner /// Use: OnInitialize(ref NetworkTransformState replicatedState) to be notified on all instances /// - /// + /// The NetworkVariable containing the protected virtual void OnInitialize(ref NetworkVariable replicatedState) { @@ -3527,11 +3526,11 @@ internal override void InternalOnNetworkObjectParentChanged(NetworkObject parent /// The parameters are broken up into pos / rot / scale on purpose so that the caller can perturb /// just the desired one(s) /// - /// new position to move to. Can be null - /// new rotation to rotate to. Can be null + /// new position to move to. Can be null + /// new rotation to rotate to. Can be null /// new scale to scale to. Can be null /// When true (the default) the will not be teleported and, if enabled, will interpolate. When false the will teleport/apply the parameters provided immediately. - /// + /// Thrown when the function is called on non-spawned object or, when it's called without proper authority public void SetState(Vector3? posIn = null, Quaternion? rotIn = null, Vector3? scaleIn = null, bool teleportDisabled = true) { if (!IsSpawned) @@ -3667,10 +3666,10 @@ private void SetStateServerRpc(Vector3 pos, Quaternion rot, Vector3 scale, bool /// This is intended to be used on already spawned objects, for setting the position of a dynamically spawned object just apply the transform values prior to spawning.
/// With player objects, override the method and have the authority make adjustments to the transform prior to invoking base.OnNetworkSpawn. /// - /// new position to move to. - /// new rotation to rotate to. + /// new position to move to. + /// new rotation to rotate to. /// new scale to scale to. - /// + /// Thrown when called from a non-authoritative context (client without ownership) public void Teleport(Vector3 newPosition, Quaternion newRotation, Vector3 newScale) { if (!CanCommitToTransform) @@ -3732,7 +3731,7 @@ private void UpdateInterpolation() } } - /// + /// /// /// If you override this method, be sure that: /// - Non-authority always invokes this base class method. diff --git a/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkConfig.cs b/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkConfig.cs index a9668084bd..fbbbf86ebb 100644 --- a/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkConfig.cs +++ b/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkConfig.cs @@ -204,7 +204,7 @@ internal void OnValidate() /// /// Returns a base64 encoded version of the configuration /// - /// + /// base64 encoded string containing the serialized network configuration public string ToBase64() { NetworkConfig config = this; @@ -271,8 +271,8 @@ internal void ClearConfigHash() /// /// Gets a SHA256 hash of parts of the NetworkConfig instance /// - /// - /// + /// When true, caches the computed hash value for future retrievals, when false, always recomputes the hash + /// A 64-bit hash value representing the configuration state public ulong GetConfig(bool cache = true) { if (m_ConfigHash != null && cache) @@ -316,8 +316,11 @@ public ulong GetConfig(bool cache = true) /// /// Compares a SHA256 hash with the current NetworkConfig instances hash /// - /// - /// + /// The 64-bit hash value to compare against this configuration's hash + /// + /// True if the hashes match, indicating compatible configurations. + /// False if the hashes differ, indicating potentially incompatible configurations. + /// public bool CompareConfig(ulong hash) { return hash == GetConfig(); diff --git a/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkPrefabsList.cs b/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkPrefabsList.cs index 1c4719120a..5003a2fe4e 100644 --- a/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkPrefabsList.cs +++ b/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkPrefabsList.cs @@ -38,7 +38,7 @@ public class NetworkPrefabsList : ScriptableObject /// Adds a prefab to the prefab list. Performing this here will apply the operation to all /// s that reference this list. /// - /// + /// The NetworkPrefab to add to the shared list public void Add(NetworkPrefab prefab) { List.Add(prefab); @@ -49,7 +49,7 @@ public void Add(NetworkPrefab prefab) /// Removes a prefab from the prefab list. Performing this here will apply the operation to all /// s that reference this list. /// - /// + /// The NetworkPrefab to remove from the shared list public void Remove(NetworkPrefab prefab) { List.Remove(prefab); diff --git a/com.unity.netcode.gameobjects/Runtime/Core/NetworkBehaviour.cs b/com.unity.netcode.gameobjects/Runtime/Core/NetworkBehaviour.cs index da6b35e001..9629550313 100644 --- a/com.unity.netcode.gameobjects/Runtime/Core/NetworkBehaviour.cs +++ b/com.unity.netcode.gameobjects/Runtime/Core/NetworkBehaviour.cs @@ -529,12 +529,12 @@ internal bool IsBehaviourEditable() m_NetworkObject.NetworkManager.IsServer; } - /// TODO: this needs an overhaul. It's expensive, it's ja little naive in how it looks for networkObject in - /// its parent and worst, it creates a puzzle if you are a NetworkBehaviour wanting to see if you're live or not - /// (e.g. editor code). All you want to do is find out if NetworkManager is null, but to do that you - /// need NetworkObject, but if you try and grab NetworkObject and NetworkManager isn't up you'll get - /// the warning below. This is why IsBehaviourEditable had to be created. Matt was going to re-do - /// how NetworkObject works but it was close to the release and too risky to change + // TODO: this needs an overhaul. It's expensive, it's ja little naive in how it looks for networkObject in + // its parent and worst, it creates a puzzle if you are a NetworkBehaviour wanting to see if you're live or not + // (e.g. editor code). All you want to do is find out if NetworkManager is null, but to do that you + // need NetworkObject, but if you try and grab NetworkObject and NetworkManager isn't up you'll get + // the warning below. This is why IsBehaviourEditable had to be created. Matt was going to re-do + // how NetworkObject works but it was close to the release and too risky to change /// /// Gets the NetworkObject that owns this NetworkBehaviour instance. /// @@ -826,7 +826,7 @@ internal void InternalOnNetworkDespawn() /// /// In client-server contexts, this method is invoked on both the server and the local client of the owner when ownership is assigned. - /// In distributed authority contexts, this method is only invoked on the local client that has been assigned ownership of the associated . + /// In distributed authority contexts, this method is only invoked on the local client that has been assigned ownership of the associated . /// public virtual void OnGainedOwnership() { } @@ -863,7 +863,7 @@ internal void InternalOnOwnershipChanged(ulong previous, ulong current) /// /// In client-server contexts, this method is invoked on the local client when it loses ownership of the associated /// and on the server when any client loses ownership. - /// In distributed authority contexts, this method is only invoked on the local client that has lost ownership of the associated . + /// In distributed authority contexts, this method is only invoked on the local client that has lost ownership of the associated . /// public virtual void OnLostOwnership() { } @@ -1348,8 +1348,8 @@ internal void SetNetworkVariableData(FastBufferReader reader, ulong clientId) /// /// Gets the local instance of a NetworkObject with a given NetworkId. /// - /// - /// + /// The unique network identifier of the NetworkObject to retrieve + /// The NetworkObject instance if found, null if no object exists with the specified networkId protected NetworkObject GetNetworkObject(ulong networkId) { return NetworkManager.SpawnManager.SpawnedObjects.TryGetValue(networkId, out NetworkObject networkObject) ? networkObject : null; @@ -1372,7 +1372,6 @@ protected NetworkObject GetNetworkObject(ulong networkId) /// Either BufferSerializerReader or BufferSerializerWriter, depending whether the serializer /// is in read mode or write mode. /// - /// the relative client identifier being synchronized protected virtual void OnSynchronize(ref BufferSerializer serializer) where T : IReaderWriter { diff --git a/com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs b/com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs index 54e5b648b3..9f257fb5e1 100644 --- a/com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs +++ b/com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs @@ -810,14 +810,12 @@ public struct ConnectionApprovalRequest /// /// This callback is invoked once the local server is stopped. /// - /// The first parameter of this event will be set to when stopping a host instance and when stopping a server instance. public event Action OnServerStopped = null; /// /// The callback to invoke once the local client stops /// /// The parameter states whether the client was running in host mode - /// The first parameter of this event will be set to when stopping the host client and when stopping a standard client instance. public event Action OnClientStopped = null; /// @@ -1108,14 +1106,14 @@ private void OnEnable() /// /// /// - /// - /// + /// The GameObject prefab to register for network spawning + /// Thrown when the prefab is invalid or already registered public void AddNetworkPrefab(GameObject prefab) => PrefabHandler.AddNetworkPrefab(prefab); /// /// /// - /// + /// The GameObject prefab to unregister from network spawning public void RemoveNetworkPrefab(GameObject prefab) => PrefabHandler.RemoveNetworkPrefab(prefab); /// @@ -1127,7 +1125,6 @@ private void OnEnable() /// and thus should be large enough to ensure it can hold each message type. /// This value defaults to 1296. /// - /// public int MaximumTransmissionUnitSize { set => MessageManager.NonFragmentedMessageMaxSize = value & ~7; // Round down to nearest word aligned size @@ -1139,8 +1136,8 @@ public int MaximumTransmissionUnitSize /// This determines the maximum size of a message batch that can be sent to that client. /// If not set for any given client, will be used instead. /// - /// - /// + /// The unique identifier of the client peer + /// The MTU size in bytes for this specific peer public void SetPeerMTU(ulong clientId, int size) { MessageManager.PeerMTUSizes[clientId] = size; @@ -1150,8 +1147,8 @@ public void SetPeerMTU(ulong clientId, int size) /// Queries the current MTU size for a client. /// If no MTU has been set for that client, will return /// - /// - /// + /// he unique identifier of the client peer + /// The MTU size in bytes for the specified peer. If no custom MTU has been set for this peer, returns the global value. public int GetPeerMTU(ulong clientId) { if (MessageManager.PeerMTUSizes.TryGetValue(clientId, out var ret)) @@ -1166,7 +1163,6 @@ public int GetPeerMTU(ulong clientId) /// Sets the maximum size of a message (or message batch) passed through the transport with the ReliableFragmented delivery. /// Warning: setting this value too low may result in the SDK becoming non-functional with projects that have a large number of NetworkBehaviours or NetworkVariables, as the SDK relies on the transport's ability to fragment some messages when they grow beyond the MTU size. /// - /// public int MaximumFragmentedMessageSize { set => MessageManager.FragmentedMessageMaxSize = value; diff --git a/com.unity.netcode.gameobjects/Runtime/Core/NetworkObject.cs b/com.unity.netcode.gameobjects/Runtime/Core/NetworkObject.cs index 332b1304ec..2b0900a166 100644 --- a/com.unity.netcode.gameobjects/Runtime/Core/NetworkObject.cs +++ b/com.unity.netcode.gameobjects/Runtime/Core/NetworkObject.cs @@ -58,7 +58,7 @@ public uint PrefabIdHash } /// - /// All component instances associated with a component instance. + /// All component instances associated with a component instance. /// /// /// When parented, all child component instances under a component instance that do not have @@ -608,7 +608,7 @@ public enum OwnershipPermissionsFailureStatus /// /// /// - /// + /// The status indicating why the ownership change failed public delegate void OnOwnershipPermissionsFailureDelegateHandler(OwnershipPermissionsFailureStatus changeOwnershipFailure); /// @@ -705,8 +705,8 @@ public OwnershipRequestStatus RequestOwnership() /// /// The delegate handler declaration used by . /// - /// - /// + /// The ClientId of the client requesting ownership + /// True to approve the ownership request, false to deny the request and prevent ownership transfer public delegate bool OnOwnershipRequestedDelegateHandler(ulong clientRequesting); /// @@ -722,7 +722,6 @@ public OwnershipRequestStatus RequestOwnership() /// Invoked by ChangeOwnershipMessage /// /// the client requesting ownership - /// internal void OwnershipRequest(ulong clientRequestingOwnership) { var response = OwnershipRequestResponseStatus.Approved; @@ -811,7 +810,7 @@ public enum OwnershipRequestResponseStatus /// /// The delegate handler declaration used by . /// - /// + /// The status indicating whether the ownership request was approved or the reason for denial public delegate void OnOwnershipRequestResponseDelegateHandler(OwnershipRequestResponseStatus ownershipRequestResponse); /// @@ -2027,7 +2026,7 @@ internal bool TryRemoveParentCachedWorldPositionStays() /// This is a more convenient way to remove the parent without having to cast the null value to either or /// /// If true, the parent-relative position, scale and rotation are modified such that the object keeps the same world space position, rotation and scale as before. - /// + /// True if the parent was successfully removed, false if the operation failed or the object was already parentless public bool TryRemoveParent(bool worldPositionStays = true) { return TrySetParent((NetworkObject)null, worldPositionStays); diff --git a/com.unity.netcode.gameobjects/Runtime/Exceptions/InvalidParentException.cs b/com.unity.netcode.gameobjects/Runtime/Exceptions/InvalidParentException.cs index c7ecbaa4d4..1be7048208 100644 --- a/com.unity.netcode.gameobjects/Runtime/Exceptions/InvalidParentException.cs +++ b/com.unity.netcode.gameobjects/Runtime/Exceptions/InvalidParentException.cs @@ -12,13 +12,13 @@ public class InvalidParentException : Exception /// public InvalidParentException() { } - /// - /// + /// + /// The message that describes the invalid parent operation public InvalidParentException(string message) : base(message) { } - /// - /// - /// + /// + /// The message that describes the invalid parent operation + /// The exception that caused the current exception public InvalidParentException(string message, Exception innerException) : base(message, innerException) { } } } diff --git a/com.unity.netcode.gameobjects/Runtime/Messaging/GenerateSerializationForGenericParameterAttribute.cs b/com.unity.netcode.gameobjects/Runtime/Messaging/GenerateSerializationForGenericParameterAttribute.cs index 6b26e5306f..a102f3666e 100644 --- a/com.unity.netcode.gameobjects/Runtime/Messaging/GenerateSerializationForGenericParameterAttribute.cs +++ b/com.unity.netcode.gameobjects/Runtime/Messaging/GenerateSerializationForGenericParameterAttribute.cs @@ -19,12 +19,12 @@ namespace Unity.Netcode ///
/// The parameter is indicated by index (and is 0-indexed); for example: ///
- /// + /// /// [SerializesGenericParameter(1)] /// public class MyClass<TTypeOne, TTypeTwo> /// { /// } - /// + /// ///
/// This tells the code generation for to generate /// serialized code for TTypeTwo (generic parameter 1). @@ -38,32 +38,32 @@ namespace Unity.Netcode ///
/// This attribute is properly inherited by subclasses. For example: ///
- /// + /// /// [SerializesGenericParameter(0)] /// public class MyClass<T> /// { /// } - ///
+ /// /// public class MySubclass1 : MyClass<Foo> /// { /// } - ///
+ /// /// public class MySubclass2<T> : MyClass<T> /// { /// } - ///
+ /// /// [SerializesGenericParameter(1)] /// public class MySubclass3<TTypeOne, TTypeTwo> : MyClass<TTypeOne> /// { /// } - ///
+ /// /// public class MyBehaviour : NetworkBehaviour /// { /// public MySubclass1 TheValue; /// public MySubclass2<Bar> TheValue; /// public MySubclass3<Baz, Qux> TheValue; /// } - ///
+ /// ///
/// The above code will trigger generation of serialization code for Foo (passed directly to the /// base class), Bar (passed indirectly to the base class), Baz (passed indirectly to the base class), diff --git a/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/BaseRpcTarget.cs b/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/BaseRpcTarget.cs index 3f9d4f9d88..9d81bdecf9 100644 --- a/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/BaseRpcTarget.cs +++ b/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/BaseRpcTarget.cs @@ -2,8 +2,14 @@ namespace Unity.Netcode { + /// + /// The base abstract RPC Target class used by all universal RPC targets. + /// public abstract class BaseRpcTarget : IDisposable { + /// + /// The instance which can be used to handle sending and receiving the specific target(s) + /// protected NetworkManager m_NetworkManager; private bool m_Locked; @@ -22,6 +28,10 @@ internal BaseRpcTarget(NetworkManager manager) m_NetworkManager = manager; } + /// + /// Can be used to provide additional lock checks before disposing the target. + /// + /// The exception thrown if the target is still locked when disposed. protected void CheckLockBeforeDispose() { if (m_Locked) @@ -30,6 +40,9 @@ protected void CheckLockBeforeDispose() } } + /// + /// Invoked when the target is disposed. + /// public abstract void Dispose(); internal abstract void Send(NetworkBehaviour behaviour, ref RpcMessage message, NetworkDelivery delivery, RpcParams rpcParams); diff --git a/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs b/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs index 2864205769..7b651ebcd4 100644 --- a/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs +++ b/com.unity.netcode.gameobjects/Runtime/Messaging/RpcTargets/RpcTarget.cs @@ -144,6 +144,9 @@ internal RpcTarget(NetworkManager manager) m_CachedProxyRpcTarget.Lock(); } + /// + /// Invoked when this class is disposed. + /// public void Dispose() { Everyone.Dispose(); @@ -245,11 +248,11 @@ public void Dispose() /// /// Send to a specific single client ID. /// - /// + /// The ID of the client to send to /// will return a cached target, which should not be stored as it will /// be overwritten in future calls to Single(). Do not call Dispose() on Temp targets.

will /// return a new target, which can be stored, but should not be done frequently because it results in a GC allocation. You must call Dispose() on Persistent targets when you are done with them. - /// + /// A configured to send to the specified client. The type of target (cached or new instance) depends on the parameter public BaseRpcTarget Single(ulong clientId, RpcTargetUse use) { if (clientId == m_NetworkManager.LocalClientId) @@ -278,11 +281,11 @@ public BaseRpcTarget Single(ulong clientId, RpcTargetUse use) /// /// Send to everyone EXCEPT a specific single client ID. /// - /// + /// The IDs of the client to exclude from receiving the message /// will return a cached target, which should not be stored as it will /// be overwritten in future calls to Not() or Group(). Do not call Dispose() on Temp targets.

will /// return a new target, which can be stored, but should not be done frequently because it results in a GC allocation. You must call Dispose() on Persistent targets when you are done with them. - /// + /// A configured to send to all clients except the specified one. The type of target (cached or new instance) depends on the parameter and whether the caller is the server public BaseRpcTarget Not(ulong excludedClientId, RpcTargetUse use) { IGroupRpcTarget target; @@ -291,7 +294,7 @@ public BaseRpcTarget Not(ulong excludedClientId, RpcTargetUse use) if (use == RpcTargetUse.Persistent) { target = new RpcTargetGroup(m_NetworkManager); - } + } // HELLO from the dark side else { target = m_CachedTargetGroup; @@ -331,11 +334,11 @@ public BaseRpcTarget Not(ulong excludedClientId, RpcTargetUse use) /// NativeArrays can be trivially constructed using Allocator.Temp, making this an efficient /// Group method if the group list is dynamically constructed. ///
- /// + /// The IDs of the client that should receive the message. /// will return a cached target, which should not be stored as it will /// be overwritten in future calls to Not() or Group(). Do not call Dispose() on Temp targets.

will /// return a new target, which can be stored, but should not be done frequently because it results in a GC allocation. You must call Dispose() on Persistent targets when you are done with them. - /// + /// A configured to send to all clients except the specified one. The type of target (cached or new instance) depends on the parameter and whether the caller is the server public BaseRpcTarget Group(NativeArray clientIds, RpcTargetUse use) { IGroupRpcTarget target; @@ -375,11 +378,11 @@ public BaseRpcTarget Group(NativeArray clientIds, RpcTargetUse use) /// NativeList can be trivially constructed using Allocator.Temp, making this an efficient /// Group method if the group list is dynamically constructed. /// - /// + /// The IDs of the client that should receive the message. /// will return a cached target, which should not be stored as it will /// be overwritten in future calls to Not() or Group(). Do not call Dispose() on Temp targets.

will /// return a new target, which can be stored, but should not be done frequently because it results in a GC allocation. You must call Dispose() on Persistent targets when you are done with them. - /// + /// A configured to send to all clients except the specified one. The type of target (cached or new instance) depends on the parameter and whether the caller is the server public BaseRpcTarget Group(NativeList clientIds, RpcTargetUse use) { var asArray = clientIds.AsArray(); @@ -392,11 +395,11 @@ public BaseRpcTarget Group(NativeList clientIds, RpcTargetUse use) /// if you either have no strict performance requirements, or have the group of client IDs cached so /// it is not created each time. /// - /// + /// The IDs of the client that should receive the message. /// will return a cached target, which should not be stored as it will /// be overwritten in future calls to Not() or Group(). Do not call Dispose() on Temp targets.

will /// return a new target, which can be stored, but should not be done frequently because it results in a GC allocation. You must call Dispose() on Persistent targets when you are done with them. - /// + /// A configured to send to all clients except the specified one. The type of target (cached or new instance) depends on the parameter and whether the caller is the server public BaseRpcTarget Group(ulong[] clientIds, RpcTargetUse use) { return Group(new NativeArray(clientIds, Allocator.Temp), use); @@ -409,11 +412,12 @@ public BaseRpcTarget Group(ulong[] clientIds, RpcTargetUse use) /// This override is only recommended if you either have no strict performance requirements, /// or have the group of client IDs cached so it is not created each time. /// - /// + /// The type + /// The IDs of the client that should receive the message. /// will return a cached target, which should not be stored as it will /// be overwritten in future calls to Not() or Group(). Do not call Dispose() on Temp targets.

will /// return a new target, which can be stored, but should not be done frequently because it results in a GC allocation. You must call Dispose() on Persistent targets when you are done with them. - /// + /// A configured to send to all clients except the specified one. The type of target (cached or new instance) depends on the parameter and whether the caller is the server public BaseRpcTarget Group(T clientIds, RpcTargetUse use) where T : IEnumerable { IGroupRpcTarget target; @@ -453,11 +457,11 @@ public BaseRpcTarget Group(T clientIds, RpcTargetUse use) where T : IEnumerab /// NativeArrays can be trivially constructed using Allocator.Temp, making this an efficient /// Group method if the group list is dynamically constructed. /// - /// + /// The IDs of the client to exclude from receiving the message /// will return a cached target, which should not be stored as it will /// be overwritten in future calls to Not() or Group(). Do not call Dispose() on Temp targets.

will /// return a new target, which can be stored, but should not be done frequently because it results in a GC allocation. You must call Dispose() on Persistent targets when you are done with them. - /// + /// A configured to send to all clients except the specified one. The type of target (cached or new instance) depends on the parameter and whether the caller is the server public BaseRpcTarget Not(NativeArray excludedClientIds, RpcTargetUse use) { IGroupRpcTarget target; @@ -513,11 +517,11 @@ public BaseRpcTarget Not(NativeArray excludedClientIds, RpcTargetUse use) /// NativeList can be trivially constructed using Allocator.Temp, making this an efficient /// Group method if the group list is dynamically constructed. /// - /// + /// The IDs of the client to exclude from receiving the message /// will return a cached target, which should not be stored as it will /// be overwritten in future calls to Not() or Group(). Do not call Dispose() on Temp targets.

will /// return a new target, which can be stored, but should not be done frequently because it results in a GC allocation. You must call Dispose() on Persistent targets when you are done with them. - /// + /// A configured to send to all clients except the specified one. The type of target (cached or new instance) depends on the parameter and whether the caller is the server public BaseRpcTarget Not(NativeList excludedClientIds, RpcTargetUse use) { var asArray = excludedClientIds.AsArray(); @@ -530,11 +534,11 @@ public BaseRpcTarget Not(NativeList excludedClientIds, RpcTargetUse use) /// if you either have no strict performance requirements, or have the group of client IDs cached so /// it is not created each time. /// - /// + /// The IDs of the client to exclude from receiving the message /// will return a cached target, which should not be stored as it will /// be overwritten in future calls to Not() or Group(). Do not call Dispose() on Temp targets.

will /// return a new target, which can be stored, but should not be done frequently because it results in a GC allocation. You must call Dispose() on Persistent targets when you are done with them. - /// + /// A configured to send to all clients except the specified one. The type of target (cached or new instance) depends on the parameter and whether the caller is the server public BaseRpcTarget Not(ulong[] excludedClientIds, RpcTargetUse use) { return Not(new NativeArray(excludedClientIds, Allocator.Temp), use); @@ -547,11 +551,12 @@ public BaseRpcTarget Not(ulong[] excludedClientIds, RpcTargetUse use) /// This override is only recommended if you either have no strict performance requirements, /// or have the group of client IDs cached so it is not created each time. /// - /// + /// The type + /// The IDs of the client to exclude from receiving the message /// will return a cached target, which should not be stored as it will /// be overwritten in future calls to Not() or Group(). Do not call Dispose() on Temp targets.

will /// return a new target, which can be stored, but should not be done frequently because it results in a GC allocation. You must call Dispose() on Persistent targets when you are done with them. - /// + /// A configured to send to all clients except the specified one. The type of target (cached or new instance) depends on the parameter and whether the caller is the server public BaseRpcTarget Not(T excludedClientIds, RpcTargetUse use) where T : IEnumerable { IGroupRpcTarget target; diff --git a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs index 2a08293206..d9d4e87393 100644 --- a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs +++ b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/AnticipatedNetworkVariable.cs @@ -20,24 +20,24 @@ public enum StaleDataHandling /// /// /// - /// Snap: In this mode (with set to + /// Snap: In this mode (with set to /// and no callback), /// the moment a more up-to-date value is received from the authority, it will simply replace the anticipated value, - /// resulting in a "snap" to the new value if it is different from the anticipated value. + /// resulting in a "snap" to the new value if it is different from the anticipated value. /// - /// Smooth: In this mode (with set to + /// Smooth: In this mode (with set to /// and an callback that calls /// from the anticipated value to the authority value with an appropriate /// -style smooth function), when a more up-to-date value is received from the authority, - /// it will interpolate over time from an incorrect anticipated value to the correct authoritative value. + /// it will interpolate over time from an incorrect anticipated value to the correct authoritative value. /// - /// Constant Reanticipation: In this mode (with set to + /// Constant Reanticipation: In this mode (with set to /// and an that calculates a /// new anticipated value based on the current authoritative value), when a more up-to-date value is received from /// the authority, user code calculates a new anticipated value, possibly calling to interpolate /// between the previous anticipation and the new anticipation. This is useful for values that change frequently and /// need to constantly be re-evaluated, as opposed to values that change only in response to user action and simply - /// need a one-time anticipation when the user performs that action. + /// need a one-time anticipation when the user performs that action. /// /// /// @@ -177,7 +177,7 @@ public bool ShouldReanticipate /// Sets the current value of the variable on the expectation that the authority will set the variable /// to the same value within one network round trip (i.e., in response to an RPC). /// - /// + /// The anticipated value that is expected to be confirmed by the authority public void Anticipate(T value) { if (m_NetworkBehaviour.NetworkManager.ShutdownInProgress || !m_NetworkBehaviour.NetworkManager.IsListening) @@ -334,10 +334,10 @@ private void OnValueChangedInternal(T previousValue, T newValue) /// Interpolate this variable from to over of /// real time. The duration uses , so it is affected by . /// - /// - /// - /// - /// + /// The starting value for the interpolation + /// The target value to interpolate towards + /// The duration of the interpolation in seconds + /// A delegate that defines how the interpolation should be performed between the two values. It provides a function to interpolate between two values based on a percentage. public void Smooth(in T from, in T to, float durationSeconds, SmoothDelegate how) { if (durationSeconds <= 0) diff --git a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Collections/NetworkList.cs b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Collections/NetworkList.cs index 4a3499730f..53b7f4f8fb 100644 --- a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Collections/NetworkList.cs +++ b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Collections/NetworkList.cs @@ -30,10 +30,10 @@ public class NetworkList : NetworkVariableBase where T : unmanaged, IEquatabl /// public NetworkList() { } - /// - /// - /// - /// + /// + /// An optional collection of initial values to populate the list. If null, the list will start empty. + /// The read permission level for the network list. Determines who can read the list (e.g., server-only or everyone). Default is defined by DefaultReadPerm + /// The write permission level for the network list. Determines who can modify the list (e.g., server-only or specific clients). Default is defined by DefaultWritePerm. public NetworkList(IEnumerable values = default, NetworkVariableReadPermission readPerm = DefaultReadPerm, NetworkVariableWritePermission writePerm = DefaultWritePerm) @@ -54,7 +54,7 @@ public NetworkList(IEnumerable values = default, Dispose(); } - /// + /// public override void ResetDirty() { base.ResetDirty(); @@ -64,7 +64,7 @@ public override void ResetDirty() } } - /// + /// public override bool IsDirty() { // we call the base class to allow the SetDirty() mechanism to work @@ -76,7 +76,7 @@ internal void MarkNetworkObjectDirty() MarkNetworkBehaviourDirty(); } - /// + /// public override void WriteDelta(FastBufferWriter writer) { @@ -132,7 +132,7 @@ public override void WriteDelta(FastBufferWriter writer) } } - /// + /// public override void WriteField(FastBufferWriter writer) { writer.WriteValueSafe((ushort)m_List.Length); @@ -142,7 +142,7 @@ public override void WriteField(FastBufferWriter writer) } } - /// + /// public override void ReadField(FastBufferReader reader) { m_List.Clear(); @@ -155,7 +155,7 @@ public override void ReadField(FastBufferReader reader) } } - /// + /// public override void ReadDelta(FastBufferReader reader, bool keepDirtyDelta) { /// This is only invoked by and the only time @@ -394,7 +394,7 @@ public override void ReadDelta(FastBufferReader reader, bool keepDirtyDelta) } } - /// + /// /// /// For NetworkList, we just need to reset dirty if a server has read deltas /// @@ -406,13 +406,13 @@ internal override void PostDeltaRead() } } - /// + /// public IEnumerator GetEnumerator() { return m_List.GetEnumerator(); } - /// + /// public void Add(T item) { // check write permissions @@ -434,7 +434,7 @@ public void Add(T item) HandleAddListEvent(listEvent); } - /// + /// public void Clear() { // check write permissions @@ -454,14 +454,14 @@ public void Clear() HandleAddListEvent(listEvent); } - /// + /// public bool Contains(T item) { int index = m_List.IndexOf(item); return index != -1; } - /// + /// public bool Remove(T item) { // check write permissions @@ -488,16 +488,16 @@ public bool Remove(T item) return true; } - /// + /// public int Count => m_List.Length; - /// + /// public int IndexOf(T item) { return m_List.IndexOf(item); } - /// + /// public void Insert(int index, T item) { // check write permissions @@ -527,7 +527,7 @@ public void Insert(int index, T item) HandleAddListEvent(listEvent); } - /// + /// public void RemoveAt(int index) { // check write permissions @@ -551,7 +551,7 @@ public void RemoveAt(int index) - /// + /// public T this[int index] { get => m_List[index]; diff --git a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/NetworkVariable.cs b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/NetworkVariable.cs index c712a90223..4740abd391 100644 --- a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/NetworkVariable.cs +++ b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/NetworkVariable.cs @@ -135,11 +135,11 @@ public virtual T Value /// Invoke this method to check if a collection's items are dirty. /// The default behavior is to exit early if the is already dirty. /// - /// when true, this check will force a full item collection check even if the NetworkVariable is already dirty /// /// This is to be used as a way to check if a containing a managed collection has any changees to the collection items.
- /// If you invoked this when a collection is dirty, it will not trigger the unless you set to true.
+ /// If you invoked this when a collection is dirty, it will not trigger the unless you set forceCheck param to true.
///
+ /// when true, this check will force a full item collection check even if the NetworkVariable is already dirty public bool CheckDirtyState(bool forceCheck = false) { var isDirty = base.IsDirty(); diff --git a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/NetworkVariableBase.cs b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/NetworkVariableBase.cs index 66a5b8f955..c398e2f87b 100644 --- a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/NetworkVariableBase.cs +++ b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/NetworkVariableBase.cs @@ -148,7 +148,7 @@ public virtual void OnInitialize() /// /// Sets the update traits for this network variable to determine how frequently it will send updates. /// - /// + /// The new update traits to apply to this network variable public void SetUpdateTraits(NetworkVariableUpdateTraits traits) { UpdateTraits = traits; @@ -159,7 +159,7 @@ public void SetUpdateTraits(NetworkVariableUpdateTraits traits) /// If not, no update will be sent even if the variable is dirty, unless the time since last update exceeds /// the ' . /// - /// + /// True if the variable exceeds the dirtiness threshold or the time since the last update exceeds MaxSecondsBetweenUpdates. otherwise, false public virtual bool ExceedsDirtinessThreshold() { return true; diff --git a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/NetworkVariableSerialization.cs b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/NetworkVariableSerialization.cs index 8401df81af..b2edd738a3 100644 --- a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/NetworkVariableSerialization.cs +++ b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/NetworkVariableSerialization.cs @@ -32,6 +32,7 @@ public static class NetworkVariableSerialization /// generic, it is better to check their equality yourself. /// public static EqualsDelegate AreEqual { get; internal set; } + /// /// Serialize a value using the best-known serialization method for a generic value. /// Will reliably serialize any value that is passed to it correctly with no boxing. @@ -47,8 +48,8 @@ public static class NetworkVariableSerialization /// . is called, which, by default, /// will throw an exception, unless you have assigned a user serialization callback to it at runtime. /// - /// - /// + /// The FastBufferWriter to write the serialized data to + /// Reference to the value to serialize public static void Write(FastBufferWriter writer, ref T value) { Serializer.Write(writer, ref value); @@ -72,8 +73,8 @@ public static void Write(FastBufferWriter writer, ref T value) /// . is called, which, by default, /// will throw an exception, unless you have assigned a user deserialization callback to it at runtime. /// - /// - /// + /// The FastBufferReader to read the serialized data from + /// Reference to store the deserialized value public static void Read(FastBufferReader reader, ref T value) { Serializer.Read(reader, ref value); @@ -94,8 +95,9 @@ public static void Read(FastBufferReader reader, ref T value) /// . is called, which, by default, /// will throw an exception, unless you have assigned a user serialization callback to it at runtime. /// - /// - /// + /// The FastBufferWriter to write the serialized delta to + /// Reference to the current value + /// Reference to the previous value for delta comparison public static void WriteDelta(FastBufferWriter writer, ref T value, ref T previousValue) { Serializer.WriteDelta(writer, ref value, ref previousValue); @@ -119,8 +121,8 @@ public static void WriteDelta(FastBufferWriter writer, ref T value, ref T previo /// . is called, which, by default, /// will throw an exception, unless you have assigned a user deserialization callback to it at runtime. /// - /// - /// + /// The FastBufferReader to read the serialized delta from + /// Reference to update with the deserialized delta public static void ReadDelta(FastBufferReader reader, ref T value) { Serializer.ReadDelta(reader, ref value); @@ -143,8 +145,8 @@ public static void ReadDelta(FastBufferReader reader, ref T value) /// . is called, which, by default, /// will throw an exception, unless you have assigned a user duplication callback to it at runtime. /// - /// - /// + /// The source value to duplicate + /// Reference to store the duplicated value public static void Duplicate(in T value, ref T duplicatedValue) { Serializer.Duplicate(value, ref duplicatedValue); diff --git a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/TypedILPPInitializers.cs b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/TypedILPPInitializers.cs index bbe48ab16f..8a639258da 100644 --- a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/TypedILPPInitializers.cs +++ b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/TypedILPPInitializers.cs @@ -43,7 +43,7 @@ internal static void InitializeIntegerSerialization() /// /// Registeres an unmanaged type that will be serialized by a direct memcpy into a buffer /// - /// + /// The unmanaged type to be registered for serialization public static void InitializeSerializer_UnmanagedByMemcpy() where T : unmanaged { NetworkVariableSerialization.Serializer = new UnmanagedTypeSerializer(); @@ -52,7 +52,7 @@ public static void InitializeSerializer_UnmanagedByMemcpy() where T : unmanag /// /// Registeres an unmanaged type that will be serialized by a direct memcpy into a buffer /// - /// + /// The unmanaged element type of the array to be registered for serialization public static void InitializeSerializer_UnmanagedByMemcpyArray() where T : unmanaged { NetworkVariableSerialization>.Serializer = new UnmanagedArraySerializer(); @@ -62,7 +62,7 @@ public static void InitializeSerializer_UnmanagedByMemcpyArray() where T : un /// /// Registeres an unmanaged type that will be serialized by a direct memcpy into a buffer /// - /// + /// The unmanaged element type contained in the NativeList public static void InitializeSerializer_UnmanagedByMemcpyList() where T : unmanaged { NetworkVariableSerialization>.Serializer = new UnmanagedListSerializer(); @@ -71,7 +71,7 @@ public static void InitializeSerializer_UnmanagedByMemcpyList() where T : unm /// /// Registeres a native hash set (this generic implementation works with all types) /// - /// + /// The unmanaged element type contained in the NativeHashSet, must implement IEquatable public static void InitializeSerializer_NativeHashSet() where T : unmanaged, IEquatable { NetworkVariableSerialization>.Serializer = new NativeHashSetSerializer(); @@ -80,7 +80,8 @@ public static void InitializeSerializer_NativeHashSet() where T : unmanaged, /// /// Registeres a native hash set (this generic implementation works with all types) /// - /// + /// The unmanaged key type, must implement IEquatable + /// The unmanaged value type stored in the hash map public static void InitializeSerializer_NativeHashMap() where TKey : unmanaged, IEquatable where TVal : unmanaged @@ -92,7 +93,7 @@ public static void InitializeSerializer_NativeHashMap() /// /// Registeres a native hash set (this generic implementation works with all types) /// - /// + /// The type of elements contained in the List public static void InitializeSerializer_List() { NetworkVariableSerialization>.Serializer = new ListSerializer(); @@ -101,7 +102,7 @@ public static void InitializeSerializer_List() /// /// Registeres a native hash set (this generic implementation works with all types) /// - /// + /// The type of elements contained in the HashSet, must implement IEquatable public static void InitializeSerializer_HashSet() where T : IEquatable { NetworkVariableSerialization>.Serializer = new HashSetSerializer(); @@ -110,7 +111,8 @@ public static void InitializeSerializer_HashSet() where T : IEquatable /// /// Registeres a native hash set (this generic implementation works with all types) /// - /// + /// The type of keys in the Dictionary, must implement IEquatable + /// The type of values stored in the Dictionary public static void InitializeSerializer_Dictionary() where TKey : IEquatable { NetworkVariableSerialization>.Serializer = new DictionarySerializer(); @@ -120,7 +122,7 @@ public static void InitializeSerializer_Dictionary() where TKey : IE /// Registers an unmanaged type that implements INetworkSerializable and will be serialized through a call to /// NetworkSerialize /// - /// + /// The unmanaged type that implements INetworkSerializable public static void InitializeSerializer_UnmanagedINetworkSerializable() where T : unmanaged, INetworkSerializable { NetworkVariableSerialization.Serializer = new UnmanagedNetworkSerializableSerializer(); @@ -130,7 +132,7 @@ public static void InitializeSerializer_UnmanagedINetworkSerializable() where /// Registers an unmanaged type that implements INetworkSerializable and will be serialized through a call to /// NetworkSerialize /// - /// + /// The unmanaged element type that implements INetworkSerializable public static void InitializeSerializer_UnmanagedINetworkSerializableArray() where T : unmanaged, INetworkSerializable { NetworkVariableSerialization>.Serializer = new UnmanagedNetworkSerializableArraySerializer(); @@ -141,7 +143,7 @@ public static void InitializeSerializer_UnmanagedINetworkSerializableArray() /// Registers an unmanaged type that implements INetworkSerializable and will be serialized through a call to /// NetworkSerialize /// - /// + /// The unmanaged element type that implements INetworkSerializable public static void InitializeSerializer_UnmanagedINetworkSerializableList() where T : unmanaged, INetworkSerializable { NetworkVariableSerialization>.Serializer = new UnmanagedNetworkSerializableListSerializer(); @@ -152,7 +154,7 @@ public static void InitializeSerializer_UnmanagedINetworkSerializableList() w /// Registers a managed type that implements INetworkSerializable and will be serialized through a call to /// NetworkSerialize /// - /// + /// The managed type that implements INetworkSerializable and has a parameterless constructor public static void InitializeSerializer_ManagedINetworkSerializable() where T : class, INetworkSerializable, new() { NetworkVariableSerialization.Serializer = new ManagedNetworkSerializableSerializer(); @@ -162,7 +164,7 @@ public static void InitializeSerializer_UnmanagedINetworkSerializableList() w /// Registers a FixedString type that will be serialized through FastBufferReader/FastBufferWriter's FixedString /// serializers /// - /// + /// The FixedString type that implements INativeList{byte} and IUTF8Bytes public static void InitializeSerializer_FixedString() where T : unmanaged, INativeList, IUTF8Bytes { NetworkVariableSerialization.Serializer = new FixedStringSerializer(); @@ -172,7 +174,7 @@ public static void InitializeSerializer_FixedString() where T : unmanaged, IN /// Registers a FixedString type that will be serialized through FastBufferReader/FastBufferWriter's FixedString /// serializers /// - /// + /// The FixedString type that implements INativeList{byte} and IUTF8Bytes public static void InitializeSerializer_FixedStringArray() where T : unmanaged, INativeList, IUTF8Bytes { NetworkVariableSerialization>.Serializer = new FixedStringArraySerializer(); @@ -183,7 +185,7 @@ public static void InitializeSerializer_FixedStringArray() where T : unmanage /// Registers a FixedString type that will be serialized through FastBufferReader/FastBufferWriter's FixedString /// serializers /// - /// + /// The FixedString type that implements INativeList{byte} and IUTF8Bytes public static void InitializeSerializer_FixedStringList() where T : unmanaged, INativeList, IUTF8Bytes { NetworkVariableSerialization>.Serializer = new FixedStringListSerializer(); @@ -193,7 +195,7 @@ public static void InitializeSerializer_FixedStringList() where T : unmanaged /// /// Registers a managed type that will be checked for equality using T.Equals() /// - /// + /// The managed type that implements IEquatable public static void InitializeEqualityChecker_ManagedIEquatable() where T : class, IEquatable { NetworkVariableSerialization.AreEqual = NetworkVariableEquality.EqualityEqualsObject; @@ -202,7 +204,7 @@ public static void InitializeEqualityChecker_ManagedIEquatable() where T : cl /// /// Registers an unmanaged type that will be checked for equality using T.Equals() /// - /// + /// The unmanaged type to register public static void InitializeEqualityChecker_UnmanagedIEquatable() where T : unmanaged, IEquatable { NetworkVariableSerialization.AreEqual = NetworkVariableEquality.EqualityEquals; @@ -211,15 +213,16 @@ public static void InitializeEqualityChecker_UnmanagedIEquatable() where T : /// /// Registers an unmanaged type that will be checked for equality using T.Equals() /// - /// + /// The unmanaged element type that implements IEquatable public static void InitializeEqualityChecker_UnmanagedIEquatableArray() where T : unmanaged, IEquatable { NetworkVariableSerialization>.AreEqual = NetworkVariableEquality.EqualityEqualsArray; } + /// /// Registers an unmanaged type that will be checked for equality using T.Equals() /// - /// + /// The type of elements in the List public static void InitializeEqualityChecker_List() { NetworkVariableSerialization>.AreEqual = NetworkVariableEquality.EqualityEqualsList; @@ -227,7 +230,7 @@ public static void InitializeEqualityChecker_List() /// /// Registers an unmanaged type that will be checked for equality using T.Equals() /// - /// + /// The type of elements in the HashSet public static void InitializeEqualityChecker_HashSet() where T : IEquatable { NetworkVariableSerialization>.AreEqual = NetworkVariableEquality.EqualityEqualsHashSet; @@ -235,7 +238,8 @@ public static void InitializeEqualityChecker_HashSet() where T : IEquatable /// Registers an unmanaged type that will be checked for equality using T.Equals() /// - /// + /// The type of keys in the Dictionary, must implement IEquatable + /// The type of values in the Dictionary public static void InitializeEqualityChecker_Dictionary() where TKey : IEquatable { @@ -246,7 +250,7 @@ public static void InitializeEqualityChecker_Dictionary() /// /// Registers an unmanaged type that will be checked for equality using T.Equals() /// - /// + /// The unmanaged element type that implements IEquatable public static void InitializeEqualityChecker_UnmanagedIEquatableList() where T : unmanaged, IEquatable { NetworkVariableSerialization>.AreEqual = NetworkVariableEquality.EqualityEqualsNativeList; @@ -254,7 +258,7 @@ public static void InitializeEqualityChecker_UnmanagedIEquatableList() where /// /// Registers an unmanaged type that will be checked for equality using T.Equals() /// - /// + /// The unmanaged element type that implements IEquatable public static void InitializeEqualityChecker_NativeHashSet() where T : unmanaged, IEquatable { NetworkVariableSerialization>.AreEqual = NetworkVariableEquality.EqualityEqualsNativeHashSet; @@ -262,7 +266,8 @@ public static void InitializeEqualityChecker_NativeHashSet() where T : unmana /// /// Registers an unmanaged type that will be checked for equality using T.Equals() /// - /// + /// The unmanaged key type that implements IEquatable + /// The unmanaged value type public static void InitializeEqualityChecker_NativeHashMap() where TKey : unmanaged, IEquatable where TVal : unmanaged @@ -275,7 +280,7 @@ public static void InitializeEqualityChecker_NativeHashMap() /// Registers an unmanaged type that will be checked for equality using memcmp and only considered /// equal if they are bitwise equivalent in memory /// - /// + /// The unmanaged type to register for equality checking public static void InitializeEqualityChecker_UnmanagedValueEquals() where T : unmanaged { NetworkVariableSerialization.AreEqual = NetworkVariableEquality.ValueEquals; @@ -285,7 +290,7 @@ public static void InitializeEqualityChecker_UnmanagedValueEquals() where T : /// Registers an unmanaged type that will be checked for equality using memcmp and only considered /// equal if they are bitwise equivalent in memory /// - /// + /// The unmanaged element type to register for equality checking public static void InitializeEqualityChecker_UnmanagedValueEqualsArray() where T : unmanaged { NetworkVariableSerialization>.AreEqual = NetworkVariableEquality.ValueEqualsArray; @@ -296,7 +301,7 @@ public static void InitializeEqualityChecker_UnmanagedValueEqualsArray() wher /// Registers an unmanaged type that will be checked for equality using memcmp and only considered /// equal if they are bitwise equivalent in memory /// - /// + /// The unmanaged element type to register for equality checking public static void InitializeEqualityChecker_UnmanagedValueEqualsList() where T : unmanaged { NetworkVariableSerialization>.AreEqual = NetworkVariableEquality.ValueEqualsList; @@ -306,7 +311,7 @@ public static void InitializeEqualityChecker_UnmanagedValueEqualsList() where /// /// Registers a managed type that will be checked for equality using the == operator /// - /// + /// The class type to register for equality checking public static void InitializeEqualityChecker_ManagedClassEquals() where T : class { NetworkVariableSerialization.AreEqual = NetworkVariableEquality.ClassEquals; diff --git a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/UserNetworkVariableSerialization.cs b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/UserNetworkVariableSerialization.cs index c39ca0f9a2..a85d4fcaf6 100644 --- a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/UserNetworkVariableSerialization.cs +++ b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Serialization/UserNetworkVariableSerialization.cs @@ -6,7 +6,7 @@ namespace Unity.Netcode /// extension methods. Finding those methods isn't achievable efficiently at runtime, so this allows /// users to tell NetworkVariable about those extension methods (or simply pass in a lambda) /// - /// + /// The type of value being serialized public class UserNetworkVariableSerialization { /// @@ -40,7 +40,6 @@ public class UserNetworkVariableSerialization /// /// The read value delegate handler definition /// - /// The to read the value of type `T` /// The value of type `T` to be read public delegate void DuplicateValueDelegate(in T value, ref T duplicatedValue); diff --git a/com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs b/com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs index 8996dfcfd7..1d87687e6d 100644 --- a/com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs +++ b/com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs @@ -15,7 +15,7 @@ namespace Unity.Netcode /// Note: This is only when is enabled.
/// *** Do not start new scene events within scene event notification callbacks.
/// See also:
- /// + /// ///
public class SceneEvent { @@ -146,10 +146,10 @@ public class NetworkSceneManager : IDisposable /// /// The delegate callback definition for scene event notifications.
/// See also:
- ///
- /// + ///
+ /// ///
- /// + /// SceneEvent which contains information about the scene event, including type, progress, and scene details public delegate void SceneEventDelegate(SceneEvent sceneEvent); /// @@ -175,7 +175,7 @@ public class NetworkSceneManager : IDisposable /// /// Delegate declaration for the OnLoad event.
/// See also:
- /// for more information + /// for more information ///
/// the client that is processing this event (the server will receive all of these events for every client and itself) /// name of the scene being processed @@ -186,7 +186,7 @@ public class NetworkSceneManager : IDisposable /// /// Delegate declaration for the OnUnload event.
/// See also:
- /// for more information + /// for more information ///
/// the client that is processing this event (the server will receive all of these events for every client and itself) /// name of the scene being processed @@ -196,7 +196,7 @@ public class NetworkSceneManager : IDisposable /// /// Delegate declaration for the OnSynchronize event.
/// See also:
- /// for more information + /// for more information ///
/// the client that is processing this event (the server will receive all of these events for every client and itself) public delegate void OnSynchronizeDelegateHandler(ulong clientId); @@ -204,8 +204,8 @@ public class NetworkSceneManager : IDisposable /// /// Delegate declaration for the OnLoadEventCompleted and OnUnloadEventCompleted events.
/// See also:
- ///
- /// + ///
+ /// ///
/// scene pertaining to this event /// of the associated event completed @@ -216,7 +216,7 @@ public class NetworkSceneManager : IDisposable /// /// Delegate declaration for the OnLoadComplete event.
/// See also:
- /// for more information + /// for more information ///
/// the client that is processing this event (the server will receive all of these events for every client and itself) /// the scene name pertaining to this event @@ -226,7 +226,7 @@ public class NetworkSceneManager : IDisposable /// /// Delegate declaration for the OnUnloadComplete event.
/// See also:
- /// for more information + /// for more information ///
/// the client that is processing this event (the server will receive all of these events for every client and itself) /// the scene name pertaining to this event @@ -235,7 +235,7 @@ public class NetworkSceneManager : IDisposable /// /// Delegate declaration for the OnSynchronizeComplete event.
/// See also:
- /// for more information + /// for more information ///
/// the client that completed this event public delegate void OnSynchronizeCompleteDelegateHandler(ulong clientId); @@ -1261,7 +1261,7 @@ private bool OnSceneEventProgressCompleted(SceneEventProgress sceneEventProgress /// Unloads an additively loaded scene. If you want to unload a mode loaded scene load another scene. /// When applicable, the is delivered within the via the ///
- /// + /// The Unity Scene to be unloaded /// ( means it was successful) public SceneEventProgressStatus UnloadScene(Scene scene) { @@ -3131,21 +3131,56 @@ private void ProcessDeferredCreateObjectMessages() DeferredObjectCreationList.Clear(); } + /// + /// The scene map type . + /// public enum MapTypes { + /// + /// Denotes the server to client scene map type. + /// ServerToClient, + /// + /// Denotes the client to server scene map type. + /// ClientToServer } + + /// + /// Provides the status of a loaded scene + /// public struct SceneMap : INetworkSerializable { + /// + /// The scene mapping type . + /// public MapTypes MapType; + /// + /// The struct of the scene mapped. + /// public Scene Scene; + /// + /// When true, the scene is present. + /// public bool ScenePresent; + /// + /// The name of the scene + /// public string SceneName; + /// + /// The scene's server handle (a.k.a network scene handle) + /// public int ServerHandle; + /// + /// The mapped handled. This could be the ServerHandle or LocalHandle depending upon context (client or server). + /// public int MappedLocalHandle; + /// + /// The local handle of the scene. + /// public int LocalHandle; + /// public void NetworkSerialize(BufferSerializer serializer) where T : IReaderWriter { serializer.SerializeValue(ref MapType); @@ -3165,6 +3200,11 @@ public void NetworkSerialize(BufferSerializer serializer) where T : IReade } } + /// + /// Returns the list of all scene mappings when scene management is enabled. + /// + /// The map type to return + /// A list of objects representing the scene mappings. public List GetSceneMapping(MapTypes mapType) { var mapping = new List(); diff --git a/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventData.cs b/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventData.cs index 613c216328..7f03e08493 100644 --- a/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventData.cs +++ b/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventData.cs @@ -12,7 +12,7 @@ namespace Unity.Netcode /// Used by for messages.
/// Note: This is only when is enabled.
/// See also:
- /// + /// /// public enum SceneEventType : byte { diff --git a/com.unity.netcode.gameobjects/Runtime/Serialization/BufferSerializer.cs b/com.unity.netcode.gameobjects/Runtime/Serialization/BufferSerializer.cs index 85cc0909e0..faf4c960fa 100644 --- a/com.unity.netcode.gameobjects/Runtime/Serialization/BufferSerializer.cs +++ b/com.unity.netcode.gameobjects/Runtime/Serialization/BufferSerializer.cs @@ -301,7 +301,6 @@ public void SerializeValue(ref T value, FastBufferWriter.ForFixedStrings unus /// The network serializable type /// The values to read/write /// The allocator to use to construct the resulting NativeArray when reading - /// An unused parameter used for enabling overload resolution of FixedStrings public void SerializeValue(ref NativeArray value, Allocator allocator) where T : unmanaged, INativeList, IUTF8Bytes => m_Implementation.SerializeValue(ref value, allocator); @@ -311,7 +310,6 @@ public void SerializeValue(ref NativeArray value, Allocator allocator) /// /// The network serializable type /// The values to read/write - /// An unused parameter used for enabling overload resolution of FixedStrings public void SerializeValue(ref NativeList value) where T : unmanaged, INativeList, IUTF8Bytes => m_Implementation.SerializeValue(ref value); #endif @@ -330,8 +328,8 @@ public void SerializeValue(ref NativeList value) /// SerializeValuePreChecked methods. But note that the benefit is small and only likely to be /// noticeable if serializing a very large number of items. /// - /// - /// + /// The number of values that will need to be read or written + /// True if there is sufficient space available for the specified amount, false otherwise public bool PreCheck(int amount) { return m_Implementation.PreCheck(amount); diff --git a/com.unity.netcode.gameobjects/Runtime/Serialization/BytePacker.cs b/com.unity.netcode.gameobjects/Runtime/Serialization/BytePacker.cs index 58b7ea1e33..b064f2dbce 100644 --- a/com.unity.netcode.gameobjects/Runtime/Serialization/BytePacker.cs +++ b/com.unity.netcode.gameobjects/Runtime/Serialization/BytePacker.cs @@ -6,7 +6,7 @@ namespace Unity.Netcode { /// /// Utility class for packing values in serialization. - /// to unpack packed values. + /// to unpack packed values. /// public static class BytePacker { diff --git a/com.unity.netcode.gameobjects/Runtime/Serialization/ByteUnpacker.cs b/com.unity.netcode.gameobjects/Runtime/Serialization/ByteUnpacker.cs index 2d2cd88716..2c84fff991 100644 --- a/com.unity.netcode.gameobjects/Runtime/Serialization/ByteUnpacker.cs +++ b/com.unity.netcode.gameobjects/Runtime/Serialization/ByteUnpacker.cs @@ -7,7 +7,7 @@ namespace Unity.Netcode /// /// Byte Unpacking Helper Class /// Use this class to unpack values during deserialization for values that were packed. - /// to pack unpacked values + /// to pack unpacked values /// public static class ByteUnpacker { @@ -282,7 +282,7 @@ public static void ReadValuePacked(FastBufferReader reader, out Quaternion rotat /// Reads a string in a packed format /// /// The reader to read from - /// + /// string to read [MethodImpl(MethodImplOptions.AggressiveInlining)] public static unsafe void ReadValuePacked(FastBufferReader reader, out string s) { diff --git a/com.unity.netcode.gameobjects/Runtime/Serialization/FastBufferReader.cs b/com.unity.netcode.gameobjects/Runtime/Serialization/FastBufferReader.cs index 3612855553..bf30e04b4b 100644 --- a/com.unity.netcode.gameobjects/Runtime/Serialization/FastBufferReader.cs +++ b/com.unity.netcode.gameobjects/Runtime/Serialization/FastBufferReader.cs @@ -8,9 +8,9 @@ namespace Unity.Netcode { /// /// Optimized class used for reading values from a byte stream - /// - /// - /// + /// + /// + /// /// public struct FastBufferReader : IDisposable { @@ -93,22 +93,22 @@ internal unsafe void CommitBitwiseReads(int amount) /// /// Create a FastBufferReader from a NativeArray. /// - /// A new buffer will be created using the given and the value will be copied in. + /// A new buffer will be created using the specified allocator and the value will be copied in. /// FastBufferReader will then own the data. /// - /// The exception to this is when the passed in is Allocator.None. In this scenario, + /// The exception to this is when the allocator passed in is Allocator.None. In this scenario, /// ownership of the data remains with the caller and the reader will point at it directly. /// When created with Allocator.None, FastBufferReader will allocate some internal data using /// Allocator.Temp so it should be treated as if it's a ref struct and not allowed to outlive /// the context in which it was created (it should neither be returned from that function nor - /// stored anywhere in heap memory). This is true, unless the param is explicitly set + /// stored anywhere in heap memory). This is true, unless the internal allocator param is explicitly set /// to i.e.: Allocator.Persistent in which case it would allow the internal data to Persist for longer, but the caller /// should manually call Dispose() when it is no longer needed. /// - /// + /// The NativeArray to create the reader from /// The allocator type used for internal data when copying an existing buffer if other than Allocator.None is specified, that memory will be owned by this FastBufferReader instance - /// - /// + /// The number of bytes to read from the buffer. If set to -1, the entire buffer length will be used + /// The offset into the buffer to start reading from /// The allocator type used for internal data when this reader points directly at a buffer owned by someone else public unsafe FastBufferReader(NativeArray buffer, Allocator copyAllocator, int length = -1, int offset = 0, Allocator internalAllocator = Allocator.Temp) { @@ -168,15 +168,15 @@ public unsafe FastBufferReader(byte[] buffer, Allocator copyAllocator, int lengt /// /// Create a FastBufferReader from an existing byte buffer. /// - /// A new buffer will be created using the given and the value will be copied in. + /// A new buffer will be created using the given specified allocator and the value will be copied in. /// FastBufferReader will then own the data. /// - /// The exception to this is when the passed in is Allocator.None. In this scenario, + /// The exception to this is when the specified allocator passed in is Allocator.None. In this scenario, /// ownership of the data remains with the caller and the reader will point at it directly. /// When created with Allocator.None, FastBufferReader will allocate some internal data using /// Allocator.Temp, so it should be treated as if it's a ref struct and not allowed to outlive /// the context in which it was created (it should neither be returned from that function nor - /// stored anywhere in heap memory). This is true, unless the param is explicitly set + /// stored anywhere in heap memory). This is true, unless the internal allocator param is explicitly set /// to i.e.: Allocator.Persistent in which case it would allow the internal data to Persist for longer, but the caller /// should manually call Dispose() when it is no longer needed. /// @@ -193,15 +193,15 @@ public unsafe FastBufferReader(byte* buffer, Allocator copyAllocator, int length /// /// Create a FastBufferReader from a FastBufferWriter. /// - /// A new buffer will be created using the given and the value will be copied in. + /// A new buffer will be created using the given specified allocator and the value will be copied in. /// FastBufferReader will then own the data. /// - /// The exception to this is when the passed in is Allocator.None. In this scenario, + /// The exception to this is when the specified allocator passed in is Allocator.None. In this scenario, /// ownership of the data remains with the caller and the reader will point at it directly. /// When created with Allocator.None, FastBufferReader will allocate some internal data using /// Allocator.Temp, so it should be treated as if it's a ref struct and not allowed to outlive /// the context in which it was created (it should neither be returned from that function nor - /// stored anywhere in heap memory). This is true, unless the param is explicitly set + /// stored anywhere in heap memory). This is true, unless the internal Allocator param is explicitly set /// to i.e.: Allocator.Persistent in which case it would allow the internal data to Persist for longer, but the caller /// should manually call Dispose() when it is no longer needed. /// @@ -220,10 +220,10 @@ public unsafe FastBufferReader(FastBufferWriter writer, Allocator copyAllocator, /// want to change the copyAllocator that a reader is allocated to - for example, upgrading a Temp reader to /// a Persistent one to be processed later. /// - /// A new buffer will be created using the given and the value will be copied in. + /// A new buffer will be created using the given specified allocator and the value will be copied in. /// FastBufferReader will then own the data. /// - /// The exception to this is when the passed in is Allocator.None. In this scenario, + /// The exception to this is when the specified allocator passed in is Allocator.None. In this scenario, /// ownership of the data remains with the caller and the reader will point at it directly. /// When created with Allocator.None, FastBufferReader will allocate some internal data using /// Allocator.Temp, so it should be treated as if it's a ref struct and not allowed to outlive @@ -440,9 +440,9 @@ public unsafe byte[] ToArray() /// /// Read an INetworkSerializable /// - /// + /// The type that implements INetworkSerializable and can be deserialized /// INetworkSerializable instance - /// + /// Thrown if the type T does not properly implement NetworkSerialize public void ReadNetworkSerializable(out T value) where T : INetworkSerializable, new() { value = new T(); @@ -454,8 +454,8 @@ public unsafe byte[] ToArray() /// Read an array of INetworkSerializables /// /// INetworkSerializable instance - /// the array to read the values of type `T` into - /// + /// the array to read the values of type `T` from + /// Thrown if the type T does not properly implement NetworkSerialize public void ReadNetworkSerializable(out T[] value) where T : INetworkSerializable, new() { ReadValueSafe(out int size); @@ -471,8 +471,8 @@ public unsafe byte[] ToArray() /// /// INetworkSerializable instance /// The allocator to use to construct the resulting NativeArray - /// the array to read the values of type `T` into - /// + /// the array to read the values of type `T` from + /// Thrown if the type T does not properly implement NetworkSerialize public void ReadNetworkSerializable(out NativeArray value, Allocator allocator) where T : unmanaged, INetworkSerializable { ReadValueSafe(out int size); @@ -489,8 +489,8 @@ public void ReadNetworkSerializable(out NativeArray value, Allocator alloc /// Read a NativeList of INetworkSerializables /// /// INetworkSerializable instance - /// the array to read the values of type `T` into - /// + /// the array to read the values of type `T` from + /// Thrown if the type T does not properly implement NetworkSerialize public void ReadNetworkSerializableInPlace(ref NativeList value) where T : unmanaged, INetworkSerializable { ReadValueSafe(out int size); @@ -506,9 +506,9 @@ public void ReadNetworkSerializableInPlace(ref NativeList value) where T : /// Read an INetworkSerializable in-place, without constructing a new one /// Note that this will NOT check for null before calling NetworkSerialize /// - /// + /// The type that implements INetworkSerializable and can be deserialized /// INetworkSerializable instance - /// + /// hrown if the type T does not properly implement NetworkSerialize public void ReadNetworkSerializableInPlace(ref T value) where T : INetworkSerializable { var bufferSerializer = new BufferSerializer(new BufferSerializerReader(this)); @@ -623,11 +623,11 @@ private void ReadLength(out int length) /// Read a partial value. The value is zero-initialized and then the specified number of bytes is read into it. /// /// Value to read - /// Number of bytes - /// Offset into the value to write the bytes - /// the type value to read the value into - /// - /// + /// The number of bytes to read from the buffer into the value + /// The offset in bytes from the start of the value where the read bytes will be written + /// The unmanaged type to read into. Must be unmanaged to allow direct memory access + /// Thrown when attempting to use BufferReader in bytewise mode while in a bitwise context + /// Thrown when attempting to read without first calling TryBeginRead() or when reading beyond the allowed read mark [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe void ReadPartialValue(out T value, int bytesToRead, int offsetBytes = 0) where T : unmanaged { @@ -1646,7 +1646,6 @@ public unsafe void ReadValueSafeInPlace(ref T value, FastBufferWriter.ForFixe /// /// the value to read /// The allocator to use to construct the resulting NativeArray - /// An unused parameter used for enabling overload resolution based on generic constraints /// The type being serialized [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe void ReadValueSafe(out NativeArray value, Allocator allocator) @@ -1668,7 +1667,6 @@ public unsafe void ReadValueSafe(out NativeArray value, Allocator allocato /// for multiple reads at once by calling TryBeginRead. /// /// the value to read - /// An unused parameter used for enabling overload resolution based on generic constraints /// The type being serialized [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe void ReadValueSafeTemp(out NativeArray value) @@ -1712,7 +1710,6 @@ public void ReadValueSafe(out T[] value, FastBufferWriter.ForFixedStrings unu /// for multiple reads at once by calling TryBeginRead. /// /// the value to read - /// An unused parameter used for enabling overload resolution based on generic constraints /// The type being serialized [MethodImpl(MethodImplOptions.AggressiveInlining)] public void ReadValueSafeInPlace(ref NativeList value) diff --git a/com.unity.netcode.gameobjects/Runtime/Serialization/FastBufferWriter.cs b/com.unity.netcode.gameobjects/Runtime/Serialization/FastBufferWriter.cs index 66d0da5b17..addd102981 100644 --- a/com.unity.netcode.gameobjects/Runtime/Serialization/FastBufferWriter.cs +++ b/com.unity.netcode.gameobjects/Runtime/Serialization/FastBufferWriter.cs @@ -8,9 +8,9 @@ namespace Unity.Netcode { /// /// Optimized class used for writing values into a byte stream - /// - /// - /// + /// + /// + /// /// public struct FastBufferWriter : IDisposable { @@ -314,9 +314,9 @@ public unsafe bool TryBeginWriteValue(in T value) where T : unmanaged /// Internal version of TryBeginWrite. /// Differs from TryBeginWrite only in that it won't ever move the AllowedWriteMark backward. /// - /// - /// - /// + /// The number of bytes to check for write availability + /// True if the specified number of bytes can be written, false if there isn't enough space + /// Thrown when attempting to use BufferWriter in bytewise mode while in a bitwise context [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe bool TryBeginWriteInternal(int bytes) { @@ -356,7 +356,7 @@ public unsafe bool TryBeginWriteInternal(int bytes) /// Returns an array representation of the underlying byte buffer. /// !!Allocates a new array!! /// - /// + /// A new byte array containing a copy of the buffer's contents. [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe byte[] ToArray() { @@ -395,7 +395,7 @@ internal unsafe ArraySegment ToTempByteArray() /// /// Gets a direct pointer to the underlying buffer /// - /// + /// An unsafe pointer to the start of the underlying buffer memory [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe byte* GetUnsafePtr() { @@ -405,7 +405,7 @@ internal unsafe ArraySegment ToTempByteArray() /// /// Gets a direct pointer to the underlying buffer at the current read position /// - /// + /// An unsafe pointer to the underlying buffer memory offset by the current position [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe byte* GetUnsafePtrAtCurrentPosition() { @@ -417,7 +417,7 @@ internal unsafe ArraySegment ToTempByteArray() /// /// The string to write /// Whether or not to use one byte per character. This will only allow ASCII - /// + /// The total number of bytes required to write the string, including the length field [MethodImpl(MethodImplOptions.AggressiveInlining)] public static int GetWriteSize(string s, bool oneByteChars = false) { @@ -428,7 +428,7 @@ public static int GetWriteSize(string s, bool oneByteChars = false) /// Write an INetworkSerializable /// /// The value to write - /// + /// The type of the value public void WriteNetworkSerializable(in T value) where T : INetworkSerializable { var bufferSerializer = new BufferSerializer(new BufferSerializerWriter(this)); @@ -438,10 +438,10 @@ public void WriteNetworkSerializable(in T value) where T : INetworkSerializab /// /// Write an array of INetworkSerializables /// - /// The value to write - /// - /// - /// + /// The array of objects to write + /// The number of elements to write. If set to -1, will write all elements from offset to end + /// The starting position in the array from which to begin writing + /// The type of the value public void WriteNetworkSerializable(T[] array, int count = -1, int offset = 0) where T : INetworkSerializable { int sizeInTs = count != -1 ? count : array.Length - offset; @@ -455,10 +455,10 @@ public void WriteNetworkSerializable(T[] array, int count = -1, int offset = /// /// Write a NativeArray of INetworkSerializables /// - /// The value to write - /// - /// - /// + /// The NativeArray containing the values to write + /// The number of elements to write. If -1 (default), writes array.Length - offset elements + /// The starting position in the array. Defaults to 0 + /// The type of the value public void WriteNetworkSerializable(NativeArray array, int count = -1, int offset = 0) where T : unmanaged, INetworkSerializable { int sizeInTs = count != -1 ? count : array.Length - offset; @@ -473,10 +473,10 @@ public void WriteNetworkSerializable(NativeArray array, int count = -1, in /// /// Write a NativeList of INetworkSerializables /// - /// The value to write - /// - /// - /// + /// The NativeArray containing the values to write + /// The number of elements to write. If -1 (default), writes array.Length - offset elements + /// The starting position in the array. Defaults to 0/param> + /// The type of the value public void WriteNetworkSerializable(NativeList array, int count = -1, int offset = 0) where T : unmanaged, INetworkSerializable { int sizeInTs = count != -1 ? count : array.Length - offset; @@ -562,8 +562,8 @@ public unsafe void WriteValueSafe(string s, bool oneByteChars = false) /// The array to write /// The amount of elements to write /// Where in the array to start - /// - /// + /// The type of elements in the array, must be unmanaged + /// The total number of bytes required to write the array, including the length field [MethodImpl(MethodImplOptions.AggressiveInlining)] public static unsafe int GetWriteSize(T[] array, int count = -1, int offset = 0) where T : unmanaged { @@ -578,8 +578,8 @@ public static unsafe int GetWriteSize(T[] array, int count = -1, int offset = /// The array to write /// The amount of elements to write /// Where in the array to start - /// - /// + /// The type of elements in the array, must be unmanaged + /// The total number of bytes required to write the array, including the length field [MethodImpl(MethodImplOptions.AggressiveInlining)] public static unsafe int GetWriteSize(NativeArray array, int count = -1, int offset = 0) where T : unmanaged { @@ -595,8 +595,8 @@ public static unsafe int GetWriteSize(NativeArray array, int count = -1, i /// The array to write /// The amount of elements to write /// Where in the array to start - /// - /// + /// The type of elements in the array, must be unmanaged + /// The total number of bytes required to write the array, including the length field [MethodImpl(MethodImplOptions.AggressiveInlining)] public static unsafe int GetWriteSize(NativeList array, int count = -1, int offset = 0) where T : unmanaged { @@ -612,9 +612,9 @@ public static unsafe int GetWriteSize(NativeList array, int count = -1, in /// Value to write /// Number of bytes /// Offset into the value to begin reading the bytes - /// - /// - /// + /// The type of elements in the array, must be unmanaged + /// Thrown when attempting to use BufferWriter in bytewise mode while in a bitwise context + /// Thrown when attempting to write without first calling TryBeginWrite() or when writing beyond the allowed write mark [MethodImpl(MethodImplOptions.AggressiveInlining)] public unsafe void WritePartialValue(T value, int bytesToWrite, int offsetBytes = 0) where T : unmanaged { @@ -857,10 +857,10 @@ public unsafe void CopyFrom(FastBufferWriter other) /// The ForStructs value here makes this the lowest-priority overload so other versions /// will be prioritized over this if they match /// - /// - /// - /// - /// + /// The unmanaged value to calculate the size for + /// Unused parameter for overload resolution + /// The type of the value, must be unmanaged + /// The size in bytes required to write the value [MethodImpl(MethodImplOptions.AggressiveInlining)] public static unsafe int GetWriteSize(in T value, ForStructs unused = default) where T : unmanaged { @@ -870,9 +870,9 @@ public static unsafe int GetWriteSize(in T value, ForStructs unused = default /// /// Get the write size for a FixedString /// - /// - /// - /// + /// The FixedString value to calculate the size for + /// The specific FixedString type, must implement INativeList{byte} and IUTF8Bytes + /// The size in bytes required to write the value public static int GetWriteSize(in T value) where T : unmanaged, INativeList, IUTF8Bytes { @@ -882,9 +882,9 @@ public static int GetWriteSize(in T value) /// /// Get the write size for an array of FixedStrings /// - /// - /// - /// + /// The NativeArray of FixedStrings to calculate the size for + /// The specific FixedString type, must implement INativeList{byte} and IUTF8Bytes + /// The total size in bytes required to write all strings, including all length fields public static int GetWriteSize(in NativeArray value) where T : unmanaged, INativeList, IUTF8Bytes { @@ -901,9 +901,9 @@ public static int GetWriteSize(in NativeArray value) /// /// Get the write size for an array of FixedStrings /// - /// - /// - /// + /// The NativeList of FixedStrings to calculate the size for + /// The specific FixedString type, must implement INativeList{byte} and IUTF8Bytes + /// The total size in bytes required to write all strings, including all length fields public static int GetWriteSize(in NativeList value) where T : unmanaged, INativeList, IUTF8Bytes { @@ -920,8 +920,8 @@ public static int GetWriteSize(in NativeList value) /// /// Get the size required to write an unmanaged value of type T /// - /// - /// + /// The type to calculate the size for, must be unmanaged + /// The size in bytes required to write a value of type T public static unsafe int GetWriteSize() where T : unmanaged { return sizeof(T); @@ -1907,7 +1907,6 @@ public void WriteValueSafe(T[] value, ForFixedStrings unused = default) /// for multiple writes at once by calling TryBeginWrite. /// /// the value to write - /// An unused parameter used for enabling overload resolution based on generic constraints /// The type being serialized [MethodImpl(MethodImplOptions.AggressiveInlining)] public void WriteValueSafe(in NativeArray value) @@ -1931,7 +1930,6 @@ public void WriteValueSafe(in NativeArray value) /// for multiple writes at once by calling TryBeginWrite. /// /// the value to write - /// An unused parameter used for enabling overload resolution based on generic constraints /// The type being serialized [MethodImpl(MethodImplOptions.AggressiveInlining)] public void WriteValueSafe(in NativeList value) diff --git a/com.unity.netcode.gameobjects/Runtime/Serialization/ForceNetworkSerializeByMemcpy.cs b/com.unity.netcode.gameobjects/Runtime/Serialization/ForceNetworkSerializeByMemcpy.cs index 64cdf755a5..7282db3601 100644 --- a/com.unity.netcode.gameobjects/Runtime/Serialization/ForceNetworkSerializeByMemcpy.cs +++ b/com.unity.netcode.gameobjects/Runtime/Serialization/ForceNetworkSerializeByMemcpy.cs @@ -6,7 +6,7 @@ namespace Unity.Netcode /// This is a wrapper that adds `INetworkSerializeByMemcpy` support to existing structs that the developer /// doesn't have the ability to modify (for example, external structs like `Guid`). /// - /// + /// The type to be wrapped, must be unmanaged and implement IEquatable{T} public struct ForceNetworkSerializeByMemcpy : INetworkSerializeByMemcpy, IEquatable> where T : unmanaged, IEquatable { /// diff --git a/com.unity.netcode.gameobjects/Runtime/Serialization/IReaderWriter.cs b/com.unity.netcode.gameobjects/Runtime/Serialization/IReaderWriter.cs index bdddec4924..2ec4f7b95d 100644 --- a/com.unity.netcode.gameobjects/Runtime/Serialization/IReaderWriter.cs +++ b/com.unity.netcode.gameobjects/Runtime/Serialization/IReaderWriter.cs @@ -145,7 +145,6 @@ void SerializeValue(ref T value, FastBufferWriter.ForFixedStrings unused = de /// /// The value to read/write /// The allocator to use to construct the resulting NativeArray when reading - /// An unused parameter used for enabling overload resolution based on generic constraints /// The type being serialized void SerializeValue(ref NativeArray value, Allocator allocator) where T : unmanaged, INativeList, IUTF8Bytes; @@ -155,7 +154,6 @@ void SerializeValue(ref NativeArray value, Allocator allocator) /// Read or write a NativeList of FixedString values /// /// The value to read/write - /// An unused parameter used for enabling overload resolution based on generic constraints /// The type being serialized void SerializeValue(ref NativeList value) where T : unmanaged, INativeList, IUTF8Bytes; @@ -295,8 +293,11 @@ void SerializeValue(ref NativeList value) /// SerializeValuePreChecked methods. But note that the benefit is small and only likely to be /// noticeable if serializing a very large number of items. /// - /// - /// + /// The number of bytes to check for availability in the buffer + /// + /// True if there is sufficient space for the specified amount of bytes. + /// False if there isn't enough space available. + /// bool PreCheck(int amount); /// diff --git a/com.unity.netcode.gameobjects/Runtime/Serialization/NetworkBehaviourReference.cs b/com.unity.netcode.gameobjects/Runtime/Serialization/NetworkBehaviourReference.cs index 5d8f9c7b93..19cecefc48 100644 --- a/com.unity.netcode.gameobjects/Runtime/Serialization/NetworkBehaviourReference.cs +++ b/com.unity.netcode.gameobjects/Runtime/Serialization/NetworkBehaviourReference.cs @@ -18,7 +18,7 @@ public struct NetworkBehaviourReference : INetworkSerializable, IEquatable struct. /// /// The to reference. - /// + /// Thrown when the provided NetworkBehaviour does not have an associated NetworkObject. This can happen if the behaviour is not properly attached to a networked GameObject. public NetworkBehaviourReference(NetworkBehaviour networkBehaviour) { if (networkBehaviour == null) diff --git a/com.unity.netcode.gameobjects/Runtime/Serialization/NetworkObjectReference.cs b/com.unity.netcode.gameobjects/Runtime/Serialization/NetworkObjectReference.cs index 60dcf045d3..32ab0ed162 100644 --- a/com.unity.netcode.gameobjects/Runtime/Serialization/NetworkObjectReference.cs +++ b/com.unity.netcode.gameobjects/Runtime/Serialization/NetworkObjectReference.cs @@ -25,8 +25,8 @@ public ulong NetworkObjectId /// Creates a new instance of the struct. /// /// The to reference. - /// - /// + /// Thrown when networkObject is null (creates a null reference instead of throwing) + /// Thrown when the NetworkObject is not spawned. NetworkObjectReference can only be created from spawned NetworkObjects public NetworkObjectReference(NetworkObject networkObject) { if (networkObject == null) @@ -47,8 +47,8 @@ public NetworkObjectReference(NetworkObject networkObject) /// Creates a new instance of the struct. /// /// The GameObject from which the component will be referenced. - /// - /// + /// Thrown when networkObject is null (creates a null reference instead of throwing) + /// Thrown when the NetworkObject is not spawned. NetworkObjectReference can only be created from spawned NetworkObjects public NetworkObjectReference(GameObject gameObject) { if (gameObject == null) diff --git a/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkPrefabHandler.cs b/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkPrefabHandler.cs index bb0afc4f3a..fe0dd270e9 100644 --- a/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkPrefabHandler.cs +++ b/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkPrefabHandler.cs @@ -24,7 +24,7 @@ public interface INetworkPrefabInstanceHandler /// the owner for the to be instantiated /// the initial/default position for the to be instantiated /// the initial/default rotation for the to be instantiated - /// + /// The instantiated NetworkObject instance. Returns null if instantiation fails. NetworkObject Instantiate(ulong ownerClientId, Vector3 position, Quaternion rotation); /// @@ -81,7 +81,7 @@ public bool AddHandler(GameObject networkPrefabAsset, INetworkPrefabInstanceHand /// /// the of the network prefab asset to be overridden /// the class that implements the interface to be registered - /// + /// true (registered) false (failed to register) public bool AddHandler(NetworkObject prefabAssetNetworkObject, INetworkPrefabInstanceHandler instanceHandler) { return AddHandler(prefabAssetNetworkObject.GlobalObjectIdHash, instanceHandler); @@ -92,7 +92,7 @@ public bool AddHandler(NetworkObject prefabAssetNetworkObject, INetworkPrefabIns /// /// the value of the network prefab asset being overridden /// a class that implements the interface - /// + /// true (registered) false (failed to register) public bool AddHandler(uint globalObjectIdHash, INetworkPrefabInstanceHandler instanceHandler) { if (!m_PrefabAssetToPrefabHandler.ContainsKey(globalObjectIdHash)) @@ -343,8 +343,8 @@ public GameObject GetNetworkPrefabOverride(GameObject gameObject) /// should not be relied on and code shouldn't be written around it - your code should be written so that /// the asset is expected to be loaded before it's needed. /// - /// - /// + /// The GameObject with NetworkObject component to add as a network prefab + /// Thrown when adding prefabs after startup with ForceSamePrefabs is enabled or prefab doesn't have a NetworkObject component public void AddNetworkPrefab(GameObject prefab) { if (m_NetworkManager.IsListening && m_NetworkManager.NetworkConfig.ForceSamePrefabs) @@ -375,7 +375,8 @@ public void AddNetworkPrefab(GameObject prefab) /// Like AddNetworkPrefab, when NetworkConfig.ForceSamePrefabs is enabled, /// this cannot be called after connecting. /// - /// + /// The GameObject to remove from the network prefab list + /// Thrown when attempting to remove prefabs after startup with ForceSamePrefabs enabled public void RemoveNetworkPrefab(GameObject prefab) { if (m_NetworkManager.IsListening && m_NetworkManager.NetworkConfig.ForceSamePrefabs) diff --git a/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkSpawnManager.cs b/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkSpawnManager.cs index 72265a17c3..4807e3dfc0 100644 --- a/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkSpawnManager.cs +++ b/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkSpawnManager.cs @@ -54,6 +54,10 @@ public class NetworkSpawnManager private Dictionary> m_PlayerObjectsTable = new Dictionary>(); + /// + /// Returns the connect client identifiers + /// + /// connected client identifier list public List GetConnectedPlayers() { return m_PlayerObjectsTable.Keys.ToList(); @@ -402,6 +406,11 @@ private bool TryGetNetworkClient(ulong clientId, out NetworkClient networkClient return false; } + /// + /// Not used. + /// + /// not used + /// not used protected virtual void InternalOnOwnershipChanged(ulong perviousOwner, ulong newOwner) { diff --git a/com.unity.netcode.gameobjects/Runtime/Timing/NetworkTime.cs b/com.unity.netcode.gameobjects/Runtime/Timing/NetworkTime.cs index 7352c8e80f..916a35e6c4 100644 --- a/com.unity.netcode.gameobjects/Runtime/Timing/NetworkTime.cs +++ b/com.unity.netcode.gameobjects/Runtime/Timing/NetworkTime.cs @@ -114,10 +114,11 @@ public NetworkTime ToFixedTime() } /// - /// Returns the time a number of ticks in the past. + /// Calculates a NetworkTime value representing a point in the past relative to the current time (few ticks in the past) /// - /// The number of ticks ago we're querying the time - /// + /// The number of ticks ago we're querying the time. + /// Optional parameter to specify a tick offset (fractional) value. + /// A NetworkTime value representing the calculated past time point public NetworkTime TimeTicksAgo(int ticks, float offset = 0.0f) { return this - new NetworkTime(TickRate, ticks, offset); diff --git a/com.unity.netcode.gameobjects/Runtime/Timing/NetworkTimeSystem.cs b/com.unity.netcode.gameobjects/Runtime/Timing/NetworkTimeSystem.cs index 41327dbcd2..a40c88ed0a 100644 --- a/com.unity.netcode.gameobjects/Runtime/Timing/NetworkTimeSystem.cs +++ b/com.unity.netcode.gameobjects/Runtime/Timing/NetworkTimeSystem.cs @@ -200,7 +200,7 @@ public static NetworkTimeSystem ServerTimeSystem() /// Advances the time system by a certain amount of time. Should be called once per frame with Time.unscaledDeltaTime or similar. /// /// The amount of time to advance. The delta time which passed since Advance was last called. - /// + /// True if a hard reset of the time system occurred due to large time offset differences. False if normal time advancement occurred public bool Advance(double deltaTimeSec) { m_TimeSec += deltaTimeSec; diff --git a/com.unity.netcode.gameobjects/Runtime/Transports/NetworkTransport.cs b/com.unity.netcode.gameobjects/Runtime/Transports/NetworkTransport.cs index d647aeab17..e39dbc8dfc 100644 --- a/com.unity.netcode.gameobjects/Runtime/Transports/NetworkTransport.cs +++ b/com.unity.netcode.gameobjects/Runtime/Transports/NetworkTransport.cs @@ -6,7 +6,7 @@ namespace Unity.Netcode /// /// The generic transport class all Netcode for GameObjects network transport implementations /// derive from. Use this class to add a custom transport. - /// for an example of how a transport is integrated + /// for an example of how a transport is integrated /// public abstract class NetworkTransport : MonoBehaviour { @@ -104,13 +104,14 @@ protected void InvokeOnTransportEvent(NetworkEvent eventType, ulong clientId, Ar /// /// Initializes the transport /// - /// /// optionally pass in NetworkManager + /// optionally pass in NetworkManager public abstract void Initialize(NetworkManager networkManager = null); /// /// Invoked by NetworkManager at the beginning of its EarlyUpdate. /// For order of operations see: /// + /// /// Useful to handle processing any transport-layer events such as processing inbound messages or changes in connection state(s). /// protected virtual void OnEarlyUpdate() @@ -146,6 +147,10 @@ internal void PostLateUpdate() OnPostLateUpdate(); } + /// + /// Invoked to acquire the network topology for the current network session. + /// + /// protected virtual NetworkTopologyTypes OnCurrentTopology() { return NetworkTopologyTypes.ClientServer; @@ -157,9 +162,21 @@ internal NetworkTopologyTypes CurrentTopology() } } + /// + /// The two network topology types supported by Netcode for GameObjects. + /// + /// + /// is only supported using . + /// public enum NetworkTopologyTypes { + /// + /// The traditional client-server network topology. + /// ClientServer, + /// + /// The distributed authorityy network topology only supported by . + /// DistributedAuthority } diff --git a/com.unity.netcode.gameobjects/Runtime/Transports/UTP/UnityTransport.cs b/com.unity.netcode.gameobjects/Runtime/Transports/UTP/UnityTransport.cs index c3cd824489..f8db2e30d9 100644 --- a/com.unity.netcode.gameobjects/Runtime/Transports/UTP/UnityTransport.cs +++ b/com.unity.netcode.gameobjects/Runtime/Transports/UTP/UnityTransport.cs @@ -357,6 +357,9 @@ public NetworkEndpoint ListenEndPoint } } + /// + /// Returns true if the end point address is of type . + /// public bool IsIpv6 => !string.IsNullOrEmpty(Address) && ParseNetworkEndpoint(Address, Port, true).Family == NetworkFamily.Ipv6; } @@ -427,6 +430,9 @@ private struct PacketLossCache internal static event Action TransportDisposed; internal NetworkDriver NetworkDriver => m_Driver; + /// + /// Provides access to the for this instance. + /// protected NetworkDriver m_Driver; /// @@ -590,6 +596,11 @@ private bool ClientBindAndConnect() return true; } + /// + /// Virtual method that is invoked during . + /// + /// The that the client is connecting to. + /// A representing the connection to the server, or an invalid connection if the connection attempt fails. protected virtual NetworkConnection Connect(NetworkEndpoint serverEndpoint) { return m_Driver.Connect(serverEndpoint); @@ -1572,7 +1583,7 @@ private void ConfigureSimulatorForUtp1() ); } #endif - + /// protected override NetworkTopologyTypes OnCurrentTopology() { return m_NetworkManager != null ? m_NetworkManager.NetworkConfig.NetworkTopology : NetworkTopologyTypes.ClientServer; diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTest.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTest.cs index 6a58cea9a7..fc68b71b8b 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTest.cs +++ b/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTest.cs @@ -251,7 +251,7 @@ protected void SetDistributedAuthorityProperties(NetworkManager networkManager) /// stages and can be used to log verbose information /// for troubleshooting an integration test. /// - /// + /// The debug message to be logged when verbose debugging is enabled [MethodImpl(MethodImplOptions.AggressiveInlining)] protected void VerboseDebug(string msg) { @@ -686,7 +686,7 @@ protected void SetTimeTravelSimulatedLatencyJitter(float jitterSeconds) /// /// Creates the server and clients /// - /// + /// The number of client instances to create protected void CreateServerAndClients(int numberOfClients) { VerboseDebug($"Entering {nameof(CreateServerAndClients)}"); @@ -1800,7 +1800,7 @@ public NetcodeIntegrationTest(NetworkTopologyTypes networkTopologyType, HostOrSe /// public MyChildClass(HostOrServer hostOrServer) : base(hostOrServer) { } /// } /// - /// + /// Specifies whether to run the test as a Host or Server configuration public NetcodeIntegrationTest(HostOrServer hostOrServer) { m_UseHost = hostOrServer == HostOrServer.Host || hostOrServer == HostOrServer.DAHost; @@ -1903,8 +1903,8 @@ protected IEnumerator WaitForTicks(NetworkManager networkManager, int count) /// This will only simulate the netcode update loop, as well as update events on /// NetworkBehaviour instances, and will not simulate any Unity update processes (physics, etc) /// - /// - /// + /// The total amount of time to simulate, in seconds + /// The number of frames to distribute the time across protected static void TimeTravel(double amountOfTimeInSeconds, int numFramesToSimulate) { var interval = amountOfTimeInSeconds / numFramesToSimulate; diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs index 1b4e09426a..2f5f975ecd 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs +++ b/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs @@ -267,7 +267,8 @@ internal static NetworkManager CreateNewClient(int identifier, bool mockTranspor /// Used to add a client to the already existing list of clients /// /// The amount of clients - /// + /// Output array containing the created NetworkManager instances + /// When true, uses mock transport for testing, otherwise uses real transport. Default value is false public static bool CreateNewClients(int clientCount, out NetworkManager[] clients, bool useMockTransport = false) { clients = new NetworkManager[clientCount]; @@ -284,7 +285,8 @@ public static bool CreateNewClients(int clientCount, out NetworkManager[] client /// /// Stops one single client and makes sure to cleanup any static variables in this helper /// - /// + /// The NetworkManager instance to stop + /// When true, destroys the GameObject, when false, only shuts down the network connection. Default value is true public static void StopOneClient(NetworkManager clientToStop, bool destroy = true) { clientToStop.Shutdown(); @@ -299,7 +301,7 @@ public static void StopOneClient(NetworkManager clientToStop, bool destroy = tru /// /// Starts one single client and makes sure to register the required hooks and handlers /// - /// + /// The NetworkManager instance to start public static void StartOneClient(NetworkManager clientToStart) { clientToStart.StartClient(); @@ -453,7 +455,7 @@ internal static bool Start(bool host, bool startServer, NetworkManager server, N /// The Server NetworkManager /// The Clients NetworkManager /// called immediately after server is started and before client(s) are started - /// + /// True if all instances started successfully, false otherwise public static bool Start(bool host, NetworkManager server, NetworkManager[] clients, BeforeClientStartCallback callback = null, bool startServer = true) { if (s_IsStarted) @@ -637,7 +639,7 @@ public static void MarkAsSceneObjectRoot(GameObject networkObjectRoot, NetworkMa /// /// The client /// The result. If null, it will automatically assert - /// The max frames to wait for + /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout public static IEnumerator WaitForClientConnected(NetworkManager client, ResultWrapper result = null, float timeout = DefaultTimeout) { yield return WaitForClientsConnected(new NetworkManager[] { client }, result, timeout); @@ -648,8 +650,7 @@ public static IEnumerator WaitForClientConnected(NetworkManager client, ResultWr /// /// The clients to be connected /// The result. If null, it will automatically assert - /// The max frames to wait for - /// + /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout public static IEnumerator WaitForClientsConnected(NetworkManager[] clients, ResultWrapper result = null, float timeout = DefaultTimeout) { // Make sure none are the host client @@ -704,7 +705,7 @@ public static IEnumerator WaitForClientsConnected(NetworkManager[] clients, Resu /// /// The server /// The result. If null, it will automatically assert - /// The max frames to wait for + /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout public static IEnumerator WaitForClientConnectedToServer(NetworkManager server, ResultWrapper result = null, float timeout = DefaultTimeout) { yield return WaitForClientsConnectedToServer(server, server.IsHost ? s_ClientCount + 1 : s_ClientCount, result, timeout); @@ -715,7 +716,7 @@ public static IEnumerator WaitForClientConnectedToServer(NetworkManager server, /// /// The server /// The result. If null, it will automatically assert - /// The max frames to wait for + /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout public static IEnumerator WaitForClientsConnectedToServer(NetworkManager server, int clientCount = 1, ResultWrapper result = null, float timeout = DefaultTimeout) { if (!server.IsServer) @@ -750,7 +751,7 @@ public static IEnumerator WaitForClientsConnectedToServer(NetworkManager server, /// The representation to get the object from /// The result /// Whether or not to fail if no object is found and result is null - /// The max frames to wait for + /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout public static IEnumerator GetNetworkObjectByRepresentation(ulong networkObjectId, NetworkManager representation, ResultWrapper result, bool failIfNull = true, float timeout = DefaultTimeout) { if (result == null) @@ -781,7 +782,7 @@ public static IEnumerator GetNetworkObjectByRepresentation(ulong networkObjectId /// The representation to get the object from /// The result /// Whether or not to fail if no object is found and result is null - /// The max frames to wait for + /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout public static IEnumerator GetNetworkObjectByRepresentation(Func predicate, NetworkManager representation, ResultWrapper result, bool failIfNull = true, float timeout = DefaultTimeout) { if (result == null) @@ -817,7 +818,7 @@ public static IEnumerator GetNetworkObjectByRepresentation(FuncThe representation to get the object from /// The result /// Whether or not to fail if no object is found and result is null - /// The max frames to wait for + /// The max frames to wait for public static void GetNetworkObjectByRepresentationWithTimeTravel(Func predicate, NetworkManager representation, ResultWrapper result, bool failIfNull = true, int maxTries = 60) { if (result == null) @@ -849,8 +850,8 @@ public static void GetNetworkObjectByRepresentationWithTimeTravel(Func /// The predicate to wait for /// The result. If null, it will fail if the predicate is not met + /// Maximum time in seconds to wait for connection. Defaults to DefaultTimeout /// The min frames to wait for - /// The max frames to wait for public static IEnumerator WaitForCondition(Func predicate, ResultWrapper result = null, float timeout = DefaultTimeout, int minFrames = DefaultMinFrames) { if (predicate == null) diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkManagerHelper.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkManagerHelper.cs index 23aad063dc..03d1d807b9 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkManagerHelper.cs +++ b/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkManagerHelper.cs @@ -93,7 +93,7 @@ public static bool StartNetworkManager(out NetworkManager networkManager, Networ /// Add a GameObject with a NetworkObject component /// /// the name of the object - /// + /// A unique identifier (GUID) for the newly created GameObject public static Guid AddGameNetworkObject(string nameOfGameObject) { var gameObjectId = Guid.NewGuid(); @@ -121,7 +121,7 @@ public static Guid AddGameNetworkObject(string nameOfGameObject) /// /// NetworkBehaviour component being added to the GameObject /// ID returned to reference the game object - /// + /// The newly added component instance of type T public static T AddComponentToObject(Guid gameObjectIdentifier) where T : NetworkBehaviour { Assert.IsTrue(InstantiatedGameObjects.ContainsKey(gameObjectIdentifier)); diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkVariableHelper.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkVariableHelper.cs index ec669aeb77..cf357ea3b8 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkVariableHelper.cs +++ b/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetworkVariableHelper.cs @@ -14,7 +14,7 @@ namespace Unity.Netcode.TestHelpers.Runtime /// /// From both we can then at least determine if the value indeed changed /// - /// + /// The type of value managed by the NetworkVariable public class NetworkVariableHelper : NetworkVariableBaseHelper { private readonly NetworkVariable m_NetworkVariable; diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/TimeoutHelper.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/TimeoutHelper.cs index 1de7802444..a101873e6c 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/TimeoutHelper.cs +++ b/com.unity.netcode.gameobjects/TestHelpers/Runtime/TimeoutHelper.cs @@ -3,7 +3,7 @@ namespace Unity.Netcode.TestHelpers.Runtime { /// - /// Can be used independently or assigned to in the + /// Can be used independently or assigned to in the /// event the default timeout period needs to be adjusted /// public class TimeoutHelper diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableBaseInitializesWhenPersisted.cs b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableBaseInitializesWhenPersisted.cs index 545b30456e..7ae68bb53f 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableBaseInitializesWhenPersisted.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/NetworkVariable/NetworkVariableBaseInitializesWhenPersisted.cs @@ -253,7 +253,7 @@ public static void OneTimeSetup(int numberOfInstances, GameObject prefabInstance /// /// Invoke when s are created but not started. /// - /// + /// The instance to assign a handler to. Must not be null and must not already have a handler assigned. public static void AssignHandler(NetworkManager networkManager) { if (s_PrefabInstanceHandlers.Count > 0) @@ -290,9 +290,9 @@ public static bool ValidatePersistedInstances(NetworkManager networkManager, int /// /// Releases back to the queue and if destroy is true it will completely - /// remove all references so they are cleaned up when + /// remove all references so they are cleaned up when /// - /// + /// If true, completely removes all references and cleans up instances. If false, returns handlers to the queue for reuse. public static void ReleaseAll(bool destroy = false) { foreach (var entry in s_AssignedInstances) @@ -333,6 +333,7 @@ public void Initialize(NetworkManager networkManager) /// /// This validates that the instances persisted to the next test set and persisted /// between network sessions + /// public bool ValidateInstanceSpawnCount(int minCount) { // First pass we should have no instances diff --git a/com.unity.netcode.gameobjects/pvpExceptions.json b/pvpExceptions.json similarity index 69% rename from com.unity.netcode.gameobjects/pvpExceptions.json rename to pvpExceptions.json index 988e4d7a6d..bda7ccbfe0 100644 --- a/com.unity.netcode.gameobjects/pvpExceptions.json +++ b/pvpExceptions.json @@ -1,249 +1,20 @@ { - "exempts": { + "exempts": { "PVP-41-1": { "errors": [ "CHANGELOG.md: line 9: Unreleased section is not allowed for public release" ] }, - "PVP-150-1": { - "errors": [ - "Unity.Netcode.Components.AnticipatedNetworkTransform: in list item context (only allowed in block or inline context)", - "Unity.Netcode.Components.AnticipatedNetworkTransform: in list item context (only allowed in block or inline context)", - "Unity.Netcode.Components.AnticipatedNetworkTransform: void AnticipateMove(Vector3): empty tag", - "Unity.Netcode.Components.AnticipatedNetworkTransform: void AnticipateRotate(Quaternion): empty tag", - "Unity.Netcode.Components.AnticipatedNetworkTransform: void AnticipateScale(Vector3): empty tag", - "Unity.Netcode.Components.AnticipatedNetworkTransform: void AnticipateState(TransformState): empty tag", - "Unity.Netcode.Components.AnticipatedNetworkTransform: void Smooth(TransformState, TransformState, float): empty tag", - "Unity.Netcode.AnticipatedNetworkVariable: in list item context (only allowed in block or inline context)", - "Unity.Netcode.AnticipatedNetworkVariable: in list item context (only allowed in block or inline context)", - "Unity.Netcode.AnticipatedNetworkVariable: void Anticipate(T): empty tag", - "Unity.Netcode.AnticipatedNetworkVariable: void Smooth(in T, in T, float, AnticipatedNetworkVariable.SmoothDelegate): empty tag", - "Unity.Netcode.BufferedLinearInterpolatorVector3: XML is not well-formed: Missing closing quotation mark for string literal", - "Unity.Netcode.BufferSerializer: void SerializeValue(ref NativeArray, Allocator): unexpected ", - "Unity.Netcode.BufferSerializer: bool PreCheck(int): empty tag", - "Unity.Netcode.BufferSerializer: bool PreCheck(int): empty tag", - "Unity.Netcode.BytePacker: in block context; use instead", - "Unity.Netcode.ByteUnpacker: in block context; use instead", - "Unity.Netcode.ByteUnpacker: void ReadValuePacked(FastBufferReader, out string): empty tag", - "Unity.Netcode.FastBufferReader: in block context; use instead", - "Unity.Netcode.FastBufferReader: .ctor(NativeArray, Allocator, int, int, Allocator): in block context (only allowed in top-level context)", - "Unity.Netcode.FastBufferReader: .ctor(NativeArray, Allocator, int, int, Allocator): empty tag", - "Unity.Netcode.FastBufferReader: .ctor(byte*, Allocator, int, int, Allocator): in block context (only allowed in top-level context)", - "Unity.Netcode.FastBufferReader: .ctor(byte*, Allocator, int, int, Allocator): empty tag", - "Unity.Netcode.FastBufferReader: .ctor(FastBufferWriter, Allocator, int, int, Allocator): in block context (only allowed in top-level context)", - "Unity.Netcode.FastBufferReader: .ctor(FastBufferWriter, Allocator, int, int, Allocator): empty tag", - "Unity.Netcode.FastBufferReader: .ctor(FastBufferReader, Allocator, int, int, Allocator): in block context (only allowed in top-level context)", - "Unity.Netcode.FastBufferReader: .ctor(FastBufferReader, Allocator, int, int, Allocator): empty tag", - "Unity.Netcode.FastBufferReader: void ReadNetworkSerializable(out T): empty tag", - "Unity.Netcode.FastBufferReader: void ReadNetworkSerializable(out T): empty tag", - "Unity.Netcode.FastBufferReader: void ReadNetworkSerializable(out T[]): empty tag", - "Unity.Netcode.FastBufferReader: void ReadNetworkSerializable(out NativeArray, Allocator): empty tag", - "Unity.Netcode.FastBufferReader: void ReadNetworkSerializableInPlace(ref T): empty tag", - "Unity.Netcode.FastBufferReader: void ReadNetworkSerializableInPlace(ref T): empty tag", - "Unity.Netcode.FastBufferReader: void ReadPartialValue(out T, int, int): empty tag", - "Unity.Netcode.FastBufferReader: void ReadValueSafe(out NativeArray, Allocator): unexpected ", - "Unity.Netcode.FastBufferReader: void ReadValueSafeTemp(out NativeArray): unexpected ", - "Unity.Netcode.FastBufferWriter: in block context; use instead", - "Unity.Netcode.FastBufferWriter: bool TryBeginWriteInternal(int): empty tag", - "Unity.Netcode.FastBufferWriter: bool TryBeginWriteInternal(int): empty tag", - "Unity.Netcode.FastBufferWriter: bool TryBeginWriteInternal(int): empty tag", - "Unity.Netcode.FastBufferWriter: byte[] ToArray(): empty tag", - "Unity.Netcode.FastBufferWriter: byte* GetUnsafePtr(): empty tag", - "Unity.Netcode.FastBufferWriter: byte* GetUnsafePtrAtCurrentPosition(): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(string, bool): empty tag", - "Unity.Netcode.FastBufferWriter: void WriteNetworkSerializable(in T): empty tag", - "Unity.Netcode.FastBufferWriter: void WriteNetworkSerializable(T[], int, int): empty tag", - "Unity.Netcode.FastBufferWriter: void WriteNetworkSerializable(T[], int, int): empty tag", - "Unity.Netcode.FastBufferWriter: void WriteNetworkSerializable(NativeArray, int, int): empty tag", - "Unity.Netcode.FastBufferWriter: void WriteNetworkSerializable(NativeArray, int, int): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(T[], int, int): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(T[], int, int): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(NativeArray, int, int): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(NativeArray, int, int): empty tag", - "Unity.Netcode.FastBufferWriter: void WritePartialValue(T, int, int): empty tag", - "Unity.Netcode.FastBufferWriter: void WritePartialValue(T, int, int): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T, ForStructs): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T, ForStructs): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T, ForStructs): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(in T): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(in NativeArray): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(in NativeArray): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(in NativeArray): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(): empty tag", - "Unity.Netcode.FastBufferWriter: int GetWriteSize(): empty tag", - "Unity.Netcode.FastBufferWriter: void WriteValueSafe(in NativeArray): unexpected ", - "Unity.Netcode.ForceNetworkSerializeByMemcpy: empty tag", - "Unity.Netcode.GenerateSerializationForGenericParameterAttribute: tag inside ", - "Unity.Netcode.GenerateSerializationForGenericParameterAttribute: mixed block and inline content in ; wrap inline content in ", - "Unity.Netcode.Components.HalfVector3: .ctor(Vector3, bool3): unexpected ", - "Unity.Netcode.InvalidParentException: .ctor(string): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.InvalidParentException: .ctor(string): empty tag", - "Unity.Netcode.InvalidParentException: .ctor(string, Exception): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.InvalidParentException: .ctor(string, Exception): empty tag", - "Unity.Netcode.IReaderWriter: void SerializeValue(ref NativeArray, Allocator): unexpected ", - "Unity.Netcode.IReaderWriter: bool PreCheck(int): empty tag", - "Unity.Netcode.IReaderWriter: bool PreCheck(int): empty tag", - "Unity.Netcode.Editor.NetcodeEditorBase: void OnEnable(): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void VerboseDebug(string): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void CreateServerAndClients(int): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: .ctor(HostOrServer): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void TimeTravel(double, int): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool CreateNewClients(int, out NetworkManager[], bool): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void StopOneClient(NetworkManager, bool): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void StartOneClient(NetworkManager): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool Start(bool, NetworkManager, NetworkManager[], BeforeClientStartCallback, bool): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnected(NetworkManager, ResultWrapper, float): unexpected ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnected(NetworkManager[], ResultWrapper, float): unexpected ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnected(NetworkManager[], ResultWrapper, float): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnectedToServer(NetworkManager, ResultWrapper, float): unexpected ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnectedToServer(NetworkManager, int, ResultWrapper, float): unexpected ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(ulong, NetworkManager, ResultWrapper, bool, float): unexpected ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(Func, NetworkManager, ResultWrapper, bool, float): unexpected ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void GetNetworkObjectByRepresentationWithTimeTravel(Func, NetworkManager, ResultWrapper, bool, int): unexpected ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForCondition(Func, ResultWrapper, float, int): unexpected ", - "Unity.Netcode.NetworkBehaviour: NetworkObject: text or XML content outside a top-level tag", - "Unity.Netcode.NetworkBehaviour: void OnGainedOwnership(): mixed block and inline content in ; wrap inline content in ", - "Unity.Netcode.NetworkBehaviour: void OnLostOwnership(): mixed block and inline content in ; wrap inline content in ", - "Unity.Netcode.NetworkBehaviour: NetworkObject GetNetworkObject(ulong): empty tag", - "Unity.Netcode.NetworkBehaviour: NetworkObject GetNetworkObject(ulong): empty tag", - "Unity.Netcode.NetworkBehaviour: void OnSynchronize(ref BufferSerializer): unexpected ", - "Unity.Netcode.NetworkBehaviourReference: .ctor(NetworkBehaviour): empty tag", - "Unity.Netcode.NetworkConfig: string ToBase64(): empty tag", - "Unity.Netcode.NetworkConfig: ulong GetConfig(bool): empty tag", - "Unity.Netcode.NetworkConfig: ulong GetConfig(bool): empty tag", - "Unity.Netcode.NetworkConfig: bool CompareConfig(ulong): empty tag", - "Unity.Netcode.NetworkConfig: bool CompareConfig(ulong): empty tag", - "Unity.Netcode.NetworkList: .ctor(IEnumerable, NetworkVariableReadPermission, NetworkVariableWritePermission): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkList: .ctor(IEnumerable, NetworkVariableReadPermission, NetworkVariableWritePermission): empty tag", - "Unity.Netcode.NetworkList: IEnumerator GetEnumerator(): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkList: void Add(T): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkList: void Clear(): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkList: bool Contains(T): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkList: bool Remove(T): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkList: Count: cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkList: int IndexOf(T): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkList: void Insert(int, T): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkList: void RemoveAt(int): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkList: this[int]: cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkManager: OnServerStopped: unexpected ", - "Unity.Netcode.NetworkManager: OnClientStopped: unexpected ", - "Unity.Netcode.NetworkManager: void AddNetworkPrefab(GameObject): empty tag", - "Unity.Netcode.NetworkManager: void AddNetworkPrefab(GameObject): empty tag", - "Unity.Netcode.NetworkManager: void RemoveNetworkPrefab(GameObject): empty tag", - "Unity.Netcode.NetworkManager: MaximumTransmissionUnitSize: empty tag", - "Unity.Netcode.NetworkManager: MaximumTransmissionUnitSize: unexpected ", - "Unity.Netcode.NetworkManager: void SetPeerMTU(ulong, int): empty tag", - "Unity.Netcode.NetworkManager: int GetPeerMTU(ulong): empty tag", - "Unity.Netcode.NetworkManager: int GetPeerMTU(ulong): empty tag", - "Unity.Netcode.NetworkManager: MaximumFragmentedMessageSize: empty tag", - "Unity.Netcode.NetworkManager: MaximumFragmentedMessageSize: unexpected ", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: Guid AddGameNetworkObject(string): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: T AddComponentToObject(Guid): empty tag", - "Unity.Netcode.NetworkObject: NetworkTransforms: must use self-closing syntax", - "Unity.Netcode.NetworkObject: bool TryRemoveParent(bool): empty tag", - "Unity.Netcode.NetworkObject.OnOwnershipPermissionsFailureDelegateHandler: empty tag", - "Unity.Netcode.NetworkObject.OnOwnershipRequestedDelegateHandler: empty tag", - "Unity.Netcode.NetworkObject.OnOwnershipRequestedDelegateHandler: empty tag", - "Unity.Netcode.NetworkObject.OnOwnershipRequestResponseDelegateHandler: empty tag", - "Unity.Netcode.NetworkObjectReference: .ctor(NetworkObject): empty tag", - "Unity.Netcode.NetworkObjectReference: .ctor(GameObject): empty tag", - "Unity.Netcode.INetworkPrefabInstanceHandler: NetworkObject Instantiate(ulong, Vector3, Quaternion): empty tag", - "Unity.Netcode.NetworkPrefabHandler: bool AddHandler(NetworkObject, INetworkPrefabInstanceHandler): empty tag", - "Unity.Netcode.NetworkPrefabHandler: bool AddHandler(uint, INetworkPrefabInstanceHandler): empty tag", - "Unity.Netcode.NetworkPrefabHandler: void AddNetworkPrefab(GameObject): empty tag", - "Unity.Netcode.NetworkPrefabHandler: void AddNetworkPrefab(GameObject): empty tag", - "Unity.Netcode.NetworkPrefabHandler: void RemoveNetworkPrefab(GameObject): empty tag", - "Unity.Netcode.NetworkPrefabsList: void Add(NetworkPrefab): empty tag", - "Unity.Netcode.NetworkPrefabsList: void Remove(NetworkPrefab): empty tag", - "Unity.Netcode.SceneEvent: in block context; use instead", - "Unity.Netcode.NetworkSceneManager: SceneEventProgressStatus UnloadScene(Scene): empty tag", - "Unity.Netcode.NetworkSceneManager.SceneEventDelegate: in block context; use instead", - "Unity.Netcode.NetworkSceneManager.SceneEventDelegate: empty tag", - "Unity.Netcode.NetworkSceneManager.OnLoadDelegateHandler: in block context; use instead", - "Unity.Netcode.NetworkSceneManager.OnUnloadDelegateHandler: in block context; use instead", - "Unity.Netcode.NetworkSceneManager.OnSynchronizeDelegateHandler: in block context; use instead", - "Unity.Netcode.NetworkSceneManager.OnEventCompletedDelegateHandler: in block context; use instead", - "Unity.Netcode.NetworkSceneManager.OnLoadCompleteDelegateHandler: in block context; use instead", - "Unity.Netcode.NetworkSceneManager.OnUnloadCompleteDelegateHandler: in block context; use instead", - "Unity.Netcode.NetworkSceneManager.OnSynchronizeCompleteDelegateHandler: in block context; use instead", - "Unity.Netcode.NetworkTime: NetworkTime TimeTicksAgo(int, float): empty tag", - "Unity.Netcode.NetworkTimeSystem: bool Advance(double): empty tag", - "Unity.Netcode.Components.NetworkTransform: void OnSynchronize(ref BufferSerializer): empty tag", - "Unity.Netcode.Components.NetworkTransform: void OnSynchronize(ref BufferSerializer): empty tag", - "Unity.Netcode.Components.NetworkTransform: void OnSynchronize(ref BufferSerializer): unexpected ", - "Unity.Netcode.Components.NetworkTransform: void OnInitialize(ref NetworkVariable): empty tag", - "Unity.Netcode.Components.NetworkTransform: void SetState(Vector3?, Quaternion?, Vector3?, bool): empty tag", - "Unity.Netcode.Components.NetworkTransform: void SetState(Vector3?, Quaternion?, Vector3?, bool): empty tag", - "Unity.Netcode.Components.NetworkTransform: void SetState(Vector3?, Quaternion?, Vector3?, bool): text or XML content outside a top-level tag", - "Unity.Netcode.Components.NetworkTransform: void Teleport(Vector3, Quaternion, Vector3): empty tag", - "Unity.Netcode.Components.NetworkTransform: void Teleport(Vector3, Quaternion, Vector3): empty tag", - "Unity.Netcode.Components.NetworkTransform: void Teleport(Vector3, Quaternion, Vector3): text or XML content outside a top-level tag", - "Unity.Netcode.Components.NetworkTransform: void OnUpdate(): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", - "Unity.Netcode.NetworkTransport: in block context; use instead", - "Unity.Netcode.NetworkTransport: void Initialize(NetworkManager): suspicious '///' triple-slash inside XmlDoc comment", - "Unity.Netcode.NetworkTransport: void Initialize(NetworkManager): text or XML content outside a top-level tag", - "Unity.Netcode.NetworkTransport: void OnEarlyUpdate(): XML is not well-formed: End tag was not expected at this location", - "Unity.Netcode.NetworkVariable: bool CheckDirtyState(bool): in block context (only allowed in top-level context)", - "Unity.Netcode.NetworkVariable: bool CheckDirtyState(bool): empty tag", - "Unity.Netcode.NetworkVariableBase: void SetUpdateTraits(NetworkVariableUpdateTraits): empty tag", - "Unity.Netcode.NetworkVariableBase: bool ExceedsDirtinessThreshold(): empty tag", - "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: empty tag", - "Unity.Netcode.NetworkVariableSerialization: void Write(FastBufferWriter, ref T): empty tag", - "Unity.Netcode.NetworkVariableSerialization: void Read(FastBufferReader, ref T): empty tag", - "Unity.Netcode.NetworkVariableSerialization: void WriteDelta(FastBufferWriter, ref T, ref T): empty tag", - "Unity.Netcode.NetworkVariableSerialization: void ReadDelta(FastBufferReader, ref T): empty tag", - "Unity.Netcode.NetworkVariableSerialization: void Duplicate(in T, ref T): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Single(ulong, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Single(ulong, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(ulong, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(ulong, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Group(NativeArray, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Group(NativeArray, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Group(NativeList, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Group(NativeList, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Group(ulong[], RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Group(ulong[], RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Group(T, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Group(T, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(NativeArray, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(NativeArray, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(NativeList, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(NativeList, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(ulong[], RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(ulong[], RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(T, RpcTargetUse): empty tag", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(T, RpcTargetUse): empty tag", - "Unity.Netcode.SceneEventType: in block context; use instead", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: must use self-closing syntax", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_UnmanagedByMemcpy(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_UnmanagedByMemcpyArray(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_List(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_HashSet(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_Dictionary(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_Dictionary(): unexpected ", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_UnmanagedINetworkSerializable(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_UnmanagedINetworkSerializableArray(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_ManagedINetworkSerializable(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_FixedString(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_FixedStringArray(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_ManagedIEquatable(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_UnmanagedIEquatable(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_UnmanagedIEquatableArray(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_List(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_HashSet(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_Dictionary(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_Dictionary(): unexpected ", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_UnmanagedValueEquals(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_UnmanagedValueEqualsArray(): empty tag", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_ManagedClassEquals(): empty tag", - "Unity.Netcode.UserNetworkVariableSerialization: empty tag", - "Unity.Netcode.UserNetworkVariableSerialization.DuplicateValueDelegate: unexpected " - ] - }, "PVP-151-1": { "errors": [ + "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: undocumented", + "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: NetworkPrefabsPath: undocumented", + "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: TempNetworkPrefabsPath: undocumented", + "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: GenerateDefaultNetworkPrefabs: undocumented", + "Unity.Netcode.Editor.Configuration.NetworkPrefabProcessor: DefaultNetworkPrefabsPath: undocumented", + "Unity.Netcode.Editor.NetworkPrefabsEditor: undocumented", + "Unity.Netcode.Editor.NetworkPrefabsEditor: void OnInspectorGUI(): undocumented", + "Unity.Netcode.Editor.NetcodeEditorBase: missing ", "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnUpdate(): undocumented", "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnNetworkSpawn(): undocumented", "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnNetworkDespawn(): undocumented", @@ -255,6 +26,123 @@ "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: Position: undocumented", "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: Rotation: undocumented", "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: Scale: undocumented", + "Unity.Netcode.Components.HalfVector3: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.HalfVector3: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.HalfVector4: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.HalfVector4: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.BufferedLinearInterpolator: m_InterpStartValue: undocumented", + "Unity.Netcode.BufferedLinearInterpolator: m_CurrentInterpValue: undocumented", + "Unity.Netcode.BufferedLinearInterpolator: m_InterpEndValue: undocumented", + "Unity.Netcode.BufferedLinearInterpolator: m_Buffer: undocumented", + "Unity.Netcode.BufferedLinearInterpolator: void OnConvertTransformSpace(Transform, bool): undocumented", + "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: undocumented", + "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: Item: undocumented", + "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: TimeSent: undocumented", + "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: .ctor(T, double): undocumented", + "Unity.Netcode.BufferedLinearInterpolatorQuaternion: void OnConvertTransformSpace(Transform, bool): undocumented", + "Unity.Netcode.BufferedLinearInterpolatorVector3: void OnConvertTransformSpace(Transform, bool): undocumented", + "Unity.Netcode.Components.NetworkDeltaPosition: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.NetworkDeltaPosition: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.NetworkDeltaPosition: Vector3 GetConvertedDelta(): missing ", + "Unity.Netcode.Components.NetworkDeltaPosition: Vector3 GetDeltaPosition(): missing ", + "Unity.Netcode.Components.NetworkTransform: AuthorityMode: undocumented", + "Unity.Netcode.Components.NetworkTransform: PositionInLocalSpace: undocumented", + "Unity.Netcode.Components.NetworkTransform: RotationInLocalSpace: undocumented", + "Unity.Netcode.Components.NetworkTransform: void OnTransformUpdated(): undocumented", + "Unity.Netcode.Components.NetworkTransform: void OnBeforeUpdateTransformState(): undocumented", + "Unity.Netcode.Components.NetworkTransform: void OnOwnershipChanged(ulong, ulong): undocumented", + "Unity.Netcode.Components.NetworkTransform: float GetTickLatency(): missing ", + "Unity.Netcode.Components.NetworkTransform: float GetTickLatencyInSeconds(): missing ", + "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: bool IsUnreliableFrameSync(): missing ", + "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: bool IsReliableStateUpdate(): missing ", + "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.NetworkTransform.AuthorityModes: undocumented", + "Unity.Netcode.Components.NetworkTransform.AuthorityModes: Server: undocumented", + "Unity.Netcode.Components.NetworkTransform.AuthorityModes: Owner: undocumented", + "Unity.Netcode.NetworkConfig: Prefabs: undocumented", + "Unity.Netcode.NetworkConfig: NetworkTopology: undocumented", + "Unity.Netcode.NetworkConfig: UseCMBService: undocumented", + "Unity.Netcode.NetworkConfig: AutoSpawnPlayerPrefabClientSide: undocumented", + "Unity.Netcode.NetworkPrefab: bool Equals(NetworkPrefab): undocumented", + "Unity.Netcode.NetworkPrefab: SourcePrefabGlobalObjectIdHash: undocumented", + "Unity.Netcode.NetworkPrefab: TargetPrefabGlobalObjectIdHash: undocumented", + "Unity.Netcode.NetworkPrefab: bool Validate(int): undocumented", + "Unity.Netcode.NetworkPrefab: string ToString(): undocumented", + "Unity.Netcode.NetworkPrefabs: Prefabs: undocumented", + "Unity.Netcode.NetworkPrefabs: void Finalize(): undocumented", + "Unity.Netcode.NetworkPrefabs: void Initialize(bool): missing ", + "Unity.Netcode.NetworkPrefabs: bool Add(NetworkPrefab): missing ", + "Unity.Netcode.NetworkPrefabs: bool Add(NetworkPrefab): missing ", + "Unity.Netcode.NetworkPrefabs: void Remove(NetworkPrefab): missing ", + "Unity.Netcode.NetworkPrefabs: void Remove(GameObject): missing ", + "Unity.Netcode.NetworkClient: NetworkTopologyType: undocumented", + "Unity.Netcode.NetworkClient: DAHost: undocumented", + "Unity.Netcode.ConnectionEventData: EventType: undocumented", + "Unity.Netcode.RpcException: undocumented", + "Unity.Netcode.RpcException: .ctor(string): undocumented", + "Unity.Netcode.NetworkBehaviour: void InternalOnNetworkPostSpawn(): undocumented", + "Unity.Netcode.NetworkBehaviour: void InternalOnNetworkSessionSynchronized(): undocumented", + "Unity.Netcode.NetworkBehaviour: void OnReanticipate(double): undocumented", + "Unity.Netcode.NetworkManager: CurrentSessionOwner: undocumented", + "Unity.Netcode.NetworkManager: void NetworkUpdate(NetworkUpdateStage): undocumented", + "Unity.Netcode.NetworkManager.ReanticipateDelegate: undocumented", + "Unity.Netcode.NetworkObject: void SetSceneObjectStatus(bool): undocumented", + "Unity.Netcode.NetworkObject: ushort GetNetworkBehaviourOrderIndex(NetworkBehaviour): undocumented", + "Unity.Netcode.NetworkObject.OwnershipStatus: None: undocumented", + "Unity.Netcode.NetworkObject.OwnershipStatus: Distributable: undocumented", + "Unity.Netcode.NetworkObject.OwnershipStatus: Transferable: undocumented", + "Unity.Netcode.NetworkObject.OwnershipStatus: RequestRequired: undocumented", + "Unity.Netcode.NetworkObject.OwnershipStatus: SessionOwner: undocumented", + "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: Locked: undocumented", + "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: RequestRequired: undocumented", + "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: RequestInProgress: undocumented", + "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: NotTransferrable: undocumented", + "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: SessionOwnerOnly: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: RequestSent: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: AlreadyOwner: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: RequestRequiredNotSet: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: Locked: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: RequestInProgress: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestStatus: SessionOwnerOnly: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: Approved: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: Locked: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: RequestInProgress: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: CannotRequest: undocumented", + "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: Denied: undocumented", + "Unity.Netcode.NetworkObject.OwnershipLockActions: None: undocumented", + "Unity.Netcode.NetworkObject.OwnershipLockActions: SetAndLock: undocumented", + "Unity.Netcode.NetworkObject.OwnershipLockActions: SetAndUnlock: undocumented", + "Unity.Netcode.NetworkObject.VisibilityDelegate: missing ", + "Unity.Netcode.NetworkObject.SpawnDelegate: missing ", + "Unity.Netcode.CustomMessagingManager.HandleNamedMessageDelegate: missing ", + "Unity.Netcode.CustomMessagingManager.HandleNamedMessageDelegate: missing ", + "Unity.Netcode.GenerateSerializationForGenericParameterAttribute: .ctor(int): undocumented", + "Unity.Netcode.GenerateSerializationForTypeAttribute: .ctor(Type): undocumented", + "Unity.Netcode.RpcAttribute: RequireOwnership: undocumented", + "Unity.Netcode.RpcAttribute: DeferLocal: undocumented", + "Unity.Netcode.RpcAttribute: AllowTargetOverride: undocumented", + "Unity.Netcode.RpcAttribute: .ctor(SendTo): undocumented", + "Unity.Netcode.RpcAttribute.RpcAttributeParams: undocumented", + "Unity.Netcode.RpcAttribute.RpcAttributeParams: Delivery: undocumented", + "Unity.Netcode.RpcAttribute.RpcAttributeParams: RequireOwnership: undocumented", + "Unity.Netcode.RpcAttribute.RpcAttributeParams: DeferLocal: undocumented", + "Unity.Netcode.RpcAttribute.RpcAttributeParams: AllowTargetOverride: undocumented", + "Unity.Netcode.ServerRpcAttribute: RequireOwnership: undocumented", + "Unity.Netcode.ServerRpcAttribute: .ctor(): undocumented", + "Unity.Netcode.ClientRpcAttribute: .ctor(): undocumented", + "Unity.Netcode.LocalDeferMode: undocumented", + "Unity.Netcode.LocalDeferMode: Default: undocumented", + "Unity.Netcode.LocalDeferMode: Defer: undocumented", + "Unity.Netcode.LocalDeferMode: SendImmediate: undocumented", + "Unity.Netcode.RpcSendParams: Target: undocumented", + "Unity.Netcode.RpcSendParams: LocalDeferMode: undocumented", + "Unity.Netcode.RpcSendParams: RpcSendParams op_Implicit(BaseRpcTarget): undocumented", + "Unity.Netcode.RpcSendParams: RpcSendParams op_Implicit(LocalDeferMode): undocumented", + "Unity.Netcode.RpcParams: RpcParams op_Implicit(RpcSendParams): undocumented", + "Unity.Netcode.RpcParams: RpcParams op_Implicit(BaseRpcTarget): undocumented", + "Unity.Netcode.RpcParams: RpcParams op_Implicit(LocalDeferMode): undocumented", + "Unity.Netcode.RpcParams: RpcParams op_Implicit(RpcReceiveParams): undocumented", "Unity.Netcode.StaleDataHandling: undocumented", "Unity.Netcode.StaleDataHandling: Ignore: undocumented", "Unity.Netcode.StaleDataHandling: Reanticipate: undocumented", @@ -275,22 +163,37 @@ "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", - "Unity.Netcode.BaseRpcTarget: undocumented", - "Unity.Netcode.BaseRpcTarget: m_NetworkManager: undocumented", - "Unity.Netcode.BaseRpcTarget: void CheckLockBeforeDispose(): undocumented", - "Unity.Netcode.BaseRpcTarget: void Dispose(): undocumented", - "Unity.Netcode.BufferedLinearInterpolator: m_InterpStartValue: undocumented", - "Unity.Netcode.BufferedLinearInterpolator: m_CurrentInterpValue: undocumented", - "Unity.Netcode.BufferedLinearInterpolator: m_InterpEndValue: undocumented", - "Unity.Netcode.BufferedLinearInterpolator: m_Buffer: undocumented", - "Unity.Netcode.BufferedLinearInterpolator: void OnConvertTransformSpace(Transform, bool): undocumented", - "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: undocumented", - "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: Item: undocumented", - "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: TimeSent: undocumented", - "Unity.Netcode.BufferedLinearInterpolator.BufferedItem: .ctor(T, double): undocumented", - "Unity.Netcode.BufferedLinearInterpolatorQuaternion: void OnConvertTransformSpace(Transform, bool): undocumented", - "Unity.Netcode.BufferedLinearInterpolatorVector3: XML is not well-formed: Missing closing quotation mark for string literal", - "Unity.Netcode.BufferedLinearInterpolatorVector3: void OnConvertTransformSpace(Transform, bool): undocumented", + "Unity.Netcode.NetworkList: void Finalize(): undocumented", + "Unity.Netcode.NetworkVariable: CheckExceedsDirtinessThreshold: undocumented", + "Unity.Netcode.NetworkVariable: bool ExceedsDirtinessThreshold(): undocumented", + "Unity.Netcode.NetworkVariable: void OnInitialize(): undocumented", + "Unity.Netcode.NetworkVariable: bool CheckDirtyState(bool): missing ", + "Unity.Netcode.NetworkVariable: void Dispose(): undocumented", + "Unity.Netcode.NetworkVariable: void Finalize(): undocumented", + "Unity.Netcode.NetworkVariable.CheckExceedsDirtinessThresholdDelegate: undocumented", + "Unity.Netcode.NetworkVariableUpdateTraits: undocumented", + "Unity.Netcode.NetworkVariableUpdateTraits: MinSecondsBetweenUpdates: undocumented", + "Unity.Netcode.NetworkVariableUpdateTraits: MaxSecondsBetweenUpdates: undocumented", + "Unity.Netcode.NetworkVariableBase: NetworkBehaviour GetBehaviour(): undocumented", + "Unity.Netcode.NetworkVariableBase: void MarkNetworkBehaviourDirty(): undocumented", + "Unity.Netcode.NetworkVariableSerialization.EqualsDelegate: missing ", + "Unity.Netcode.NetworkVariableSerialization.EqualsDelegate: missing ", + "Unity.Netcode.NetworkVariableSerialization.EqualsDelegate: missing ", + "Unity.Netcode.UserNetworkVariableSerialization.WriteDeltaDelegate: missing ", + "Unity.Netcode.UserNetworkVariableSerialization.DuplicateValueDelegate: missing ", + "Unity.Netcode.NetworkSpawnManager: void Finalize(): undocumented", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void RegisterAndLabelNetworkObject(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void DeRegisterNetworkObject(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnLostOwnership(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnGainedOwnership(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnDestroy(): undocumented", "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: TimedOut: undocumented", "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: bool OnHasConditionBeenReached(): undocumented", "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: bool HasConditionBeenReached(): undocumented", @@ -301,21 +204,6 @@ "Unity.Netcode.TestHelpers.Runtime.IConditionalPredicate: undocumented", "Unity.Netcode.TestHelpers.Runtime.IConditionalPredicate: bool HasConditionBeenReached(): missing ", "Unity.Netcode.TestHelpers.Runtime.IConditionalPredicate: void Finished(bool): missing ", - "Unity.Netcode.CustomMessagingManager.HandleNamedMessageDelegate: missing ", - "Unity.Netcode.CustomMessagingManager.HandleNamedMessageDelegate: missing ", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: NumberOfClients: undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: .ctor(HostOrServer, bool): undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: void OnServerAndClientsCreated(): undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: void OnNewClientCreated(NetworkManager): undocumented", - "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: IEnumerator HiddenObjectPromotedSessionOwnerNewClientSynchronizes(): missing ", - "Unity.Netcode.GenerateSerializationForGenericParameterAttribute: .ctor(int): undocumented", - "Unity.Netcode.GenerateSerializationForTypeAttribute: .ctor(Type): undocumented", - "Unity.Netcode.Components.HalfVector3: void NetworkSerialize(BufferSerializer): missing ", - "Unity.Netcode.Components.HalfVector3: void NetworkSerialize(BufferSerializer): missing ", - "Unity.Netcode.Components.HalfVector3: .ctor(Vector3, bool3): missing ", - "Unity.Netcode.Components.HalfVector4: void NetworkSerialize(BufferSerializer): missing ", - "Unity.Netcode.Components.HalfVector4: void NetworkSerialize(BufferSerializer): missing ", "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: undocumented", "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: string GetVector3Values(ref Vector3): undocumented", "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: string GetVector3Values(Vector3): undocumented", @@ -333,8 +221,6 @@ "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(NetworkTopologyTypes): undocumented", "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(HostOrServer): undocumented", "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: .ctor(): undocumented", - "Unity.Netcode.InvalidParentException: .ctor(string): missing ", - "Unity.Netcode.InvalidParentException: .ctor(string, Exception): missing ", "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: undocumented", "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: AllMessagesReceived: undocumented", "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: NumberOfMessagesReceived: undocumented", @@ -350,6 +236,11 @@ "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: m_NetworkManager: undocumented", "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: void Initialize(): undocumented", "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: .ctor(NetworkManager, ReceiptType): undocumented", + "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: undocumented", + "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: OnServerRpcAction: undocumented", + "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: OnClientRpcAction: undocumented", + "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: void MyServerRpc(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: void MyClientRpc(ClientRpcParams): undocumented", "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: undocumented", "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: RealTimeSinceStartup: undocumented", "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: UnscaledTime: undocumented", @@ -362,12 +253,6 @@ "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticDeltaTime: undocumented", "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: void TimeTravel(double): undocumented", "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: void Reset(): undocumented", - "Unity.Netcode.Editor.NetcodeEditorBase: missing ", - "Unity.Netcode.Editor.NetcodeEditorBase: void OnEnable(): missing ", - "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: undocumented", - "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: NetworkPrefabsPath: undocumented", - "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: TempNetworkPrefabsPath: undocumented", - "Unity.Netcode.Editor.Configuration.NetcodeForGameObjectsProjectSettings: GenerateDefaultNetworkPrefabs: undocumented", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: k_TickFrequency: undocumented", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: s_GlobalTimeoutHelper: undocumented", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: s_DefaultWaitForTick: undocumented", @@ -482,29 +367,20 @@ "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: NetworkManager CreateServer(bool): undocumented", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool Create(int, out NetworkManager, out NetworkManager[], int, bool, bool): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool Create(int, out NetworkManager, out NetworkManager[], int, bool, bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool CreateNewClients(int, out NetworkManager[], bool): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool CreateNewClients(int, out NetworkManager[], bool): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void StopOneClient(NetworkManager, bool): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: bool Start(bool, NetworkManager, NetworkManager[], BeforeClientStartCallback, bool): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: uint GetNextGlobalIdHashValue(): undocumented", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IsNetcodeIntegrationTestRunning: undocumented", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void RegisterNetcodeIntegrationTest(bool): undocumented", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: GameObject CreateNetworkObjectPrefab(string, NetworkManager, params NetworkManager[]): undocumented", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void MarkAsSceneObjectRoot(GameObject, NetworkManager, NetworkManager[]): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnected(NetworkManager, ResultWrapper, float): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnected(NetworkManager, ResultWrapper, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnected(NetworkManager[], ResultWrapper, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnectedToServer(NetworkManager, ResultWrapper, float): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnected(NetworkManager[], ResultWrapper, float): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnectedToServer(NetworkManager, ResultWrapper, float): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnectedToServer(NetworkManager, int, ResultWrapper, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnectedToServer(NetworkManager, int, ResultWrapper, float): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnectedToServer(NetworkManager, int, ResultWrapper, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(ulong, NetworkManager, ResultWrapper, bool, float): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(ulong, NetworkManager, ResultWrapper, bool, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(Func, NetworkManager, ResultWrapper, bool, float): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator GetNetworkObjectByRepresentation(Func, NetworkManager, ResultWrapper, bool, float): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void GetNetworkObjectByRepresentationWithTimeTravel(Func, NetworkManager, ResultWrapper, bool, int): missing ", - "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForCondition(Func, ResultWrapper, float, int): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForCondition(Func, ResultWrapper, float, int): missing ", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: uint GetGlobalObjectIdHash(NetworkObject): undocumented", "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.MessageHandleCheck: undocumented", @@ -522,49 +398,6 @@ "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasReceived(LogType, Regex): undocumented", "Unity.Netcode.RuntimeTests.NetcodeLogAssert: bool HasLogBeenReceived(LogType, string): undocumented", "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void Reset(): undocumented", - "Unity.Netcode.RpcException: undocumented", - "Unity.Netcode.RpcException: .ctor(string): undocumented", - "Unity.Netcode.NetworkBehaviour: void InternalOnNetworkPostSpawn(): undocumented", - "Unity.Netcode.NetworkBehaviour: void InternalOnNetworkSessionSynchronized(): undocumented", - "Unity.Netcode.NetworkBehaviour: void OnReanticipate(double): undocumented", - "Unity.Netcode.NetworkClient: NetworkTopologyType: undocumented", - "Unity.Netcode.NetworkClient: DAHost: undocumented", - "Unity.Netcode.NetworkConfig: Prefabs: undocumented", - "Unity.Netcode.NetworkConfig: NetworkTopology: undocumented", - "Unity.Netcode.NetworkConfig: UseCMBService: undocumented", - "Unity.Netcode.NetworkConfig: AutoSpawnPlayerPrefabClientSide: undocumented", - "Unity.Netcode.ConnectionEventData: EventType: undocumented", - "Unity.Netcode.Components.NetworkDeltaPosition: void NetworkSerialize(BufferSerializer): missing ", - "Unity.Netcode.Components.NetworkDeltaPosition: void NetworkSerialize(BufferSerializer): missing ", - "Unity.Netcode.Components.NetworkDeltaPosition: Vector3 GetConvertedDelta(): missing ", - "Unity.Netcode.Components.NetworkDeltaPosition: Vector3 GetDeltaPosition(): missing ", - "Unity.Netcode.NetworkList: .ctor(IEnumerable, NetworkVariableReadPermission, NetworkVariableWritePermission): missing ", - "Unity.Netcode.NetworkList: void Finalize(): undocumented", - "Unity.Netcode.NetworkList: IEnumerator GetEnumerator(): missing ", - "Unity.Netcode.NetworkList: IEnumerator GetEnumerator(): missing ", - "Unity.Netcode.NetworkList: void Add(T): missing ", - "Unity.Netcode.NetworkList: void Add(T): missing ", - "Unity.Netcode.NetworkList: void Clear(): missing ", - "Unity.Netcode.NetworkList: bool Contains(T): missing ", - "Unity.Netcode.NetworkList: bool Contains(T): missing ", - "Unity.Netcode.NetworkList: bool Contains(T): missing ", - "Unity.Netcode.NetworkList: bool Remove(T): missing ", - "Unity.Netcode.NetworkList: bool Remove(T): missing ", - "Unity.Netcode.NetworkList: bool Remove(T): missing ", - "Unity.Netcode.NetworkList: Count: missing ", - "Unity.Netcode.NetworkList: int IndexOf(T): missing ", - "Unity.Netcode.NetworkList: int IndexOf(T): missing ", - "Unity.Netcode.NetworkList: int IndexOf(T): missing ", - "Unity.Netcode.NetworkList: void Insert(int, T): missing ", - "Unity.Netcode.NetworkList: void Insert(int, T): missing ", - "Unity.Netcode.NetworkList: void Insert(int, T): missing ", - "Unity.Netcode.NetworkList: void RemoveAt(int): missing ", - "Unity.Netcode.NetworkList: void RemoveAt(int): missing ", - "Unity.Netcode.NetworkList: this[int]: missing ", - "Unity.Netcode.NetworkList: this[int]: missing ", - "Unity.Netcode.NetworkManager: CurrentSessionOwner: undocumented", - "Unity.Netcode.NetworkManager: void NetworkUpdate(NetworkUpdateStage): undocumented", - "Unity.Netcode.NetworkManager.ReanticipateDelegate: undocumented", "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: NetworkManagerObject: undocumented", "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: NetworkManagerGameObject: undocumented", "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: InstantiatedGameObjects: undocumented", @@ -577,102 +410,66 @@ "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: Host: undocumented", "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: Server: undocumented", "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: Client: undocumented", - "Unity.Netcode.NetworkObject: void SetSceneObjectStatus(bool): undocumented", - "Unity.Netcode.NetworkObject: ushort GetNetworkBehaviourOrderIndex(NetworkBehaviour): undocumented", - "Unity.Netcode.NetworkObject.OwnershipStatus: None: undocumented", - "Unity.Netcode.NetworkObject.OwnershipStatus: Distributable: undocumented", - "Unity.Netcode.NetworkObject.OwnershipStatus: Transferable: undocumented", - "Unity.Netcode.NetworkObject.OwnershipStatus: RequestRequired: undocumented", - "Unity.Netcode.NetworkObject.OwnershipStatus: SessionOwner: undocumented", - "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: Locked: undocumented", - "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: RequestRequired: undocumented", - "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: RequestInProgress: undocumented", - "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: NotTransferrable: undocumented", - "Unity.Netcode.NetworkObject.OwnershipPermissionsFailureStatus: SessionOwnerOnly: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestStatus: RequestSent: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestStatus: AlreadyOwner: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestStatus: RequestRequiredNotSet: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestStatus: Locked: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestStatus: RequestInProgress: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestStatus: SessionOwnerOnly: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: Approved: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: Locked: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: RequestInProgress: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: CannotRequest: undocumented", - "Unity.Netcode.NetworkObject.OwnershipRequestResponseStatus: Denied: undocumented", - "Unity.Netcode.NetworkObject.OwnershipLockActions: None: undocumented", - "Unity.Netcode.NetworkObject.OwnershipLockActions: SetAndLock: undocumented", - "Unity.Netcode.NetworkObject.OwnershipLockActions: SetAndUnlock: undocumented", - "Unity.Netcode.NetworkObject.VisibilityDelegate: missing ", - "Unity.Netcode.NetworkObject.SpawnDelegate: missing ", - "Unity.Netcode.NetworkPrefab: bool Equals(NetworkPrefab): undocumented", - "Unity.Netcode.NetworkPrefab: SourcePrefabGlobalObjectIdHash: undocumented", - "Unity.Netcode.NetworkPrefab: TargetPrefabGlobalObjectIdHash: undocumented", - "Unity.Netcode.NetworkPrefab: bool Validate(int): undocumented", - "Unity.Netcode.NetworkPrefab: string ToString(): undocumented", - "Unity.Netcode.Editor.Configuration.NetworkPrefabProcessor: DefaultNetworkPrefabsPath: undocumented", - "Unity.Netcode.NetworkPrefabs: Prefabs: undocumented", - "Unity.Netcode.NetworkPrefabs: void Finalize(): undocumented", - "Unity.Netcode.NetworkPrefabs: void Initialize(bool): missing ", - "Unity.Netcode.NetworkPrefabs: bool Add(NetworkPrefab): missing ", - "Unity.Netcode.NetworkPrefabs: bool Add(NetworkPrefab): missing ", - "Unity.Netcode.NetworkPrefabs: void Remove(NetworkPrefab): missing ", - "Unity.Netcode.NetworkPrefabs: void Remove(GameObject): missing ", - "Unity.Netcode.Editor.NetworkPrefabsEditor: undocumented", - "Unity.Netcode.Editor.NetworkPrefabsEditor: void OnInspectorGUI(): undocumented", - "Unity.Netcode.NetworkSceneManager: List GetSceneMapping(MapTypes): undocumented", - "Unity.Netcode.NetworkSceneManager.MapTypes: undocumented", - "Unity.Netcode.NetworkSceneManager.MapTypes: ServerToClient: undocumented", - "Unity.Netcode.NetworkSceneManager.MapTypes: ClientToServer: undocumented", - "Unity.Netcode.NetworkSceneManager.SceneMap: undocumented", - "Unity.Netcode.NetworkSceneManager.SceneMap: MapType: undocumented", - "Unity.Netcode.NetworkSceneManager.SceneMap: Scene: undocumented", - "Unity.Netcode.NetworkSceneManager.SceneMap: ScenePresent: undocumented", - "Unity.Netcode.NetworkSceneManager.SceneMap: SceneName: undocumented", - "Unity.Netcode.NetworkSceneManager.SceneMap: ServerHandle: undocumented", - "Unity.Netcode.NetworkSceneManager.SceneMap: MappedLocalHandle: undocumented", - "Unity.Netcode.NetworkSceneManager.SceneMap: LocalHandle: undocumented", - "Unity.Netcode.NetworkSceneManager.SceneMap: void NetworkSerialize(BufferSerializer): undocumented", - "Unity.Netcode.NetworkSpawnManager: List GetConnectedPlayers(): undocumented", - "Unity.Netcode.NetworkSpawnManager: void InternalOnOwnershipChanged(ulong, ulong): undocumented", - "Unity.Netcode.NetworkTime: NetworkTime TimeTicksAgo(int, float): missing ", - "Unity.Netcode.Components.NetworkTransform: AuthorityMode: undocumented", - "Unity.Netcode.Components.NetworkTransform: PositionInLocalSpace: undocumented", - "Unity.Netcode.Components.NetworkTransform: RotationInLocalSpace: undocumented", - "Unity.Netcode.Components.NetworkTransform: void OnTransformUpdated(): undocumented", - "Unity.Netcode.Components.NetworkTransform: void OnBeforeUpdateTransformState(): undocumented", - "Unity.Netcode.Components.NetworkTransform: void OnOwnershipChanged(ulong, ulong): undocumented", - "Unity.Netcode.Components.NetworkTransform: void OnUpdate(): missing ", - "Unity.Netcode.Components.NetworkTransform: float GetTickLatency(): missing ", - "Unity.Netcode.Components.NetworkTransform: float GetTickLatencyInSeconds(): missing ", - "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: bool IsUnreliableFrameSync(): missing ", - "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: bool IsReliableStateUpdate(): missing ", - "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: void NetworkSerialize(BufferSerializer): missing ", - "Unity.Netcode.Components.NetworkTransform.NetworkTransformState: void NetworkSerialize(BufferSerializer): missing ", - "Unity.Netcode.Components.NetworkTransform.AuthorityModes: undocumented", - "Unity.Netcode.Components.NetworkTransform.AuthorityModes: Server: undocumented", - "Unity.Netcode.Components.NetworkTransform.AuthorityModes: Owner: undocumented", - "Unity.Netcode.NetworkTransport: void OnEarlyUpdate(): XML is not well-formed: End tag was not expected at this location", - "Unity.Netcode.NetworkTransport: NetworkTopologyTypes OnCurrentTopology(): undocumented", - "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", - "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", - "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", - "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", - "Unity.Netcode.NetworkTopologyTypes: undocumented", - "Unity.Netcode.NetworkTopologyTypes: ClientServer: undocumented", - "Unity.Netcode.NetworkTopologyTypes: DistributedAuthority: undocumented", - "Unity.Netcode.NetworkVariable: CheckExceedsDirtinessThreshold: undocumented", - "Unity.Netcode.NetworkVariable: bool ExceedsDirtinessThreshold(): undocumented", - "Unity.Netcode.NetworkVariable: void OnInitialize(): undocumented", - "Unity.Netcode.NetworkVariable: bool CheckDirtyState(bool): missing ", - "Unity.Netcode.NetworkVariable: void Dispose(): undocumented", - "Unity.Netcode.NetworkVariable: void Finalize(): undocumented", - "Unity.Netcode.NetworkVariable.CheckExceedsDirtinessThresholdDelegate: undocumented", - "Unity.Netcode.NetworkVariableUpdateTraits: undocumented", - "Unity.Netcode.NetworkVariableUpdateTraits: MinSecondsBetweenUpdates: undocumented", - "Unity.Netcode.NetworkVariableUpdateTraits: MaxSecondsBetweenUpdates: undocumented", - "Unity.Netcode.NetworkVariableBase: NetworkBehaviour GetBehaviour(): undocumented", - "Unity.Netcode.NetworkVariableBase: void MarkNetworkBehaviourDirty(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: OnValueChanged: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: .ctor(NetworkVariableBase): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper.OnMyValueChangedDelegateHandler: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkVariableBaseHelper: .ctor(NetworkVariableBase): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: k_DefaultTimeOutWaitPeriod: undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: m_IsStarted: undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: TimedOut: undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: float GetTimeElapsed(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void OnStart(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void Start(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void OnStop(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void Stop(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: bool OnHasTimedOut(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: bool HasTimedOut(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: .ctor(float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: int GetFrameCount(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: void OnStop(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: bool OnHasTimedOut(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: void OnStart(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: .ctor(float, uint): undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: .ctor(HostOrServer, bool): undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: void OnNewClientCreated(NetworkManager): undocumented", + "Unity.Netcode.RuntimeTests.ExtendedNetworkShowAndHideTests: IEnumerator HiddenObjectPromotedSessionOwnerNewClientSynchronizes(): missing ", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: IEnumerator ProxyDoesNotInvokeOnSender(): undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: ReceivedRpc: undocumented", + "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: void SendToEveryOneButMe(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: .ctor(NetworkTopologyTypes, HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: void OnOneTimeSetup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: IEnumerator PrefabSessionIstantiationPass(int): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: IEnumerator OnTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted: void OnOneTimeTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: TestNetworkVariable: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: LastUpdateDelta: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: SpawnedCount: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: void OnNetworkPostSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: void OnDestroy(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.TestBehaviour: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: PrefabInstances: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: void OneTimeSetup(int, GameObject): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: NetworkObject GetInstanceToSpawn(NetworkManager): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: bool ValidatePersistedInstances(NetworkManager, int): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: .ctor(GameObject): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: void Initialize(NetworkManager): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: bool ValidateInstanceSpawnCount(int): XML is not well-formed: Expected an end tag for element 'summary'", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: void DeregisterHandler(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: NetworkObject GetInstance(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: NetworkObject Instantiate(ulong, Vector3, Quaternion): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: void Destroy(NetworkObject): undocumented", "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: NumberOfClients: undocumented", "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: .ctor(HostOrServer): undocumented", "Unity.Netcode.RuntimeTests.NetworkVariableCollectionsTests: bool OnSetVerboseDebug(): undocumented", @@ -949,14 +746,6 @@ "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void OnServerListValuesChanged(HashSet, HashSet): undocumented", "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void OnOwnerListValuesChanged(HashSet, HashSet): undocumented", "Unity.Netcode.RuntimeTests.IHashSetTestHelperBase: void ResetTrackedChanges(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: OnValueChanged: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: .ctor(NetworkVariableBase): undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper.OnMyValueChangedDelegateHandler: undocumented", - "Unity.Netcode.TestHelpers.Runtime.NetworkVariableBaseHelper: .ctor(NetworkVariableBase): undocumented", - "Unity.Netcode.NetworkVariableSerialization: void WriteDelta(FastBufferWriter, ref T, ref T): missing ", - "Unity.Netcode.NetworkVariableSerialization.EqualsDelegate: missing ", - "Unity.Netcode.NetworkVariableSerialization.EqualsDelegate: missing ", - "Unity.Netcode.NetworkVariableSerialization.EqualsDelegate: missing ", "Unity.Netcode.RuntimeTests.ByteEnum: undocumented", "Unity.Netcode.RuntimeTests.ByteEnum: A: undocumented", "Unity.Netcode.RuntimeTests.ByteEnum: B: undocumented", @@ -989,85 +778,9 @@ "Unity.Netcode.RuntimeTests.ULongEnum: A: undocumented", "Unity.Netcode.RuntimeTests.ULongEnum: B: undocumented", "Unity.Netcode.RuntimeTests.ULongEnum: C: undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnNetworkSpawn(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void RegisterAndLabelNetworkObject(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void DeRegisterNetworkObject(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnLostOwnership(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnGainedOwnership(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnNetworkDespawn(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.ObjectNameIdentifier: void OnDestroy(): undocumented", - "Unity.Netcode.RpcAttribute: RequireOwnership: undocumented", - "Unity.Netcode.RpcAttribute: DeferLocal: undocumented", - "Unity.Netcode.RpcAttribute: AllowTargetOverride: undocumented", - "Unity.Netcode.RpcAttribute: .ctor(SendTo): undocumented", - "Unity.Netcode.RpcAttribute.RpcAttributeParams: undocumented", - "Unity.Netcode.RpcAttribute.RpcAttributeParams: Delivery: undocumented", - "Unity.Netcode.RpcAttribute.RpcAttributeParams: RequireOwnership: undocumented", - "Unity.Netcode.RpcAttribute.RpcAttributeParams: DeferLocal: undocumented", - "Unity.Netcode.RpcAttribute.RpcAttributeParams: AllowTargetOverride: undocumented", - "Unity.Netcode.ServerRpcAttribute: RequireOwnership: undocumented", - "Unity.Netcode.ServerRpcAttribute: .ctor(): undocumented", - "Unity.Netcode.ClientRpcAttribute: .ctor(): undocumented", - "Unity.Netcode.LocalDeferMode: undocumented", - "Unity.Netcode.LocalDeferMode: Default: undocumented", - "Unity.Netcode.LocalDeferMode: Defer: undocumented", - "Unity.Netcode.LocalDeferMode: SendImmediate: undocumented", - "Unity.Netcode.RpcSendParams: Target: undocumented", - "Unity.Netcode.RpcSendParams: LocalDeferMode: undocumented", - "Unity.Netcode.RpcSendParams: RpcSendParams op_Implicit(BaseRpcTarget): undocumented", - "Unity.Netcode.RpcSendParams: RpcSendParams op_Implicit(LocalDeferMode): undocumented", - "Unity.Netcode.RpcParams: RpcParams op_Implicit(RpcSendParams): undocumented", - "Unity.Netcode.RpcParams: RpcParams op_Implicit(BaseRpcTarget): undocumented", - "Unity.Netcode.RpcParams: RpcParams op_Implicit(LocalDeferMode): undocumented", - "Unity.Netcode.RpcParams: RpcParams op_Implicit(RpcReceiveParams): undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: NumberOfClients: undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: .ctor(HostOrServer): undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: IEnumerator OnSetup(): undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: void OnCreatePlayerPrefab(): undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting: IEnumerator ProxyDoesNotInvokeOnSender(): undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: ReceivedRpc: undocumented", - "Unity.Netcode.RuntimeTests.RpcProxyMessageTesting.RpcProxyText: void SendToEveryOneButMe(): undocumented", - "Unity.Netcode.RpcTarget: void Dispose(): undocumented", - "Unity.Netcode.RpcTarget: BaseRpcTarget Group(T, RpcTargetUse): missing ", - "Unity.Netcode.RpcTarget: BaseRpcTarget Not(T, RpcTargetUse): missing ", - "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: undocumented", - "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: OnServerRpcAction: undocumented", - "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: OnClientRpcAction: undocumented", - "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: void MyServerRpc(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.Metrics.RpcTestComponent: void MyClientRpc(ClientRpcParams): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: k_DefaultTimeOutWaitPeriod: undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: m_IsStarted: undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: TimedOut: undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: float GetTimeElapsed(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void OnStart(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void Start(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void OnStop(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: void Stop(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: bool OnHasTimedOut(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: bool HasTimedOut(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutHelper: .ctor(float): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: int GetFrameCount(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: void OnStop(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: bool OnHasTimedOut(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: void OnStart(): undocumented", - "Unity.Netcode.TestHelpers.Runtime.TimeoutFrameCountHelper: .ctor(float, uint): undocumented", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_Dictionary(): missing ", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeSerializer_Dictionary(): missing ", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_Dictionary(): missing ", - "Unity.Netcode.NetworkVariableSerializationTypedInitializers: void InitializeEqualityChecker_Dictionary(): missing ", - "Unity.Netcode.Transports.UTP.UnityTransport: m_Driver: undocumented", - "Unity.Netcode.Transports.UTP.UnityTransport: NetworkConnection Connect(NetworkEndPoint): undocumented", - "Unity.Netcode.Transports.UTP.UnityTransport: NetworkTopologyTypes OnCurrentTopology(): undocumented", - "Unity.Netcode.Transports.UTP.UnityTransport.ConnectionAddressData: IsIpv6: undocumented", - "Unity.Netcode.UserNetworkVariableSerialization.WriteDeltaDelegate: missing ", - "Unity.Netcode.UserNetworkVariableSerialization.DuplicateValueDelegate: missing " + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: bool ValidateInstanceSpawnCount(int): missing ", + "Unity.Netcode.RuntimeTests.NetworkVariableBaseInitializesWhenPersisted.PrefabInstanceHandler: bool ValidateInstanceSpawnCount(int): missing " ] } - }, - "extends": [ - "rme", - "supported" - ] + } } diff --git a/com.unity.netcode.gameobjects/pvpExceptions.json.meta b/pvpExceptions.json.meta similarity index 100% rename from com.unity.netcode.gameobjects/pvpExceptions.json.meta rename to pvpExceptions.json.meta