diff --git a/com.unity.netcode.gameobjects/Components.meta b/com.unity.netcode.gameobjects/Components.meta new file mode 100644 index 0000000000..d4eb0dae79 --- /dev/null +++ b/com.unity.netcode.gameobjects/Components.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8b267eb841a574dc083ac248a95d4443 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkConfig.cs b/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkConfig.cs index 00e7719e4a..741dc16670 100644 --- a/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkConfig.cs +++ b/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkConfig.cs @@ -342,8 +342,8 @@ public ulong GetConfig(bool cache = true) { var sortedDictionary = Prefabs.NetworkPrefabOverrideLinks.OrderBy(x => x.Key); foreach (var sortedEntry in sortedDictionary) - { + Debug.Log($"[NetworkConfig] - GetConfig - [{sortedEntry.Key}={sortedEntry.Value.Prefab}]"); writer.WriteValueSafe(sortedEntry.Key); } } diff --git a/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkPrefabs.cs b/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkPrefabs.cs index 6e801f5b61..e438426758 100644 --- a/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkPrefabs.cs +++ b/com.unity.netcode.gameobjects/Runtime/Configuration/NetworkPrefabs.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Text; +using TrollKing.Core; using UnityEngine; namespace Unity.Netcode @@ -13,6 +14,8 @@ namespace Unity.Netcode [Serializable] public class NetworkPrefabs { + private static readonly NetworkLogScope k_Log = new NetworkLogScope(nameof(NetworkPrefabs)); + /// /// Edit-time scripted object containing a list of NetworkPrefabs. /// @@ -52,6 +55,7 @@ public class NetworkPrefabs private void AddTriggeredByNetworkPrefabList(NetworkPrefab networkPrefab) { + k_Log.Debug(() => $"NetworkPrefabs AddTriggeredByNetworkPrefabList [networkPrefab={networkPrefab}]"); if (AddPrefabRegistration(networkPrefab)) { // Don't add this to m_RuntimeAddedPrefabs @@ -62,6 +66,7 @@ private void AddTriggeredByNetworkPrefabList(NetworkPrefab networkPrefab) private void RemoveTriggeredByNetworkPrefabList(NetworkPrefab networkPrefab) { + k_Log.Debug(() => $"NetworkPrefabs RemoveTriggeredByNetworkPrefabList [networkPrefab={networkPrefab}]"); m_Prefabs.Remove(networkPrefab); } @@ -93,6 +98,7 @@ internal void Shutdown() /// When true, logs warnings about invalid prefabs that are removed during initialization public void Initialize(bool warnInvalid = true) { + k_Log.Debug(() => $"NetworkPrefabs Initialize [warnInvalid={warnInvalid}]"); m_Prefabs.Clear(); foreach (var list in NetworkPrefabsLists) { @@ -111,6 +117,8 @@ public void Initialize(bool warnInvalid = true) { foreach (var networkPrefab in list.PrefabList) { + var netObj = networkPrefab.Prefab.GetComponent(); + k_Log.Debug(() => $"NetworkPrefabs Add networkPrefab [networkPrefab={networkPrefab}] [prefab={networkPrefab.Prefab}] [prefabHash={netObj.PrefabIdHash}] [globalHash={netObj.GlobalObjectIdHash}]"); prefabs.Add(networkPrefab); } } @@ -288,9 +296,19 @@ private bool AddPrefabRegistration(NetworkPrefab networkPrefab) { return false; } + + var netObj = networkPrefab.Prefab.GetComponent(); + if (netObj) + { + k_Log.Debug(() => $"NetworkPrefabs AddPrefabRegistration [prefab={networkPrefab.Prefab.name}] [networkPrefab={networkPrefab}] [hash={netObj.PrefabIdHash}] [global={netObj.GlobalObjectIdHash}]"); + } + + + // Safeguard validation check since this method is called from outside of NetworkConfig and we can't control what's passed in. if (!networkPrefab.Validate()) { + Debug.LogError($"NetworkPrefabs AddPrefabRegistration INVALID [networkPrefab={networkPrefab}]"); return false; } @@ -303,7 +321,7 @@ private bool AddPrefabRegistration(NetworkPrefab networkPrefab) var networkObject = networkPrefab.Prefab.GetComponent(); // This should never happen, but in the case it somehow does log an error and remove the duplicate entry - Debug.LogError($"{nameof(NetworkPrefab)} ({networkObject.name}) has a duplicate {nameof(NetworkObject.GlobalObjectIdHash)} source entry value of: {source}!"); + Debug.LogError($"NetworkPrefabs {nameof(NetworkPrefab)} ({networkObject.name}) has a duplicate {nameof(NetworkObject.GlobalObjectIdHash)} source entry value of: {source}!"); return false; } @@ -311,6 +329,7 @@ private bool AddPrefabRegistration(NetworkPrefab networkPrefab) if (networkPrefab.Override == NetworkPrefabOverride.None) { NetworkPrefabOverrideLinks.Add(source, networkPrefab); + k_Log.Debug(() => $"NetworkPrefabs AddPrefabRegistration NetworkPrefabOverrideLinks [prefab={networkPrefab.Prefab.name}] [source={source}] [networkPrefab={networkPrefab}]"); return true; } diff --git a/com.unity.netcode.gameobjects/Runtime/Core/NetworkLogScope.cs b/com.unity.netcode.gameobjects/Runtime/Core/NetworkLogScope.cs new file mode 100644 index 0000000000..458c21c899 --- /dev/null +++ b/com.unity.netcode.gameobjects/Runtime/Core/NetworkLogScope.cs @@ -0,0 +1,183 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +namespace TrollKing.Core +{ + public enum NetworkLoggingLevel + { + Debug, + Info, + Warn, + Error, + Exception, + None + } + + public class NetworkLogScope + { + private readonly string m_LoggerName; + private readonly NetworkLoggingLevel m_Level = NetworkLoggingLevel.Info; + + public NetworkLogScope(string logName, NetworkLoggingLevel logLevel = NetworkLoggingLevel.Info) + { + m_LoggerName = logName; + m_Level = logLevel; + } + + public NetworkLoggingLevel GetLevel() + { + return m_Level; + } + + public void Log(Func stringProvider, NetworkLoggingLevel logLevel = NetworkLoggingLevel.Info) + { + if (logLevel >= m_Level) + { + string logString = stringProvider.Invoke(); + DateTime time = DateTime.Now; + var shortTime = time.ToString("T"); + + switch (logLevel) + { + case NetworkLoggingLevel.Debug: + UnityEngine.Debug.Log($"[{shortTime}][DEBUG][{m_LoggerName}] {logString}"); + break; + case NetworkLoggingLevel.Info: + UnityEngine.Debug.Log($"[{shortTime}][INFO][{m_LoggerName}] {logString}"); + break; + case NetworkLoggingLevel.Warn: + UnityEngine.Debug.LogWarning($"[{shortTime}][WARN][{m_LoggerName}] {logString}"); + break; + case NetworkLoggingLevel.Error: + UnityEngine.Debug.LogError($"[{shortTime}][ERROR][{m_LoggerName}] {logString}"); + break; + case NetworkLoggingLevel.Exception: + UnityEngine.Debug.LogError($"[{shortTime}][EXCEPTION][{m_LoggerName}] {logString}"); + break; + default: + throw new ArgumentOutOfRangeException(nameof(logLevel), logLevel, null); + } + } + } + + public void Debug(Func logString) + { + Log(logString, NetworkLoggingLevel.Debug); + } + + public void Info(Func logString) + { + Log(logString, NetworkLoggingLevel.Info); + } + + public void Warning(Func logString) + { + Log(logString, NetworkLoggingLevel.Warn); + } + + public void LogWarning(Func logString) + { + Log(logString, NetworkLoggingLevel.Warn); + } + + public void Error(Func logString) + { + Log(logString, NetworkLoggingLevel.Error); + } + + public void LogError(Func logString) + { + Log(logString, NetworkLoggingLevel.Error); + } + + public void LogException(Exception e) + { + UnityEngine.Debug.LogException(e); + } + + public void LogError(Exception e) + { + UnityEngine.Debug.LogError($"[{m_LoggerName}] {e}"); + UnityEngine.Debug.LogException(e); + } + } + + public static class NetworkGameObjectUtility + { + private static readonly NetworkLogScope Log = new NetworkLogScope(nameof(NetworkGameObjectUtility)); + + private static string NetworkGetScenePathRecursive(Transform go, string path) + { + if (go.parent == null) + { + return $"{go.gameObject.scene.name}:{go.name}:{path}"; + } + + return NetworkGetScenePathRecursive(go.parent, $"{go.name}:{path}"); + } + + // Depth first, we are going all the way down each leg + public static void NetworkGetAllHierarchyChildrenRecursive(this GameObject source, ref Queue queue) + { + if (source == null) + { + return; + } + + int children = source.transform.childCount; + for (int i = 0; i < children; i++) + { + var child = source.transform.GetChild(i); + var go = child.gameObject; + Log.Debug(() => $"AddingHierarchyChild {go}"); + queue.Enqueue(go); + NetworkGetAllHierarchyChildrenRecursive(go, ref queue); + } + } + + public static Queue NetworkGetAllHierarchyChildren(this GameObject root) + { + var retVal = new Queue(); + if (root == null) + { + return retVal; + } + Log.Debug(() => $"AddingHierarchyParent {root}"); + retVal.Enqueue(root); + root.NetworkGetAllHierarchyChildrenRecursive(ref retVal); + return retVal; + } + + public static string NetworkGetScenePath(this GameObject go) + { + return NetworkGetScenePath(go.transform); + } + + public static string NetworkGetScenePath(this Transform go) + { + return NetworkGetScenePathRecursive(go, ""); + } + + public static string NetworkGetSceneName(this GameObject go) + { + return go.scene.name; + } + + public static bool NetworkTryGetComponentInParent(this GameObject go, out T comp) + { + var parent = go.transform; + while (parent != null && parent.parent != parent) + { + if (parent.TryGetComponent(out comp)) + { + return true; + } + parent = parent.parent; + } + + comp = default; + return false; + } + } +} diff --git a/com.unity.netcode.gameobjects/Runtime/Core/NetworkLogScope.cs.meta b/com.unity.netcode.gameobjects/Runtime/Core/NetworkLogScope.cs.meta new file mode 100644 index 0000000000..ea3fdf85eb --- /dev/null +++ b/com.unity.netcode.gameobjects/Runtime/Core/NetworkLogScope.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3b83aae632414713b8843141e3cea71b +timeCreated: 1695872236 \ No newline at end of file diff --git a/com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs b/com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs index f0e388d72e..4838aae9e1 100644 --- a/com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs +++ b/com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs @@ -1090,7 +1090,7 @@ public int MaximumFragmentedMessageSize get => MessageManager.FragmentedMessageMaxSize; } - internal void Initialize(bool server) + public virtual void Initialize(bool server) { #if DEVELOPMENT_BUILD || UNITY_EDITOR if (!DisableNotOptimizedSerializedType) diff --git a/com.unity.netcode.gameobjects/Runtime/Core/NetworkUpdateLoop.cs b/com.unity.netcode.gameobjects/Runtime/Core/NetworkUpdateLoop.cs index 5f60e748be..ea1f8856b2 100644 --- a/com.unity.netcode.gameobjects/Runtime/Core/NetworkUpdateLoop.cs +++ b/com.unity.netcode.gameobjects/Runtime/Core/NetworkUpdateLoop.cs @@ -61,6 +61,7 @@ public enum NetworkUpdateStage : byte PostScriptLateUpdate = 8, /// /// Updated after the Monobehaviour.LateUpdate for all components is invoked + /// and all rendering is complete /// PostLateUpdate = 7 } @@ -74,12 +75,24 @@ public static class NetworkUpdateLoop private static Dictionary s_UpdateSystem_Arrays; private const int k_UpdateSystem_InitialArrayCapacity = 1024; + private static NetworkUpdateStage[] _CACHED_ENUM = null; + + public static NetworkUpdateStage[] GetNetworkUpdateStageEnumValues() + { + if (_CACHED_ENUM == null) + { + _CACHED_ENUM = (NetworkUpdateStage[])Enum.GetValues(typeof(NetworkUpdateStage)); + } + + return _CACHED_ENUM; + } + static NetworkUpdateLoop() { s_UpdateSystem_Sets = new Dictionary>(); s_UpdateSystem_Arrays = new Dictionary(); - foreach (NetworkUpdateStage updateStage in Enum.GetValues(typeof(NetworkUpdateStage))) + foreach (NetworkUpdateStage updateStage in GetNetworkUpdateStageEnumValues()) { s_UpdateSystem_Sets.Add(updateStage, new HashSet()); s_UpdateSystem_Arrays.Add(updateStage, new INetworkUpdateSystem[k_UpdateSystem_InitialArrayCapacity]); @@ -92,7 +105,7 @@ static NetworkUpdateLoop() /// The implementation to register for all network updates public static void RegisterAllNetworkUpdates(this INetworkUpdateSystem updateSystem) { - foreach (NetworkUpdateStage updateStage in Enum.GetValues(typeof(NetworkUpdateStage))) + foreach (NetworkUpdateStage updateStage in GetNetworkUpdateStageEnumValues()) { RegisterNetworkUpdate(updateSystem, updateStage); } @@ -136,7 +149,7 @@ public static void RegisterNetworkUpdate(this INetworkUpdateSystem updateSystem, /// The implementation to deregister from all network updates public static void UnregisterAllNetworkUpdates(this INetworkUpdateSystem updateSystem) { - foreach (NetworkUpdateStage updateStage in Enum.GetValues(typeof(NetworkUpdateStage))) + foreach (NetworkUpdateStage updateStage in GetNetworkUpdateStageEnumValues()) { UnregisterNetworkUpdate(updateSystem, updateStage); } diff --git a/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionRequestMessage.cs b/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionRequestMessage.cs index 11aa4f35bc..465ec4648d 100644 --- a/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionRequestMessage.cs +++ b/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/ConnectionRequestMessage.cs @@ -143,7 +143,7 @@ public bool Deserialize(FastBufferReader reader, ref NetworkContext context, int { if (NetworkLog.CurrentLogLevel <= LogLevel.Normal) { - NetworkLog.LogWarning($"{nameof(NetworkConfig)} mismatch. The configuration between the server and client does not match"); + NetworkLog.LogWarning($"{nameof(NetworkConfig)} mismatch. IncomingHash=[{ConfigHash}] OurHash=[{networkManager.NetworkConfig.GetConfig()}] The configuration between the server and client does not match"); } networkManager.DisconnectClient(context.SenderId); diff --git a/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/NetworkVariableDeltaMessage.cs b/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/NetworkVariableDeltaMessage.cs index 8db084cd7d..e8d976faf8 100644 --- a/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/NetworkVariableDeltaMessage.cs +++ b/com.unity.netcode.gameobjects/Runtime/Messaging/Messages/NetworkVariableDeltaMessage.cs @@ -188,6 +188,7 @@ public void Serialize(FastBufferWriter writer, int targetVersion) var startingSize = writer.Length; var networkVariable = NetworkBehaviour.NetworkVariableFields[i]; + var shouldWrite = networkVariable.IsDirty() && networkVariable.CanClientRead(TargetClientId) && (networkManager.IsServer || networkVariable.CanClientWrite(networkManager.LocalClientId)) && diff --git a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Collections/NetworkList.cs b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Collections/NetworkList.cs index 97fbeabc72..b2f26296aa 100644 --- a/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Collections/NetworkList.cs +++ b/com.unity.netcode.gameobjects/Runtime/NetworkVariable/Collections/NetworkList.cs @@ -580,7 +580,8 @@ public void RemoveAt(int index) // check write permissions if (!CanClientWrite(m_NetworkManager.LocalClientId)) { - throw new InvalidOperationException("Client is not allowed to write to this NetworkList"); + LogWritePermissionError(); + return; } var value = m_List[index]; diff --git a/com.unity.netcode.gameobjects/Runtime/SceneManagement/DefaultSceneManagerHandler.cs b/com.unity.netcode.gameobjects/Runtime/SceneManagement/DefaultSceneManagerHandler.cs index 01bdff807f..2340327262 100644 --- a/com.unity.netcode.gameobjects/Runtime/SceneManagement/DefaultSceneManagerHandler.cs +++ b/com.unity.netcode.gameobjects/Runtime/SceneManagement/DefaultSceneManagerHandler.cs @@ -1,6 +1,10 @@ using System; using System.Collections.Generic; +using TrollKing.Core; using UnityEngine; +using UnityEngine.AddressableAssets; +using UnityEngine.ResourceManagement.AsyncOperations; +using UnityEngine.ResourceManagement.ResourceProviders; using UnityEngine.SceneManagement; @@ -11,6 +15,8 @@ namespace Unity.Netcode /// internal class DefaultSceneManagerHandler : ISceneManagerHandler { + private static NetworkLogScope s_Log = new NetworkLogScope(nameof(DefaultSceneManagerHandler)); + private Scene m_InvalidScene = new Scene(); internal struct SceneEntry @@ -22,18 +28,55 @@ internal struct SceneEntry internal Dictionary> SceneNameToSceneHandles = new Dictionary>(); - public AsyncOperation LoadSceneAsync(string sceneName, LoadSceneMode loadSceneMode, SceneEventProgress sceneEventProgress) + public AsyncOperationHandle LoadSceneAsync(string sceneName, LoadSceneMode loadSceneMode, SceneEventProgress sceneEventProgress) { - var operation = SceneManager.LoadSceneAsync(sceneName, loadSceneMode); - sceneEventProgress.SetAsyncOperation(operation); + s_Log.Info(() => $"Loading scene '{sceneName}'..."); + AsyncOperationHandle operation = default; + if (loadSceneMode == LoadSceneMode.Single) + { + operation = Addressables.LoadSceneAsync(sceneName, LoadSceneMode.Additive, false); + // Handle the async load + operation.Completed += handle => + { + var sceneInstance = handle.Result; + var current = SceneManager.GetActiveScene(); + var async = sceneInstance.ActivateAsync(); + async.completed += asyncOperation => + { + var scene = sceneInstance.Scene; + SceneManager.SetActiveScene(scene); + SceneManager.UnloadSceneAsync(current); + }; + + }; + sceneEventProgress.SetAsyncOperation(operation); + } + else + { + operation = Addressables.LoadSceneAsync(sceneName, loadSceneMode); + sceneEventProgress.SetAsyncOperation(operation); + } + return operation; } - public AsyncOperation UnloadSceneAsync(Scene scene, SceneEventProgress sceneEventProgress) + public AsyncOperationHandle UnloadSceneAsync(NetworkSceneManager.SceneData scene, SceneEventProgress sceneEventProgress) { - var operation = SceneManager.UnloadSceneAsync(scene); - sceneEventProgress.SetAsyncOperation(operation); - return operation; + if (scene.SceneInstance.HasValue) + { + var operation = Addressables.UnloadSceneAsync(scene.SceneInstance.Value); + sceneEventProgress.SetAsyncOperation(operation); + return operation; + } + else + { + s_Log.Error(() => $"Unloaded a scene that wasn't loaded with addressables '{scene.SceneInstance}'"); + var unloadOp = SceneManager.UnloadSceneAsync(scene.SceneReference); + AsyncOperationHandle operation = default; + sceneEventProgress.SetAsyncOperation(operation); + return operation; + } + } /// @@ -168,8 +211,9 @@ public Scene GetSceneFromLoadedScenes(string sceneName, NetworkManager networkMa /// same application instance is still running, the same scenes are still loaded on the client, and /// upon reconnecting the client doesn't have to unload the scenes and then reload them) /// - public void PopulateLoadedScenes(ref Dictionary scenesLoaded, NetworkManager networkManager) + public void PopulateLoadedScenes(ref Dictionary scenesLoaded, NetworkManager networkManager) { + Debug.LogError($"PopulateLoadedScenes START"); SceneNameToSceneHandles.Clear(); var sceneCount = SceneManager.sceneCount; for (int i = 0; i < sceneCount; i++) @@ -190,7 +234,7 @@ public void PopulateLoadedScenes(ref Dictionary scenesLoaded, Networ SceneNameToSceneHandles[scene.name].Add(scene.handle, sceneEntry); if (!scenesLoaded.ContainsKey(scene.handle)) { - scenesLoaded.Add(scene.handle, scene); + scenesLoaded.Add(scene.handle, new NetworkSceneManager.SceneData(null, scene)); } } else @@ -198,6 +242,7 @@ public void PopulateLoadedScenes(ref Dictionary scenesLoaded, Networ throw new Exception($"[Duplicate Handle] Scene {scene.name} already has scene handle {scene.handle} registered!"); } } + Debug.LogError($"PopulateLoadedScenes END"); } private List m_ScenesToUnload = new List(); @@ -373,7 +418,7 @@ public void SetClientSynchronizationMode(ref NetworkManager networkManager, Load // If the scene is not already in the ScenesLoaded list, then add it if (!sceneManager.ScenesLoaded.ContainsKey(scene.handle)) { - sceneManager.ScenesLoaded.Add(scene.handle, scene); + sceneManager.ScenesLoaded.Add(scene.handle, new NetworkSceneManager.SceneData(null, scene)); } } } diff --git a/com.unity.netcode.gameobjects/Runtime/SceneManagement/ISceneManagerHandler.cs b/com.unity.netcode.gameobjects/Runtime/SceneManagement/ISceneManagerHandler.cs index 9cd3ed1ac8..9f52e28da6 100644 --- a/com.unity.netcode.gameobjects/Runtime/SceneManagement/ISceneManagerHandler.cs +++ b/com.unity.netcode.gameobjects/Runtime/SceneManagement/ISceneManagerHandler.cs @@ -1,5 +1,7 @@ using System.Collections.Generic; using UnityEngine; +using UnityEngine.ResourceManagement.AsyncOperations; +using UnityEngine.ResourceManagement.ResourceProviders; using UnityEngine.SceneManagement; namespace Unity.Netcode @@ -8,13 +10,13 @@ namespace Unity.Netcode /// Used to override the LoadSceneAsync and UnloadSceneAsync methods called /// within the NetworkSceneManager. /// - internal interface ISceneManagerHandler + public interface ISceneManagerHandler { - AsyncOperation LoadSceneAsync(string sceneName, LoadSceneMode loadSceneMode, SceneEventProgress sceneEventProgress); + AsyncOperationHandle LoadSceneAsync(string sceneAssetKey, LoadSceneMode loadSceneMode, SceneEventProgress sceneEventProgress); - AsyncOperation UnloadSceneAsync(Scene scene, SceneEventProgress sceneEventProgress); + AsyncOperationHandle UnloadSceneAsync(NetworkSceneManager.SceneData scene, SceneEventProgress sceneEventProgress); - void PopulateLoadedScenes(ref Dictionary scenesLoaded, NetworkManager networkManager = null); + void PopulateLoadedScenes(ref Dictionary scenesLoaded, NetworkManager networkManager = null); Scene GetSceneFromLoadedScenes(string sceneName, NetworkManager networkManager = null); bool DoesSceneHaveUnassignedEntry(string sceneName, NetworkManager networkManager = null); diff --git a/com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs b/com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs index 331d5ff112..975b065953 100644 --- a/com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs +++ b/com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs @@ -1,9 +1,15 @@ using System; using System.Collections.Generic; using System.Linq; +using TrollKing.Core; using Unity.Collections; using UnityEngine; +using UnityEngine.AddressableAssets; +using UnityEngine.Profiling; +using UnityEngine.ResourceManagement.AsyncOperations; +using UnityEngine.ResourceManagement.ResourceProviders; using UnityEngine.SceneManagement; +using Object = UnityEngine.Object; namespace Unity.Netcode @@ -27,7 +33,7 @@ public class SceneEvent /// /// /// - public AsyncOperation AsyncOperation; + public AsyncOperationHandle AsyncOperation; /// /// Will always be set to the current @@ -131,6 +137,8 @@ public class SceneEvent /// public class NetworkSceneManager : IDisposable { + private static readonly NetworkLogScope Log = new NetworkLogScope(nameof(NetworkSceneManager)); + private const NetworkDelivery k_DeliveryType = NetworkDelivery.ReliableFragmentedSequenced; internal const int InvalidSceneNameOrPath = -1; @@ -181,7 +189,7 @@ public class NetworkSceneManager : IDisposable /// name of the scene being processed /// the LoadSceneMode mode for the scene being loaded /// the associated that can be used for scene loading progress - public delegate void OnLoadDelegateHandler(ulong clientId, string sceneName, LoadSceneMode loadSceneMode, AsyncOperation asyncOperation); + public delegate void OnLoadDelegateHandler(ulong clientId, string sceneName, LoadSceneMode loadSceneMode, AsyncOperationHandle asyncOperation); /// /// Delegate declaration for the OnUnload event.
@@ -191,7 +199,7 @@ public class NetworkSceneManager : IDisposable /// 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 /// the associated that can be used for scene unloading progress - public delegate void OnUnloadDelegateHandler(ulong clientId, string sceneName, AsyncOperation asyncOperation); + public delegate void OnUnloadDelegateHandler(ulong clientId, string sceneName, AsyncOperationHandle asyncOperation); /// /// Delegate declaration for the OnSynchronize event.
@@ -394,7 +402,7 @@ public bool ActiveSceneSynchronizationEnabled /// /// The SceneManagerHandler implementation /// - internal ISceneManagerHandler SceneManagerHandler = new DefaultSceneManagerHandler(); + public ISceneManagerHandler SceneManagerHandler = new DefaultSceneManagerHandler(); internal readonly Dictionary SceneEventProgressTracking = new Dictionary(); @@ -413,6 +421,17 @@ public bool ActiveSceneSynchronizationEnabled ///
internal Scene SceneBeingSynchronized; + public class SceneData + { + public SceneData(SceneInstance? instance, Scene reference) + { + SceneReference = reference; + SceneInstance = instance; + } + public Scene SceneReference; + public SceneInstance? SceneInstance; + } + /// /// Used to track which scenes are currently loaded /// We store the scenes as [SceneHandle][Scene] in order to handle the loading and unloading of the same scene additively @@ -421,7 +440,7 @@ public bool ActiveSceneSynchronizationEnabled /// The client links the server scene handle to the client local scene handle upon a scene being loaded /// /// - internal Dictionary ScenesLoaded = new Dictionary(); + public Dictionary ScenesLoaded = new Dictionary(); /// /// Returns the currently loaded scenes that are synchronized with the session owner or server depending upon the selected @@ -432,7 +451,7 @@ public bool ActiveSceneSynchronizationEnabled /// synchronized remotely. This can be useful when using scene validation and excluding certain scenes from being synchronized. /// /// List of the known synchronized scenes - public List GetSynchronizedScenes() + public List GetSynchronizedScenes() { return ScenesLoaded.Values.ToList(); } @@ -454,6 +473,7 @@ internal bool UpdateServerClientSceneHandle(int serverHandle, int clientHandle, { if (!ServerSceneHandleToClientSceneHandle.ContainsKey(serverHandle)) { + Log.Debug(() => $"Adding Server Scene Handle {clientHandle} {localScene.name}"); ServerSceneHandleToClientSceneHandle.Add(serverHandle, clientHandle); } else if (!IsRestoringSession) @@ -463,6 +483,7 @@ internal bool UpdateServerClientSceneHandle(int serverHandle, int clientHandle, if (!ClientSceneHandleToServerSceneHandle.ContainsKey(clientHandle)) { + Log.Debug(() => $"Adding Client Scene Handle {clientHandle} {localScene.name}"); ClientSceneHandleToServerSceneHandle.Add(clientHandle, serverHandle); } else if (!IsRestoringSession) @@ -473,7 +494,7 @@ internal bool UpdateServerClientSceneHandle(int serverHandle, int clientHandle, // It is "Ok" if this already has an entry if (!ScenesLoaded.ContainsKey(clientHandle)) { - ScenesLoaded.Add(clientHandle, localScene); + ScenesLoaded.Add(clientHandle, new SceneData(null, localScene)); } return true; @@ -487,6 +508,7 @@ internal bool RemoveServerClientSceneHandle(int serverHandle, int clientHandle) { if (ServerSceneHandleToClientSceneHandle.ContainsKey(serverHandle)) { + Log.Debug(() => $"Remove ServerSceneHandleToClientSceneHandle {clientHandle} {serverHandle}"); ServerSceneHandleToClientSceneHandle.Remove(serverHandle); } else @@ -496,6 +518,7 @@ internal bool RemoveServerClientSceneHandle(int serverHandle, int clientHandle) if (ClientSceneHandleToServerSceneHandle.ContainsKey(clientHandle)) { + Log.Debug(() => $"Remove ClientSceneHandleToServerSceneHandle {clientHandle} {serverHandle}"); ClientSceneHandleToServerSceneHandle.Remove(clientHandle); } else @@ -505,6 +528,7 @@ internal bool RemoveServerClientSceneHandle(int serverHandle, int clientHandle) if (ScenesLoaded.ContainsKey(clientHandle)) { + Log.Debug(() => $"Remove ScenesLoaded {clientHandle} {serverHandle}"); ScenesLoaded.Remove(clientHandle); } else @@ -515,16 +539,6 @@ internal bool RemoveServerClientSceneHandle(int serverHandle, int clientHandle) return true; } - /// - /// Hash to build index lookup table - /// - internal Dictionary HashToBuildIndex = new Dictionary(); - - /// - /// Build index to hash lookup table - /// - internal Dictionary BuildIndexToHash = new Dictionary(); - /// /// The Condition: While a scene is asynchronously loaded in single loading scene mode, if any new NetworkObjects are spawned /// they need to be moved into the do not destroy temporary scene @@ -540,10 +554,12 @@ internal bool RemoveServerClientSceneHandle(int serverHandle, int clientHandle) /// internal Dictionary SceneEventDataStore; - internal readonly NetworkManager NetworkManager; + internal Dictionary ScenePathsBySceneName; + + private NetworkManager NetworkManager { get; } // Keep track of this scene until the NetworkSceneManager is destroyed. - internal Scene DontDestroyOnLoadScene; + public Scene DontDestroyOnLoadScene; /// /// This setting changes how clients handle scene loading when initially synchronizing with the server.
@@ -558,7 +574,7 @@ internal bool RemoveServerClientSceneHandle(int serverHandle, int clientHandle) /// and, if is /// set, callback(s). /// - public LoadSceneMode ClientSynchronizationMode { get; internal set; } + public LoadSceneMode ClientSynchronizationMode { get; set; } /// /// When true, the messages will be turned off @@ -663,104 +679,6 @@ internal bool ShouldDeferCreateObject() return (synchronizeEventDetected && ClientSynchronizationMode == LoadSceneMode.Single) || (!synchronizeEventDetected && loadingEventDetected); } - /// - /// Gets the scene name from full path to the scene - /// - internal string GetSceneNameFromPath(string scenePath) - { - var begin = scenePath.LastIndexOf("/", StringComparison.Ordinal) + 1; - var end = scenePath.LastIndexOf(".", StringComparison.Ordinal); - return scenePath.Substring(begin, end - begin); - } - - /// - /// Generates the hash values and associated tables - /// for the scenes in build list - /// - internal void GenerateScenesInBuild() - { - // TODO 2023: We could support addressable or asset bundle scenes by - // adding a method that would allow users to add scenes to this. - // The method would be server-side only and require an additional SceneEventType - // that would be used to notify clients of the added scene. This might need - // to include information about the addressable or asset bundle (i.e. address to load assets) - HashToBuildIndex.Clear(); - BuildIndexToHash.Clear(); - for (int i = 0; i < SceneManager.sceneCountInBuildSettings; i++) - { - var scenePath = SceneUtility.GetScenePathByBuildIndex(i); - var hash = XXHash.Hash32(scenePath); - var buildIndex = SceneUtility.GetBuildIndexByScenePath(scenePath); - - // In the rare-case scenario where a programmatically generated build has duplicate - // scene entries, we will log an error and skip the entry - if (!HashToBuildIndex.ContainsKey(hash)) - { - HashToBuildIndex.Add(hash, buildIndex); - BuildIndexToHash.Add(buildIndex, hash); - } - else - { - Debug.LogError($"{nameof(NetworkSceneManager)} is skipping duplicate scene path entry {scenePath}. Make sure your scenes in build list does not contain duplicates!"); - } - } - } - - /// - /// Gets the scene name from a hash value generated from the full scene path - /// - internal string SceneNameFromHash(uint sceneHash) - { - // In the event there is no scene associated with the scene event then just return "No Scene" - // This can happen during unit tests when clients first connect and the only scene loaded is the - // unit test scene (which is ignored by default) that results in a scene event that has no associated - // scene. Under this specific special case, we just return "No Scene". - if (sceneHash == 0) - { - return "No Scene"; - } - return GetSceneNameFromPath(ScenePathFromHash(sceneHash)); - } - - /// - /// Gets the full scene path from a hash value - /// - internal string ScenePathFromHash(uint sceneHash) - { - if (HashToBuildIndex.ContainsKey(sceneHash)) - { - return SceneUtility.GetScenePathByBuildIndex(HashToBuildIndex[sceneHash]); - } - else - { - throw new Exception($"Scene Hash {sceneHash} does not exist in the {nameof(HashToBuildIndex)} table! Verify that all scenes requiring" + - $" server to client synchronization are in the scenes in build list."); - } - } - - /// - /// Gets the associated hash value for the scene name or path - /// - internal uint SceneHashFromNameOrPath(string sceneNameOrPath) - { - var buildIndex = SceneUtility.GetBuildIndexByScenePath(sceneNameOrPath); - if (buildIndex >= 0) - { - if (BuildIndexToHash.ContainsKey(buildIndex)) - { - return BuildIndexToHash[buildIndex]; - } - else - { - throw new Exception($"Scene '{sceneNameOrPath}' has a build index of {buildIndex} that does not exist in the {nameof(BuildIndexToHash)} table!"); - } - } - else - { - throw new Exception($"Scene '{sceneNameOrPath}' couldn't be loaded because it has not been added to the build settings scenes in build list."); - } - } - /// /// When set to true, this will disable the console warnings about /// a scene being invalidated. @@ -801,9 +719,6 @@ internal NetworkSceneManager(NetworkManager networkManager) NetworkManager = networkManager; SceneEventDataStore = new Dictionary(); - // Generates the scene name to hash value - GenerateScenesInBuild(); - // Since NetworkManager is now always migrated to the DDOL we will use this to get the DDOL scene DontDestroyOnLoadScene = networkManager.gameObject.scene; @@ -816,7 +731,7 @@ internal NetworkSceneManager(NetworkManager networkManager) for (int i = 0; i < SceneManager.sceneCount; i++) { var loadedScene = SceneManager.GetSceneAt(i); - ScenesLoaded.Add(loadedScene.handle, loadedScene); + ScenesLoaded.Add(loadedScene.handle, new SceneData(null, loadedScene)); } SceneManagerHandler.PopulateLoadedScenes(ref ScenesLoaded, NetworkManager); } @@ -868,21 +783,17 @@ private void SceneManager_ActiveSceneChanged(Scene current, Scene next) } } - // If the scene's build index is in the hash table - if (BuildIndexToHash.ContainsKey(next.buildIndex)) + // Notify clients of the change in active scene + var sceneEvent = BeginSceneEvent(); + sceneEvent.SceneEventType = SceneEventType.ActiveSceneChanged; + sceneEvent.ActiveSceneAsset = next.name; + var sessionOwner = NetworkManager.ServerClientId; + if (NetworkManager.DistributedAuthorityMode) { - // Notify clients of the change in active scene - var sceneEvent = BeginSceneEvent(); - sceneEvent.SceneEventType = SceneEventType.ActiveSceneChanged; - sceneEvent.ActiveSceneHash = BuildIndexToHash[next.buildIndex]; - var sessionOwner = NetworkManager.ServerClientId; - if (NetworkManager.DistributedAuthorityMode) - { - sessionOwner = NetworkManager.CurrentSessionOwner; - } - SendSceneEventData(sceneEvent.SceneEventId, NetworkManager.ConnectedClientsIds.Where(c => c != sessionOwner).ToArray()); - EndSceneEvent(sceneEvent.SceneEventId); + sessionOwner = NetworkManager.CurrentSessionOwner; } + SendSceneEventData(sceneEvent.SceneEventId, NetworkManager.ConnectedClientsIds.Where(c => c != sessionOwner).ToArray()); + EndSceneEvent(sceneEvent.SceneEventId); } /// @@ -893,34 +804,28 @@ private void SceneManager_ActiveSceneChanged(Scene current, Scene next) /// index into ScenesInBuild /// LoadSceneMode the scene is going to be loaded /// true (Valid) or false (Invalid) - internal bool ValidateSceneBeforeLoading(uint sceneHash, LoadSceneMode loadSceneMode) + internal bool ValidateSceneBeforeLoading(string sceneName, LoadSceneMode loadSceneMode) { - var sceneName = SceneNameFromHash(sceneHash); - var sceneIndex = SceneUtility.GetBuildIndexByScenePath(sceneName); - return ValidateSceneBeforeLoading(sceneIndex, sceneName, loadSceneMode); - } + Log.Debug(() => $"ValidateSceneBeforeLoading {sceneName} {loadSceneMode}"); + return true; - /// - /// Overloaded version that is invoked by and . - /// This specifically is to allow runtime generated scenes to be excluded by the server during synchronization. - /// - internal bool ValidateSceneBeforeLoading(int sceneIndex, string sceneName, LoadSceneMode loadSceneMode) - { - var validated = true; - if (VerifySceneBeforeLoading != null) - { - validated = VerifySceneBeforeLoading.Invoke(sceneIndex, sceneName, loadSceneMode); - } - if (!validated && !m_DisableValidationWarningMessages) - { - var serverHostorClient = "Client"; - if (HasSceneAuthority()) - { - serverHostorClient = NetworkManager.DistributedAuthorityMode ? "Session Owner" : NetworkManager.IsHost ? "Host" : "Server"; - } - Debug.LogWarning($"Scene {sceneName} of Scenes in Build Index {sceneIndex} being loaded in {loadSceneMode} mode failed validation on the {serverHostorClient}!"); - } - return validated; + // var validated = true; + // var sceneIndex = SceneUtility.GetBuildIndexByScenePath(sceneName); + // if (VerifySceneBeforeLoading != null) + // { + // validated = VerifySceneBeforeLoading.Invoke(sceneIndex, sceneName, loadSceneMode); + // } + // if (!validated && !m_DisableValidationWarningMessages) + // { + // var serverHostorClient = "Client"; + // if (NetworkManager.IsServer) + // { + // serverHostorClient = NetworkManager.IsHost ? "Host" : "Server"; + // } + // + // Debug.LogWarning($"Scene {sceneName} of Scenes in Build Index {sceneIndex} being loaded in {loadSceneMode} mode failed validation on the {serverHostorClient}!"); + // } + // return validated; } /// @@ -953,7 +858,7 @@ internal Scene GetAndAddNewlyLoadedSceneByName(string sceneName) { if (!ScenesLoaded.ContainsKey(sceneLoaded.handle)) { - ScenesLoaded.Add(sceneLoaded.handle, sceneLoaded); + ScenesLoaded.Add(sceneLoaded.handle, new SceneData(null, sceneLoaded)); SceneManagerHandler.StartTrackingScene(sceneLoaded, true, NetworkManager); return sceneLoaded; } @@ -987,7 +892,7 @@ internal void SetTheSceneBeingSynchronized(int serverSceneHandle) } // Get the scene currently being synchronized - SceneBeingSynchronized = ScenesLoaded.ContainsKey(clientSceneHandle) ? ScenesLoaded[clientSceneHandle] : new Scene(); + SceneBeingSynchronized = ScenesLoaded.ContainsKey(clientSceneHandle) ? ScenesLoaded[clientSceneHandle].SceneReference : new Scene(); if (!SceneBeingSynchronized.IsValid() || !SceneBeingSynchronized.isLoaded) { @@ -1066,7 +971,7 @@ private void SendSceneEventData(uint sceneEventId, ulong[] targetClientIds) EventData = sceneEvent, }; var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, NetworkManager.ServerClientId); - NetworkManager.NetworkMetrics.TrackSceneEventSent(NetworkManager.ServerClientId, (uint)sceneEvent.SceneEventType, SceneNameFromHash(sceneEvent.SceneHash), size); + NetworkManager.NetworkMetrics.TrackSceneEventSent(NetworkManager.ServerClientId, (uint)sceneEvent.SceneEventType, sceneEvent.SceneAsset, size); } foreach (var clientId in targetClientIds) { @@ -1076,24 +981,19 @@ private void SendSceneEventData(uint sceneEventId, ulong[] targetClientIds) EventData = sceneEvent, }; var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, NetworkManager.ServerClientId); - NetworkManager.NetworkMetrics.TrackSceneEventSent(clientId, (uint)sceneEvent.SceneEventType, SceneNameFromHash(sceneEvent.SceneHash), size); + NetworkManager.NetworkMetrics.TrackSceneEventSent(clientId, (uint)sceneEvent.SceneEventType, sceneEvent.SceneAsset, size); } } else { - // Send to each individual client to assure only the in-scene placed NetworkObjects being observed by the client - // is serialized - foreach (var clientId in targetClientIds) + var message = new SceneEventMessage { - sceneEvent.TargetClientId = clientId; - var message = new SceneEventMessage - { - EventData = sceneEvent, - }; - var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, clientId); - NetworkManager.NetworkMetrics.TrackSceneEventSent(clientId, (uint)sceneEvent.SceneEventType, SceneNameFromHash(sceneEvent.SceneHash), size); - } + EventData = sceneEvent, + }; + var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, targetClientIds); + NetworkManager.NetworkMetrics.TrackSceneEventSent(targetClientIds, (uint)SceneEventDataStore[sceneEventId].SceneEventType, sceneEvent.SceneAsset, size); } + } /// @@ -1175,16 +1075,53 @@ private SceneEventProgress ValidateSceneEvent(string sceneName, bool isUnloading return new SceneEventProgress(null, SceneEventProgressStatus.SceneEventInProgress); } - // Return invalid scene name status if the scene name is invalid - if (SceneUtility.GetBuildIndexByScenePath(sceneName) == InvalidSceneNameOrPath) + // // Return invalid scene name status if the scene name is invalid + // if (SceneUtility.GetBuildIndexByScenePath(sceneName) == InvalidSceneNameOrPath) + // { + // Debug.LogError($"Scene '{sceneName}' couldn't be loaded because it has not been added to the build settings scenes in build list."); + // return new SceneEventProgress(null, SceneEventProgressStatus.InvalidSceneName); + // } + var locatorInfo = Addressables.GetLocatorInfo(sceneName); + + var resourceLocationAsync = Addressables.LoadResourceLocationsAsync(sceneName); + resourceLocationAsync.WaitForCompletion(); + if (resourceLocationAsync.Status == AsyncOperationStatus.Succeeded) { - Debug.LogError($"Scene '{sceneName}' couldn't be loaded because it has not been added to the build settings scenes in build list."); - return new SceneEventProgress(null, SceneEventProgressStatus.InvalidSceneName); + if (resourceLocationAsync.Result.Count >= 1) + { + var location = resourceLocationAsync.Result[0]; + var provider = location.ProviderId; + if (!provider.Contains("Scene")) + { + Debug.LogWarning($"Provider is not a scene provider! {provider}"); + } + + var resourceType = location.ResourceType; + if (resourceType != typeof(SceneInstance)) + { + throw new Exception($"Scene is not of the SceneInstance type! {resourceType}"); + } + if (location.HasDependencies) + { + // Has dependencies! + // download something? + // no! this is just a verification method + } + + if (location.PrimaryKey != sceneName) + { + throw new Exception($"Scene is not primary key of the scene name! {location.PrimaryKey} {sceneName}"); + } + } + } + else + { + throw new Exception($"Scene '{sceneName}' couldn't be loaded for its resource location."); } var sceneEventProgress = new SceneEventProgress(NetworkManager) { - SceneHash = SceneHashFromNameOrPath(sceneName) + SceneName = sceneName }; SceneEventProgressTracking.Add(sceneEventProgress.Guid, sceneEventProgress); @@ -1207,7 +1144,7 @@ private bool OnSceneEventProgressCompleted(SceneEventProgress sceneEventProgress var clientsThatCompleted = sceneEventProgress.GetClientsWithStatus(true); var clientsThatTimedOut = sceneEventProgress.GetClientsWithStatus(false); sceneEventData.SceneEventProgressId = sceneEventProgress.Guid; - sceneEventData.SceneHash = sceneEventProgress.SceneHash; + sceneEventData.SceneAsset = sceneEventProgress.SceneName; sceneEventData.SceneEventType = sceneEventProgress.SceneEventType; sceneEventData.ClientsCompleted = clientsThatCompleted; sceneEventData.LoadSceneMode = sceneEventProgress.LoadSceneMode; @@ -1228,7 +1165,7 @@ private bool OnSceneEventProgressCompleted(SceneEventProgress sceneEventProgress NetworkManager.NetworkMetrics.TrackSceneEventSent( NetworkManager.ConnectedClientsIds, (uint)sceneEventProgress.SceneEventType, - SceneNameFromHash(sceneEventProgress.SceneHash), + sceneEventProgress.SceneName, size); } @@ -1236,7 +1173,7 @@ private bool OnSceneEventProgressCompleted(SceneEventProgress sceneEventProgress OnSceneEvent?.Invoke(new SceneEvent() { SceneEventType = sceneEventProgress.SceneEventType, - SceneName = SceneNameFromHash(sceneEventProgress.SceneHash), + SceneName = sceneEventProgress.SceneName, ClientId = NetworkManager.CurrentSessionOwner, LoadSceneMode = sceneEventProgress.LoadSceneMode, ClientsThatCompleted = clientsThatCompleted, @@ -1245,11 +1182,11 @@ private bool OnSceneEventProgressCompleted(SceneEventProgress sceneEventProgress if (sceneEventData.SceneEventType == SceneEventType.LoadEventCompleted) { - OnLoadEventCompleted?.Invoke(SceneNameFromHash(sceneEventProgress.SceneHash), sceneEventProgress.LoadSceneMode, sceneEventData.ClientsCompleted, sceneEventData.ClientsTimedOut); + OnLoadEventCompleted?.Invoke(sceneEventProgress.SceneName, sceneEventProgress.LoadSceneMode, sceneEventData.ClientsCompleted, sceneEventData.ClientsTimedOut); } else { - OnUnloadEventCompleted?.Invoke(SceneNameFromHash(sceneEventProgress.SceneHash), sceneEventProgress.LoadSceneMode, sceneEventData.ClientsCompleted, sceneEventData.ClientsTimedOut); + OnUnloadEventCompleted?.Invoke(sceneEventProgress.SceneName, sceneEventProgress.LoadSceneMode, sceneEventData.ClientsCompleted, sceneEventData.ClientsTimedOut); } EndSceneEvent(sceneEventData.SceneEventId); @@ -1304,7 +1241,7 @@ public SceneEventProgressStatus UnloadScene(Scene scene) var sceneEventData = BeginSceneEvent(); sceneEventData.SceneEventProgressId = sceneEventProgress.Guid; sceneEventData.SceneEventType = SceneEventType.Unload; - sceneEventData.SceneHash = SceneHashFromNameOrPath(sceneName); + sceneEventData.SceneAsset = sceneName; sceneEventData.LoadSceneMode = LoadSceneMode.Additive; // The only scenes unloaded are scenes that were additively loaded sceneEventData.SceneHandle = sceneHandle; @@ -1316,11 +1253,19 @@ public SceneEventProgressStatus UnloadScene(Scene scene) if (!RemoveServerClientSceneHandle(sceneEventData.SceneHandle, scene.handle)) { - Debug.LogError($"Failed to remove {SceneNameFromHash(sceneEventData.SceneHash)} scene handles [Server ({sceneEventData.SceneHandle})][Local({scene.handle})]"); + Debug.LogError($"Failed to remove {sceneEventData.SceneAsset} scene handles [Server ({sceneEventData.SceneHandle})][Local({scene.handle})]"); } - var sceneUnload = SceneManagerHandler.UnloadSceneAsync(scene, sceneEventProgress); - + AsyncOperationHandle sceneUnload; + if (ScenesLoaded[sceneHandle].SceneInstance.HasValue) + { + sceneUnload = SceneManagerHandler.UnloadSceneAsync(ScenesLoaded[sceneHandle], sceneEventProgress); + } + else + { + throw new Exception("Fuuuuck"); + sceneUnload = default; + } // Notify local server that a scene is going to be unloaded OnSceneEvent?.Invoke(new SceneEvent() { @@ -1344,7 +1289,7 @@ public SceneEventProgressStatus UnloadScene(Scene scene) private void OnClientUnloadScene(uint sceneEventId) { var sceneEventData = SceneEventDataStore[sceneEventId]; - var sceneName = SceneNameFromHash(sceneEventData.SceneHash); + var sceneName = sceneEventData.SceneAsset; if (!ServerSceneHandleToClientSceneHandle.ContainsKey(sceneEventData.SceneHandle)) { @@ -1368,7 +1313,7 @@ private void OnClientUnloadScene(uint sceneEventId) // should be migrated temporarily into the DDOL, once the scene is unloaded they will be migrated into the // currently active scene. var networkManager = NetworkManager; - SceneManagerHandler.MoveObjectsFromSceneToDontDestroyOnLoad(ref networkManager, scene); + SceneManagerHandler.MoveObjectsFromSceneToDontDestroyOnLoad(ref networkManager, scene.SceneReference); m_IsSceneEventActive = true; var sceneEventProgress = new SceneEventProgress(NetworkManager) { @@ -1381,8 +1326,16 @@ private void OnClientUnloadScene(uint sceneEventId) SceneEventProgressTracking.Add(sceneEventData.SceneEventProgressId, sceneEventProgress); } - var sceneUnload = SceneManagerHandler.UnloadSceneAsync(scene, sceneEventProgress); - + AsyncOperationHandle sceneUnload; + if (ScenesLoaded[sceneHandle].SceneInstance.HasValue) + { + sceneUnload = SceneManagerHandler.UnloadSceneAsync(ScenesLoaded[sceneHandle], sceneEventProgress); + } + else + { + throw new Exception("Fuuuuck"); + sceneUnload = default; + } SceneManagerHandler.StopTrackingScene(sceneHandle, sceneName, NetworkManager); // Remove our server to scene handle lookup @@ -1409,7 +1362,7 @@ private void OnClientUnloadScene(uint sceneEventId) /// Server and Client: /// Invoked when an additively loaded scene is unloaded /// - private void OnSceneUnloaded(uint sceneEventId) + private void OnSceneUnloaded(uint sceneEventId, string sceneName) { // If we are shutdown or about to shutdown, then ignore this event if (!NetworkManager.IsListening || NetworkManager.ShutdownInProgress) @@ -1451,11 +1404,11 @@ private void OnSceneUnloaded(uint sceneEventId) { SceneEventType = sceneEventData.SceneEventType, LoadSceneMode = sceneEventData.LoadSceneMode, - SceneName = SceneNameFromHash(sceneEventData.SceneHash), + SceneName = sceneEventData.SceneAsset, ClientId = NetworkManager.LocalClientId, }); - OnUnloadComplete?.Invoke(NetworkManager.LocalClientId, SceneNameFromHash(sceneEventData.SceneHash)); + OnUnloadComplete?.Invoke(NetworkManager.LocalClientId, sceneEventData.SceneAsset); if (!HasSceneAuthority()) { @@ -1469,14 +1422,14 @@ private void OnSceneUnloaded(uint sceneEventId) // current instance is the DAHost. var target = NetworkManager.DAHost ? NetworkManager.CurrentSessionOwner : NetworkManager.ServerClientId; var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, target); - NetworkManager.NetworkMetrics.TrackSceneEventSent(target, (uint)sceneEventData.SceneEventType, SceneNameFromHash(sceneEventData.SceneHash), size); + NetworkManager.NetworkMetrics.TrackSceneEventSent(target, (uint)sceneEventData.SceneEventType, sceneEventData.SceneAsset, size); } EndSceneEvent(sceneEventId); // This scene event is now considered "complete" m_IsSceneEventActive = false; } - private void EmptySceneUnloadedOperation(uint sceneEventId) + private void EmptySceneUnloadedOperation(uint sceneEventId, string sceneName) { // Do nothing (this is a stub call since it is only used to flush all additively loaded scenes) } @@ -1494,7 +1447,7 @@ internal void UnloadAdditivelyLoadedScenes(uint sceneEventId) foreach (var keyHandleEntry in ScenesLoaded) { // Validate the scene as well as ignore the DDOL (which will have a negative buildIndex) - if (currentActiveScene.name != keyHandleEntry.Value.name && keyHandleEntry.Value.buildIndex >= 0) + if (currentActiveScene.name != keyHandleEntry.Value.SceneReference.name && keyHandleEntry.Value.SceneReference != DontDestroyOnLoadScene) { var sceneEventProgress = new SceneEventProgress(NetworkManager) { @@ -1502,16 +1455,17 @@ internal void UnloadAdditivelyLoadedScenes(uint sceneEventId) OnSceneEventCompleted = EmptySceneUnloadedOperation }; - if (ClientSceneHandleToServerSceneHandle.ContainsKey(keyHandleEntry.Value.handle)) + if (ClientSceneHandleToServerSceneHandle.TryGetValue(keyHandleEntry.Value.SceneReference.handle, out var serverSceneHandle)) { - var serverSceneHandle = ClientSceneHandleToServerSceneHandle[keyHandleEntry.Value.handle]; ServerSceneHandleToClientSceneHandle.Remove(serverSceneHandle); } - ClientSceneHandleToServerSceneHandle.Remove(keyHandleEntry.Value.handle); + Log.Debug(() => $"Remove ClientSceneHandleToServerSceneHandle {keyHandleEntry.Value.SceneReference.handle}"); + ClientSceneHandleToServerSceneHandle.Remove(keyHandleEntry.Value.SceneReference.handle); var sceneUnload = SceneManagerHandler.UnloadSceneAsync(keyHandleEntry.Value, sceneEventProgress); - SceneUnloadEventHandler.RegisterScene(this, keyHandleEntry.Value, LoadSceneMode.Additive, sceneUnload); + SceneUnloadEventHandler.RegisterScene(this, keyHandleEntry.Value.SceneReference, LoadSceneMode.Additive, sceneUnload); + } } // clear out our scenes loaded list @@ -1519,6 +1473,94 @@ internal void UnloadAdditivelyLoadedScenes(uint sceneEventId) SceneManagerHandler.ClearSceneTracking(NetworkManager); } + public SceneEventProgress LoadAddressableScene(AssetReference sceneReference, LoadSceneMode loadSceneMode) + { + var resourceAsync = Addressables.LoadResourceLocationsAsync(sceneReference); + resourceAsync.WaitForCompletion(); + + var sceneName = ""; + + if (resourceAsync.Status == AsyncOperationStatus.Succeeded) + { + var sceneKey = resourceAsync.Result[0].PrimaryKey; + sceneName = sceneKey; + } + else + { + throw new Exception($"Failed to load scene from resource {resourceAsync.OperationException}"); + } + + var sceneEventProgress = ValidateSceneEventLoading(sceneName); + if (sceneEventProgress.Status != SceneEventProgressStatus.Started) + { + return sceneEventProgress; + } + + // This will be the message we send to everyone when this scene event sceneEventProgress is complete + sceneEventProgress.SceneEventType = SceneEventType.LoadEventCompleted; + sceneEventProgress.LoadSceneMode = loadSceneMode; + + var sceneEventData = BeginSceneEvent(); + + // Now set up the current scene event + sceneEventData.SceneEventProgressId = sceneEventProgress.Guid; + sceneEventData.SceneEventType = SceneEventType.Load; + sceneEventData.SceneAsset = sceneName; + sceneEventData.LoadSceneMode = loadSceneMode; + var sceneEventId = sceneEventData.SceneEventId; + // This both checks to make sure the scene is valid and if not resets the active scene event + m_IsSceneEventActive = ValidateSceneBeforeLoading(sceneEventData.SceneAsset, loadSceneMode); + if (!m_IsSceneEventActive) + { + EndSceneEvent(sceneEventId); + sceneEventProgress.Status = SceneEventProgressStatus.SceneFailedVerification; + return sceneEventProgress; + } + + if (sceneEventData.LoadSceneMode == LoadSceneMode.Single) + { + // Destroy current scene objects before switching. + NetworkManager.SpawnManager.ServerDestroySpawnedSceneObjects(); + + // Preserve the objects that should not be destroyed during the scene event + MoveObjectsToDontDestroyOnLoad(); + + // Now Unload all currently additively loaded scenes + UnloadAdditivelyLoadedScenes(sceneEventId); + + // Register the active scene for unload scene event notifications + SceneUnloadEventHandler.RegisterScene(this, SceneManager.GetActiveScene(), LoadSceneMode.Single); + } + + // Now start loading the scene + sceneEventProgress.SceneEventId = sceneEventId; + sceneEventProgress.OnSceneEventCompleted = OnSceneLoaded; + var sceneLoad = SceneManagerHandler.LoadSceneAsync(sceneName, loadSceneMode, sceneEventProgress); + + // Notify the local server that a scene loading event has begun + OnSceneEvent?.Invoke(new SceneEvent() + { + AsyncOperation = sceneLoad, + SceneEventType = sceneEventData.SceneEventType, + LoadSceneMode = sceneEventData.LoadSceneMode, + SceneName = sceneName, + ClientId = NetworkManager.ServerClientId + }); + + OnLoad?.Invoke(NetworkManager.ServerClientId, sceneName, sceneEventData.LoadSceneMode, sceneLoad); + + //Return our scene progress instance + return sceneEventProgress; + } + + + private static Dictionary s_ResourceLocationsBySceneName = new(); + + public bool PrepareToLoadScene(string sceneName, Action loaded) + { + return false; + } + /// /// Server side: /// Loads the scene name in either additive or single loading mode. @@ -1527,12 +1569,23 @@ internal void UnloadAdditivelyLoadedScenes(uint sceneEventId) /// the name of the scene to be loaded /// how the scene will be loaded (single or additive mode) /// ( means it was successful) - public SceneEventProgressStatus LoadScene(string sceneName, LoadSceneMode loadSceneMode) + public SceneEventProgress LoadScene(string sceneName, LoadSceneMode loadSceneMode) { + // Debug.Log($"[NetworkSceneManager] LoadScene sceneName={sceneName}"); + if (!s_ResourceLocationsBySceneName.TryGetValue(sceneName, out var found)) + { + var resourceLocationAsync = Addressables.LoadResourceLocationsAsync(sceneName); + if (!resourceLocationAsync.IsValid()) + { + return null; + } + } + + // Debug.Log($"[NetworkSceneManager] LoadScene Finished LoadResources sceneName={sceneName}"); var sceneEventProgress = ValidateSceneEventLoading(sceneName); if (sceneEventProgress.Status != SceneEventProgressStatus.Started) { - return sceneEventProgress.Status; + return sceneEventProgress; } // This will be the message we send to everyone when this scene event sceneEventProgress is complete @@ -1544,15 +1597,15 @@ public SceneEventProgressStatus LoadScene(string sceneName, LoadSceneMode loadSc // Now set up the current scene event sceneEventData.SceneEventProgressId = sceneEventProgress.Guid; sceneEventData.SceneEventType = SceneEventType.Load; - sceneEventData.SceneHash = SceneHashFromNameOrPath(sceneName); + sceneEventData.SceneAsset = sceneName; sceneEventData.LoadSceneMode = loadSceneMode; var sceneEventId = sceneEventData.SceneEventId; // This both checks to make sure the scene is valid and if not resets the active scene event - m_IsSceneEventActive = ValidateSceneBeforeLoading(sceneEventData.SceneHash, loadSceneMode); + m_IsSceneEventActive = ValidateSceneBeforeLoading(sceneEventData.SceneAsset, loadSceneMode); if (!m_IsSceneEventActive) { EndSceneEvent(sceneEventId); - return SceneEventProgressStatus.SceneFailedVerification; + return new SceneEventProgress(NetworkManager.Singleton, SceneEventProgressStatus.SceneFailedVerification); } if (sceneEventData.LoadSceneMode == LoadSceneMode.Single) @@ -1580,8 +1633,9 @@ public SceneEventProgressStatus LoadScene(string sceneName, LoadSceneMode loadSc // Now start loading the scene sceneEventProgress.SceneEventId = sceneEventId; sceneEventProgress.OnSceneEventCompleted = OnSceneLoaded; + // Debug.Log($"[NetworkSceneManager] BEGIN SceneManagerHandler.LoadSceneAsync sceneName={sceneName} loadSceneMode={loadSceneMode}"); var sceneLoad = SceneManagerHandler.LoadSceneAsync(sceneName, loadSceneMode, sceneEventProgress); - + // Debug.Log($"[NetworkSceneManager] END SceneManagerHandler.LoadSceneAsync sceneName={sceneName} loadSceneMode={loadSceneMode}"); // Notify the local server that a scene loading event has begun OnSceneEvent?.Invoke(new SceneEvent() { @@ -1594,7 +1648,7 @@ public SceneEventProgressStatus LoadScene(string sceneName, LoadSceneMode loadSc OnLoad?.Invoke(NetworkManager.LocalClientId, sceneName, sceneEventData.LoadSceneMode, sceneLoad); //Return our scene progress instance - return sceneEventProgress.Status; + return sceneEventProgress; } /// @@ -1605,7 +1659,7 @@ internal class SceneUnloadEventHandler { private static Dictionary> s_Instances = new Dictionary>(); - internal static void RegisterScene(NetworkSceneManager networkSceneManager, Scene scene, LoadSceneMode loadSceneMode, AsyncOperation asyncOperation = null) + internal static void RegisterScene(NetworkSceneManager networkSceneManager, Scene scene, LoadSceneMode loadSceneMode, AsyncOperationHandle asyncOperation = default) { var networkManager = networkSceneManager.NetworkManager; if (!s_Instances.ContainsKey(networkManager)) @@ -1650,7 +1704,7 @@ internal static void Shutdown() } private NetworkSceneManager m_NetworkSceneManager; - private AsyncOperation m_AsyncOperation; + private AsyncOperationHandle m_AsyncOperation; private LoadSceneMode m_LoadSceneMode; private ulong m_ClientId; private Scene m_Scene; @@ -1683,7 +1737,7 @@ private void SceneUnloaded(Scene scene) } } - private SceneUnloadEventHandler(NetworkSceneManager networkSceneManager, Scene scene, ulong clientId, LoadSceneMode loadSceneMode, AsyncOperation asyncOperation = null) + private SceneUnloadEventHandler(NetworkSceneManager networkSceneManager, Scene scene, ulong clientId, LoadSceneMode loadSceneMode, AsyncOperationHandle asyncOperation = default) { m_LoadSceneMode = loadSceneMode; m_AsyncOperation = asyncOperation; @@ -1701,7 +1755,7 @@ private SceneUnloadEventHandler(NetworkSceneManager networkSceneManager, Scene s ClientId = clientId }); - m_NetworkSceneManager.OnUnload?.Invoke(networkSceneManager.NetworkManager.LocalClientId, m_Scene.name, null); + m_NetworkSceneManager.OnUnload?.Invoke(networkSceneManager.NetworkManager.LocalClientId, m_Scene.name, default); } } @@ -1713,10 +1767,10 @@ private SceneUnloadEventHandler(NetworkSceneManager networkSceneManager, Scene s private void OnClientSceneLoadingEvent(uint sceneEventId) { var sceneEventData = SceneEventDataStore[sceneEventId]; - var sceneName = SceneNameFromHash(sceneEventData.SceneHash); + var sceneName = sceneEventData.SceneAsset; // Run scene validation before loading a scene - if (!ValidateSceneBeforeLoading(sceneEventData.SceneHash, sceneEventData.LoadSceneMode)) + if (!ValidateSceneBeforeLoading(sceneEventData.SceneAsset, sceneEventData.LoadSceneMode)) { EndSceneEvent(sceneEventId); return; @@ -1774,7 +1828,7 @@ private void OnClientSceneLoadingEvent(uint sceneEventId) /// Client and Server: /// Generic on scene loaded callback method to be called upon a scene loading /// - private void OnSceneLoaded(uint sceneEventId) + private void OnSceneLoaded(uint sceneEventId, string loadedSceneName) { // If we are shutdown or about to shutdown, then ignore this event if (!NetworkManager.IsListening || NetworkManager.ShutdownInProgress) @@ -1784,11 +1838,12 @@ private void OnSceneLoaded(uint sceneEventId) } var sceneEventData = SceneEventDataStore[sceneEventId]; - var nextScene = GetAndAddNewlyLoadedSceneByName(SceneNameFromHash(sceneEventData.SceneHash)); - if (!nextScene.isLoaded || !nextScene.IsValid()) + var nextScene = GetAndAddNewlyLoadedSceneByName(loadedSceneName); + if (!nextScene.IsValid()) { throw new Exception($"Failed to find valid scene internal Unity.Netcode for {nameof(GameObject)}s error!"); } + // If we async loaded a single scene, the active will activate it if (sceneEventData.LoadSceneMode == LoadSceneMode.Single) { @@ -1820,6 +1875,8 @@ private void OnSceneLoaded(uint sceneEventId) } } + Log.Debug(() => "OnSceneLoaded"); + //Get all NetworkObjects loaded by the scene PopulateScenePlacedObjects(nextScene); @@ -1861,6 +1918,8 @@ private void OnSceneLoaded(uint sceneEventId) /// private void OnSessionOwnerLoadedScene(uint sceneEventId, Scene scene) { + // Debug.Log($"NetworkSceneManager - OnServerLoadedScene eventId:{sceneEventId} scene:{scene.name}"); + var sceneEventData = SceneEventDataStore[sceneEventId]; // Register in-scene placed NetworkObjects with spawn manager foreach (var keyValuePairByGlobalObjectIdHash in ScenePlacedObjects) @@ -1910,12 +1969,12 @@ private void OnSessionOwnerLoadedScene(uint sceneEventId, Scene scene) { SceneEventType = sceneEventData.SceneEventType, LoadSceneMode = sceneEventData.LoadSceneMode, - SceneName = SceneNameFromHash(sceneEventData.SceneHash), - ClientId = NetworkManager.LocalClientId, + SceneName = sceneEventData.SceneAsset, + ClientId = NetworkManager.ServerClientId, Scene = scene, }); - OnLoadComplete?.Invoke(NetworkManager.LocalClientId, SceneNameFromHash(sceneEventData.SceneHash), sceneEventData.LoadSceneMode); + OnLoadComplete?.Invoke(NetworkManager.ServerClientId, sceneEventData.SceneAsset, sceneEventData.LoadSceneMode); //Second, only if we are a host do we want register having loaded for the associated SceneEventProgress if (SceneEventProgressTracking.ContainsKey(sceneEventData.SceneEventProgressId) && NetworkManager.IsClient) @@ -1946,7 +2005,7 @@ private void OnClientLoadedScene(uint sceneEventId, Scene scene) }; var target = NetworkManager.DAHost ? NetworkManager.CurrentSessionOwner : NetworkManager.ServerClientId; var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, target); - NetworkManager.NetworkMetrics.TrackSceneEventSent(target, (uint)sceneEventData.SceneEventType, SceneNameFromHash(sceneEventData.SceneHash), size); + NetworkManager.NetworkMetrics.TrackSceneEventSent(target, (uint)sceneEventData.SceneEventType, sceneEventData.SceneAsset, size); } else { @@ -1969,12 +2028,12 @@ private void OnClientLoadedScene(uint sceneEventId, Scene scene) { SceneEventType = SceneEventType.LoadComplete, LoadSceneMode = sceneEventData.LoadSceneMode, - SceneName = SceneNameFromHash(sceneEventData.SceneHash), + SceneName = sceneEventData.SceneAsset, ClientId = NetworkManager.LocalClientId, Scene = scene, }); - OnLoadComplete?.Invoke(NetworkManager.LocalClientId, SceneNameFromHash(sceneEventData.SceneHash), sceneEventData.LoadSceneMode); + OnLoadComplete?.Invoke(NetworkManager.LocalClientId, sceneEventData.SceneAsset, sceneEventData.LoadSceneMode); EndSceneEvent(sceneEventId); } @@ -2036,10 +2095,10 @@ internal void SynchronizeNetworkObjects(ulong clientId, bool synchronizingServic sceneEventData.LoadSceneMode = ClientSynchronizationMode; var activeScene = SceneManager.GetActiveScene(); sceneEventData.SceneEventType = SceneEventType.Synchronize; - if (BuildIndexToHash.ContainsKey(activeScene.buildIndex)) - { - sceneEventData.ActiveSceneHash = BuildIndexToHash[activeScene.buildIndex]; - } + // if (BuildIndexToHash.ContainsKey(activeScene.buildIndex)) + // { + // sceneEventData.ActiveSceneHash = BuildIndexToHash[activeScene.buildIndex]; + // } // Organize how (and when) we serialize our NetworkObjects for (int i = 0; i < SceneManager.sceneCount; i++) @@ -2053,6 +2112,7 @@ internal void SynchronizeNetworkObjects(ulong clientId, bool synchronizingServic continue; } + var sceneHash = scene.name; if (scene == DontDestroyOnLoadScene) { continue; @@ -2062,11 +2122,11 @@ internal void SynchronizeNetworkObjects(ulong clientId, bool synchronizingServic // If we are the base scene, then we set the root scene index; if (activeScene == scene) { - if (!ValidateSceneBeforeLoading(scene.buildIndex, scene.name, sceneEventData.LoadSceneMode)) + if (!ValidateSceneBeforeLoading(sceneHash, sceneEventData.LoadSceneMode)) { continue; } - sceneEventData.SceneHash = SceneHashFromNameOrPath(scene.path); + sceneEventData.SceneAsset = scene.name; // If we are just a normal client, then always use the server scene handle if (NetworkManager.DistributedAuthorityMode) @@ -2079,7 +2139,7 @@ internal void SynchronizeNetworkObjects(ulong clientId, bool synchronizingServic sceneEventData.SceneHandle = scene.handle; } } - else if (!ValidateSceneBeforeLoading(scene.buildIndex, scene.name, LoadSceneMode.Additive)) + else if (!ValidateSceneBeforeLoading(sceneHash, LoadSceneMode.Additive)) { continue; } @@ -2087,11 +2147,11 @@ internal void SynchronizeNetworkObjects(ulong clientId, bool synchronizingServic // If we are just a normal client and in distributed authority mode, then always use the known server scene handle if (NetworkManager.DistributedAuthorityMode && !NetworkManager.DAHost) { - sceneEventData.AddSceneToSynchronize(SceneHashFromNameOrPath(scene.path), ClientSceneHandleToServerSceneHandle[scene.handle]); + sceneEventData.AddSceneToSynchronize(sceneHash, ClientSceneHandleToServerSceneHandle[scene.handle]); } else { - sceneEventData.AddSceneToSynchronize(SceneHashFromNameOrPath(scene.path), scene.handle); + sceneEventData.AddSceneToSynchronize(sceneHash, scene.handle); } } @@ -2136,17 +2196,17 @@ private void OnClientBeginSync(uint sceneEventId) var sceneEventData = SceneEventDataStore[sceneEventId]; var sceneHash = sceneEventData.GetNextSceneSynchronizationHash(); var sceneHandle = sceneEventData.GetNextSceneSynchronizationHandle(); - var sceneName = SceneNameFromHash(sceneHash); + var sceneName = sceneHash; var activeScene = SceneManager.GetActiveScene(); - var loadSceneMode = sceneHash == sceneEventData.SceneHash ? sceneEventData.LoadSceneMode : LoadSceneMode.Additive; + var loadSceneMode = sceneHash == sceneEventData.SceneAsset ? sceneEventData.LoadSceneMode : LoadSceneMode.Additive; // Store the sceneHandle and hash sceneEventData.NetworkSceneHandle = sceneHandle; - sceneEventData.ClientSceneHash = sceneHash; + sceneEventData.SceneAsset = sceneHash; // If this is the beginning of the synchronization event, then send client a notification that synchronization has begun - if (sceneHash == sceneEventData.SceneHash) + if (sceneHash == sceneEventData.SceneAsset) { OnSceneEvent?.Invoke(new SceneEvent() { @@ -2168,14 +2228,14 @@ private void OnClientBeginSync(uint sceneEventId) return; } - var sceneLoad = (AsyncOperation)null; + var sceneLoad = (AsyncOperationHandle)default; // Determines if the client has the scene to be loaded already loaded, if so will return true and the client will skip loading this scene // For ClientSynchronizationMode LoadSceneMode.Single, we pass in whether the scene being loaded is the first/primary active scene and if it is already loaded // it should pass through to post load processing (ClientLoadedSynchronization). // For ClientSynchronizationMode LoadSceneMode.Additive, if the scene is already loaded or the active scene is the scene to be loaded (does not require it to // be the initial primary scene) then go ahead and pass through to post load processing (ClientLoadedSynchronization). - var shouldPassThrough = SceneManagerHandler.ClientShouldPassThrough(sceneName, sceneHash == sceneEventData.SceneHash, ClientSynchronizationMode, NetworkManager); + var shouldPassThrough = SceneManagerHandler.ClientShouldPassThrough(sceneName, sceneName == sceneEventData.SceneAsset, ClientSynchronizationMode, NetworkManager); if (!shouldPassThrough) { @@ -2185,7 +2245,9 @@ private void OnClientBeginSync(uint sceneEventId) SceneEventId = sceneEventId, OnSceneEventCompleted = ClientLoadedSynchronization }; + // Debug.Log($"[NetworkSceneManager] OnClientBeginSync BEGIN SceneManagerHandler.LoadSceneAsync sceneName={sceneName} loadSceneMode={loadSceneMode}"); sceneLoad = SceneManagerHandler.LoadSceneAsync(sceneName, loadSceneMode, sceneEventProgress); + // Debug.Log($"[NetworkSceneManager] OnClientBeginSync END SceneManagerHandler.LoadSceneAsync sceneName={sceneName} loadSceneMode={loadSceneMode}"); // Notify local client that a scene load has begun OnSceneEvent?.Invoke(new SceneEvent() @@ -2202,7 +2264,7 @@ private void OnClientBeginSync(uint sceneEventId) else { // If so, then pass through - ClientLoadedSynchronization(sceneEventId); + ClientLoadedSynchronization(sceneEventId, sceneName); } } @@ -2211,10 +2273,9 @@ private void OnClientBeginSync(uint sceneEventId) /// This handles all of the in-scene and dynamically spawned NetworkObject synchronization /// /// Netcode scene index that was loaded - private void ClientLoadedSynchronization(uint sceneEventId) + private void ClientLoadedSynchronization(uint sceneEventId, string sceneName) { var sceneEventData = SceneEventDataStore[sceneEventId]; - var sceneName = SceneNameFromHash(sceneEventData.ClientSceneHash); var nextScene = SceneManagerHandler.GetSceneFromLoadedScenes(sceneName, NetworkManager); if (!nextScene.IsValid()) { @@ -2226,7 +2287,7 @@ private void ClientLoadedSynchronization(uint sceneEventId) throw new Exception($"Failed to find valid scene internal Unity.Netcode for {nameof(GameObject)}s error!"); } - var loadSceneMode = (sceneEventData.ClientSceneHash == sceneEventData.SceneHash ? sceneEventData.LoadSceneMode : LoadSceneMode.Additive); + var loadSceneMode = (sceneEventData.ClientSceneName == sceneEventData.SceneAsset ? sceneEventData.LoadSceneMode : LoadSceneMode.Additive); // For now, during a synchronization event, we will make the first scene the "base/master" scene that denotes a "complete scene switch" if (loadSceneMode == LoadSceneMode.Single) @@ -2241,6 +2302,8 @@ private void ClientLoadedSynchronization(uint sceneEventId) throw new Exception($"Server Scene Handle ({sceneEventData.SceneHandle}) already exist! Happened during scene load of {nextScene.name} with Client Handle ({nextScene.handle})"); } + Log.Debug(() => $"ClientLoadedSynchronization sceneName={sceneName}"); + // Apply all in-scene placed NetworkObjects loaded by the scene PopulateScenePlacedObjects(nextScene, false); @@ -2248,7 +2311,7 @@ private void ClientLoadedSynchronization(uint sceneEventId) var responseSceneEventData = BeginSceneEvent(); responseSceneEventData.LoadSceneMode = loadSceneMode; responseSceneEventData.SceneEventType = SceneEventType.LoadComplete; - responseSceneEventData.SceneHash = sceneEventData.ClientSceneHash; + responseSceneEventData.SceneAsset = sceneEventData.ClientSceneName; var target = NetworkManager.ServerClientId; if (NetworkManager.DistributedAuthorityMode) @@ -2308,12 +2371,12 @@ private void SynchronizeNetworkObjectScene() if (ScenesLoaded.ContainsKey(networkObject.SceneOriginHandle)) { var scene = ScenesLoaded[networkObject.SceneOriginHandle]; - if (scene == DontDestroyOnLoadScene) + if (scene.SceneReference == DontDestroyOnLoadScene) { Debug.Log($"{networkObject.gameObject.name} migrating into DDOL!"); } - SceneManager.MoveGameObjectToScene(networkObject.gameObject, scene); + SceneManager.MoveGameObjectToScene(networkObject.gameObject, scene.SceneReference); } else if (NetworkManager.LogLevel <= LogLevel.Normal) { @@ -2337,13 +2400,10 @@ private void HandleClientSceneEvent(uint sceneEventId) { case SceneEventType.ActiveSceneChanged: { - if (HashToBuildIndex.ContainsKey(sceneEventData.ActiveSceneHash)) + var scene = SceneManager.GetSceneByName(sceneEventData.ClientSceneName); + if (scene.isLoaded) { - var scene = SceneManager.GetSceneByBuildIndex(HashToBuildIndex[sceneEventData.ActiveSceneHash]); - if (scene.isLoaded) - { - SceneManager.SetActiveScene(scene); - } + SceneManager.SetActiveScene(scene); } EndSceneEvent(sceneEventId); break; @@ -2371,17 +2431,16 @@ private void HandleClientSceneEvent(uint sceneEventId) } else { + Log.Debug(() => $"SceneEventType.Synchronize sceneName={sceneEventData.ClientSceneName}"); + // Include anything in the DDOL scene PopulateScenePlacedObjects(DontDestroyOnLoadScene, false); // If needed, set the currently active scene - if (HashToBuildIndex.ContainsKey(sceneEventData.ActiveSceneHash)) + var targetActiveScene = SceneManager.GetSceneByName(sceneEventData.ClientSceneName); + if (targetActiveScene.isLoaded && targetActiveScene.handle != SceneManager.GetActiveScene().handle) { - var targetActiveScene = SceneManager.GetSceneByBuildIndex(HashToBuildIndex[sceneEventData.ActiveSceneHash]); - if (targetActiveScene.isLoaded && targetActiveScene.handle != SceneManager.GetActiveScene().handle) - { - SceneManager.SetActiveScene(targetActiveScene); - } + SceneManager.SetActiveScene(targetActiveScene); } // Spawn and Synchronize all NetworkObjects @@ -2412,7 +2471,7 @@ private void HandleClientSceneEvent(uint sceneEventId) }; var target = NetworkManager.DAHost ? NetworkManager.CurrentSessionOwner : NetworkManager.ServerClientId; var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, target); - NetworkManager.NetworkMetrics.TrackSceneEventSent(target, (uint)sceneEventData.SceneEventType, SceneNameFromHash(sceneEventData.SceneHash), size); + NetworkManager.NetworkMetrics.TrackSceneEventSent(target, (uint)sceneEventData.SceneEventType, sceneEventData.SceneAsset, size); } } else @@ -2425,7 +2484,7 @@ private void HandleClientSceneEvent(uint sceneEventId) }; var target = NetworkManager.DAHost ? NetworkManager.CurrentSessionOwner : NetworkManager.ServerClientId; var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, target); - NetworkManager.NetworkMetrics.TrackSceneEventSent(target, (uint)sceneEventData.SceneEventType, SceneNameFromHash(sceneEventData.SceneHash), size); + NetworkManager.NetworkMetrics.TrackSceneEventSent(target, (uint)sceneEventData.SceneEventType, sceneEventData.SceneAsset, size); } } else @@ -2506,7 +2565,7 @@ private void HandleClientSceneEvent(uint sceneEventId) { SceneEventType = sceneEventData.SceneEventType, LoadSceneMode = sceneEventData.LoadSceneMode, - SceneName = SceneNameFromHash(sceneEventData.SceneHash), + SceneName = sceneEventData.SceneAsset, ClientId = NetworkManager.ServerClientId, ClientsThatCompleted = sceneEventData.ClientsCompleted, ClientsThatTimedOut = sceneEventData.ClientsTimedOut, @@ -2514,11 +2573,11 @@ private void HandleClientSceneEvent(uint sceneEventId) if (sceneEventData.SceneEventType == SceneEventType.LoadEventCompleted) { - OnLoadEventCompleted?.Invoke(SceneNameFromHash(sceneEventData.SceneHash), sceneEventData.LoadSceneMode, sceneEventData.ClientsCompleted, sceneEventData.ClientsTimedOut); + OnLoadEventCompleted?.Invoke(sceneEventData.SceneAsset, sceneEventData.LoadSceneMode, sceneEventData.ClientsCompleted, sceneEventData.ClientsTimedOut); } else { - OnUnloadEventCompleted?.Invoke(SceneNameFromHash(sceneEventData.SceneHash), sceneEventData.LoadSceneMode, sceneEventData.ClientsCompleted, sceneEventData.ClientsTimedOut); + OnUnloadEventCompleted?.Invoke(sceneEventData.SceneAsset, sceneEventData.LoadSceneMode, sceneEventData.ClientsCompleted, sceneEventData.ClientsTimedOut); } EndSceneEvent(sceneEventId); @@ -2549,11 +2608,11 @@ private void HandleSessionOwnerEvent(uint sceneEventId, ulong clientId) { SceneEventType = sceneEventData.SceneEventType, LoadSceneMode = sceneEventData.LoadSceneMode, - SceneName = SceneNameFromHash(sceneEventData.SceneHash), + SceneName = sceneEventData.SceneAsset, ClientId = clientId }); - OnLoadComplete?.Invoke(clientId, SceneNameFromHash(sceneEventData.SceneHash), sceneEventData.LoadSceneMode); + OnLoadComplete?.Invoke(clientId, sceneEventData.SceneAsset, sceneEventData.LoadSceneMode); if (SceneEventProgressTracking.ContainsKey(sceneEventData.SceneEventProgressId)) { @@ -2573,11 +2632,11 @@ private void HandleSessionOwnerEvent(uint sceneEventId, ulong clientId) { SceneEventType = sceneEventData.SceneEventType, LoadSceneMode = sceneEventData.LoadSceneMode, - SceneName = SceneNameFromHash(sceneEventData.SceneHash), + SceneName = sceneEventData.SceneAsset, ClientId = clientId }); - OnUnloadComplete?.Invoke(clientId, SceneNameFromHash(sceneEventData.SceneHash)); + OnUnloadComplete?.Invoke(clientId, sceneEventData.SceneAsset); EndSceneEvent(sceneEventId); break; @@ -2772,7 +2831,7 @@ internal void HandleSceneEvent(ulong clientId, FastBufferReader reader) } NetworkManager.NetworkMetrics.TrackSceneEventReceived( - clientId, (uint)sceneEventData.SceneEventType, SceneNameFromHash(sceneEventData.SceneHash), reader.Length); + clientId, (uint)sceneEventData.SceneEventType, sceneEventData.SceneAsset, reader.Length); if (sceneEventData.IsSceneEventClientSide()) { @@ -2839,11 +2898,23 @@ internal void MoveObjectsToDontDestroyOnLoad() // Only move dynamically spawned NetworkObjects with no parent as the children will follow if (networkObject.gameObject.transform.parent == null && networkObject.IsSceneObject != null && !networkObject.IsSceneObject.Value) { - UnityEngine.Object.DontDestroyOnLoad(networkObject.gameObject); - // When temporarily migrating to the DDOL, adjust the network and origin scene handles so no messages are generated - // about objects being moved to a new scene. - networkObject.NetworkSceneHandle = ClientSceneHandleToServerSceneHandle[networkObject.gameObject.scene.handle]; - networkObject.SceneOriginHandle = networkObject.gameObject.scene.handle; + try + { + Object.DontDestroyOnLoad(networkObject.gameObject); + // When temporarily migrating to the DDOL, adjust the network and origin scene handles so no messages are generated + // about objects being moved to a new scene. + networkObject.NetworkSceneHandle = ClientSceneHandleToServerSceneHandle[networkObject.gameObject.scene.handle]; + networkObject.SceneOriginHandle = networkObject.gameObject.scene.handle; + } + catch (Exception e) + { + string allEntities = ""; + foreach (var kvp in ClientSceneHandleToServerSceneHandle) + { + allEntities += $"{kvp.Key}={kvp.Value},"; + } + Log.Error(() => $"Failed to move object={networkObject} to DDOL [{allEntities}] e={e}"); + } } } else if (networkObject.HasAuthority) @@ -2865,6 +2936,7 @@ internal void MoveObjectsToDontDestroyOnLoad() /// internal void PopulateScenePlacedObjects(Scene sceneToFilterBy, bool clearScenePlacedObjects = true) { + Log.Debug(() => $"PopulateScenePlacedObjects Scene={sceneToFilterBy.name} clearScenePlacedObjects={clearScenePlacedObjects}"); if (clearScenePlacedObjects) { ScenePlacedObjects.Clear(); @@ -2884,6 +2956,7 @@ internal void PopulateScenePlacedObjects(Scene sceneToFilterBy, bool clearSceneP { var globalObjectIdHash = networkObjectInstance.GlobalObjectIdHash; var sceneHandle = networkObjectInstance.gameObject.scene.handle; + Log.Debug(() => $"PopulateScenePlacedObjects object={networkObjectInstance.gameObject} sceneHandle={sceneHandle} hash={globalObjectIdHash}"); // We check to make sure the NetworkManager instance is the same one to be "NetcodeIntegrationTestHelpers" compatible and filter the list on a per scene basis (for additive scenes) if (networkObjectInstance.IsSceneObject != false && (networkObjectInstance.NetworkManager == NetworkManager || networkObjectInstance.NetworkManagerOwner == null) && sceneHandle == sceneToFilterBy.handle) @@ -2899,9 +2972,11 @@ internal void PopulateScenePlacedObjects(Scene sceneToFilterBy, bool clearSceneP } else { + Log.Error(() => $"Duplicate hash ids from object={ScenePlacedObjects[globalObjectIdHash][sceneHandle].gameObject.NetworkGetScenePath()}"); var exitingEntryName = ScenePlacedObjects[globalObjectIdHash][sceneHandle] != null ? ScenePlacedObjects[globalObjectIdHash][sceneHandle].name : "Null Entry"; - throw new Exception($"{networkObjectInstance.name} tried to registered with {nameof(ScenePlacedObjects)} which already contains " + + string expStr = ($"{networkObjectInstance.name} tried to registered with {nameof(ScenePlacedObjects)} which already contains " + $"the same {nameof(NetworkObject.GlobalObjectIdHash)} value {globalObjectIdHash} for {exitingEntryName}!"); + Log.Error(() => expStr); } } } @@ -3029,7 +3104,7 @@ internal void NotifyNetworkObjectSceneChanged(NetworkObject networkObject) /// or invoked by when a client finishes /// synchronization. /// - internal void MigrateNetworkObjectsIntoScenes() + public void MigrateNetworkObjectsIntoScenes() { try { @@ -3049,9 +3124,9 @@ internal void MigrateNetworkObjectsIntoScenes() var scene = ScenesLoaded[clientSceneHandle]; foreach (var networkObject in ownerEntry.Value) { - SceneManager.MoveGameObjectToScene(networkObject.gameObject, scene); + SceneManager.MoveGameObjectToScene(networkObject.gameObject, scene.SceneReference); networkObject.NetworkSceneHandle = sceneEntry.Key; - networkObject.SceneOriginHandle = scene.handle; + networkObject.SceneOriginHandle = scene.SceneReference.handle; } } } @@ -3280,7 +3355,7 @@ public List GetSceneMapping(MapTypes mapType) { foreach (var entry in ServerSceneHandleToClientSceneHandle) { - var scene = ScenesLoaded[entry.Value]; + var scene = ScenesLoaded[entry.Value].SceneReference; var sceneIsPresent = scene.IsValid() && scene.isLoaded; var sceneMap = new SceneMap() { @@ -3299,7 +3374,7 @@ public List GetSceneMapping(MapTypes mapType) { foreach (var entry in ClientSceneHandleToServerSceneHandle) { - var scene = ScenesLoaded[entry.Key]; + var scene = ScenesLoaded[entry.Key].SceneReference; var sceneIsPresent = scene.IsValid() && scene.isLoaded; var sceneMap = new SceneMap() { diff --git a/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventData.cs b/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventData.cs index 943f54aff2..d0eff4ee43 100644 --- a/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventData.cs +++ b/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventData.cs @@ -3,6 +3,7 @@ using System.Linq; using System.Text; using Unity.Collections; +using UnityEngine; using UnityEngine.SceneManagement; namespace Unity.Netcode @@ -105,12 +106,12 @@ internal class SceneEventData : IDisposable internal ForceNetworkSerializeByMemcpy SceneEventProgressId; internal uint SceneEventId; - internal uint ActiveSceneHash; - internal uint SceneHash; + internal string ActiveSceneAsset; + internal string SceneAsset; internal int SceneHandle; // Used by the client during synchronization - internal uint ClientSceneHash; + internal string ClientSceneName; internal int NetworkSceneHandle; /// Only used for scene events, this assures permissions when writing @@ -150,7 +151,7 @@ internal class SceneEventData : IDisposable internal List ClientsCompleted; internal List ClientsTimedOut; - internal Queue ScenesToSynchronize; + internal Queue ScenesToSynchronize; internal Queue SceneHandlesToSynchronize; internal LoadSceneMode ClientSynchronizationMode; @@ -170,7 +171,7 @@ internal class SceneEventData : IDisposable /// /// /// - internal void AddSceneToSynchronize(uint sceneHash, int sceneHandle) + internal void AddSceneToSynchronize(string sceneHash, int sceneHandle) { ScenesToSynchronize.Enqueue(sceneHash); SceneHandlesToSynchronize.Enqueue((uint)sceneHandle); @@ -181,7 +182,7 @@ internal void AddSceneToSynchronize(uint sceneHash, int sceneHandle) /// Gets the next scene hash to be loaded for approval and/or late joining ///
/// - internal uint GetNextSceneSynchronizationHash() + internal string GetNextSceneSynchronizationHash() { return ScenesToSynchronize.Dequeue(); } @@ -232,7 +233,7 @@ internal void InitializeForSynch() if (ScenesToSynchronize == null) { - ScenesToSynchronize = new Queue(); + ScenesToSynchronize = new Queue(); } else { @@ -491,7 +492,7 @@ internal void Serialize(FastBufferWriter writer) if (SceneEventType == SceneEventType.ActiveSceneChanged) { - writer.WriteValueSafe(ActiveSceneHash); + writer.WriteValueSafe(ActiveSceneAsset); return; } @@ -515,15 +516,21 @@ internal void Serialize(FastBufferWriter writer) } // Write the scene index and handle - writer.WriteValueSafe(SceneHash); + var sceneName = SceneAsset ?? ""; + writer.WriteValueSafe(sceneName); writer.WriteValueSafe(SceneHandle); switch (SceneEventType) { case SceneEventType.Synchronize: { - writer.WriteValueSafe(ActiveSceneHash); + if (ActiveSceneAsset == null) + { + Debug.LogError($"Synchronizing - ActiveSceneAsset but it hasn't been initialized yet"); + ActiveSceneAsset = ""; + } + writer.WriteValueSafe(ActiveSceneAsset); WriteSceneSynchronizationData(writer); if (EnableSerializationLogs) @@ -582,7 +589,13 @@ internal void WriteSceneSynchronizationData(FastBufferWriter writer) builder.AppendLine($"[Write][Synchronize-Start][WPos: {writer.Position}] Begin:"); } // Write the scenes we want to load, in the order we want to load them - writer.WriteValueSafe(ScenesToSynchronize.ToArray()); + var valArray = ScenesToSynchronize.ToArray(); + writer.WriteValueSafe(valArray.Length); + foreach (var v in valArray) + { + writer.WriteValueSafe(v); + } + writer.WriteValueSafe(SceneHandlesToSynchronize.ToArray()); // Store our current position in the stream to come back and say how much data we have written var positionStart = writer.Position; @@ -737,7 +750,7 @@ internal void Deserialize(FastBufferReader reader) if (SceneEventType == SceneEventType.ActiveSceneChanged) { - reader.ReadValueSafe(out ActiveSceneHash); + reader.ReadValueSafe(out ActiveSceneAsset); return; } @@ -767,14 +780,14 @@ internal void Deserialize(FastBufferReader reader) reader.ReadValueSafe(out ClientSynchronizationMode); } - reader.ReadValueSafe(out SceneHash); + reader.ReadValueSafe(out SceneAsset); reader.ReadValueSafe(out SceneHandle); switch (SceneEventType) { case SceneEventType.Synchronize: { - reader.ReadValueSafe(out ActiveSceneHash); + reader.ReadValueSafe(out ActiveSceneAsset); if (EnableSerializationLogs) { LogArray(reader.ToArray(), 0, reader.Length); @@ -824,9 +837,15 @@ internal void Deserialize(FastBufferReader reader) internal void CopySceneSynchronizationData(FastBufferReader reader) { m_NetworkObjectsSync.Clear(); - reader.ReadValueSafe(out uint[] scenesToSynchronize); + reader.ReadValueSafe(out int sceneCount); + ScenesToSynchronize = new Queue(); + for (int i = 0; i < sceneCount; i++) + { + reader.ReadValueSafe(out string s); + ScenesToSynchronize.Enqueue(s); + } + reader.ReadValueSafe(out uint[] sceneHandlesToSynchronize); - ScenesToSynchronize = new Queue(scenesToSynchronize); SceneHandlesToSynchronize = new Queue(sceneHandlesToSynchronize); // is not packed! diff --git a/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventProgress.cs b/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventProgress.cs index e9b52a218e..5b1858b362 100644 --- a/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventProgress.cs +++ b/com.unity.netcode.gameobjects/Runtime/SceneManagement/SceneEventProgress.cs @@ -1,7 +1,11 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Threading.Tasks; +using TrollKing.Core; using UnityEngine; +using UnityEngine.ResourceManagement.AsyncOperations; +using UnityEngine.ResourceManagement.ResourceProviders; using UnityEngine.SceneManagement; using AsyncOperation = UnityEngine.AsyncOperation; @@ -65,8 +69,10 @@ public enum SceneEventProgressStatus /// Server side only: /// This tracks the progress of clients during a load or unload scene event ///
- internal class SceneEventProgress + public class SceneEventProgress { + private static NetworkLogScope Log = new NetworkLogScope(nameof(SceneEventProgress)); + /// /// List of clientIds of those clients that is done loading the scene. /// @@ -81,14 +87,14 @@ internal class SceneEventProgress /// /// Delegate type for when the switch scene progress is completed. Either by all clients done loading the scene or by time out. /// - internal delegate bool OnCompletedDelegate(SceneEventProgress sceneEventProgress); + public delegate bool OnCompletedDelegate(SceneEventProgress sceneEventProgress); /// /// The callback invoked when the switch scene progress is completed. Either by all clients done loading the scene or by time out. /// - internal OnCompletedDelegate OnComplete; + public OnCompletedDelegate OnComplete; - internal Action OnSceneEventCompleted; + public Action OnSceneEventCompleted; /// /// This will make sure that we only have timed out if we never completed @@ -101,17 +107,17 @@ internal bool HasTimedOut() /// /// The hash value generated from the full scene path /// - internal uint SceneHash { get; set; } + internal string SceneName { get; set; } internal Guid Guid { get; } = Guid.NewGuid(); internal uint SceneEventId; private Coroutine m_TimeOutCoroutine; - private AsyncOperation m_AsyncOperation; + private AsyncOperationHandle m_AsyncOperation; private NetworkManager m_NetworkManager { get; } - internal SceneEventProgressStatus Status { get; set; } + public SceneEventProgressStatus Status { get; set; } internal SceneEventType SceneEventType { get; set; } @@ -124,7 +130,7 @@ internal List GetClientsWithStatus(bool completedSceneEvent) { // If we are the host, then add the host-client to the list // of clients that completed if the AsyncOperation is done. - if (m_NetworkManager.IsHost && m_AsyncOperation.isDone) + if (m_NetworkManager.IsHost && m_AsyncOperation.IsDone) { clients.Add(m_NetworkManager.LocalClientId); } @@ -143,7 +149,7 @@ internal List GetClientsWithStatus(bool completedSceneEvent) // If we are the host, then add the host-client to the list // of clients that did not complete if the AsyncOperation is // not done. - if (m_NetworkManager.IsHost && !m_AsyncOperation.isDone) + if (m_NetworkManager.IsHost && !m_AsyncOperation.IsDone) { clients.Add(m_NetworkManager.LocalClientId); } @@ -254,22 +260,65 @@ private bool HasFinished() // Note: Integration tests process scene loading through a queue // and the AsyncOperation could not be assigned for several // network tick periods. Return false if that is the case. - return m_AsyncOperation == null ? false : m_AsyncOperation.isDone; + + // If we're async loading a scene that we tell not to activate, we need to check that the downstream scene has been activated before calling out + var initialValid = m_AsyncOperation.IsValid() && m_AsyncOperation.IsDone; + if (initialValid) + { + var res = m_AsyncOperation.Result; + return res.Scene.isLoaded; + } + + return false; + } + + public AsyncOperationHandle GetHandle() + { + return m_AsyncOperation; } /// /// Sets the AsyncOperation for the scene load/unload event /// - internal void SetAsyncOperation(AsyncOperation asyncOperation) + public void SetAsyncOperation(AsyncOperationHandle asyncOperation) { + if (!asyncOperation.IsValid()) + { + Log.Error(() => $"Async Operation handle is invalid!"); + return; + } + + // Debug.Log($"[SceneEventProgress] SetAsyncOperation "); m_AsyncOperation = asyncOperation; - m_AsyncOperation.completed += new Action(asyncOp2 => + m_AsyncOperation.Completed += new Action>(asyncOp2 => { // Don't invoke the callback if the network session is disconnected // during a SceneEventProgress - if (IsNetworkSessionActive()) + if (asyncOp2.Status == AsyncOperationStatus.Succeeded) + { + var sceneInstance = asyncOp2.Result; + if (!sceneInstance.Scene.isLoaded) + { + var asyncLoad = sceneInstance.ActivateAsync(); + asyncLoad.completed += operation => + { + if (IsNetworkSessionActive()) + { + OnSceneEventCompleted?.Invoke(SceneEventId, asyncOp2.Result.Scene.name); + } + }; + } + else + { + if (IsNetworkSessionActive()) + { + OnSceneEventCompleted?.Invoke(SceneEventId, asyncOp2.Result.Scene.name); + } + } + } + else { - OnSceneEventCompleted?.Invoke(SceneEventId); + Debug.LogError($"Failed to load async scene: {asyncOp2.OperationException}"); } // Go ahead and try finishing even if the network session is terminated/terminating diff --git a/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkPrefabHandler.cs b/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkPrefabHandler.cs index fe0dd270e9..3b39eb8938 100644 --- a/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkPrefabHandler.cs +++ b/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkPrefabHandler.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using TrollKing.Core; using UnityEngine; namespace Unity.Netcode @@ -50,6 +51,8 @@ public interface INetworkPrefabInstanceHandler /// public class NetworkPrefabHandler { + private static readonly NetworkLogScope k_Log = new NetworkLogScope(nameof(NetworkPrefabHandler)); + private NetworkManager m_NetworkManager; /// @@ -315,7 +318,12 @@ public GameObject GetNetworkPrefabOverride(GameObject gameObject) case NetworkPrefabOverride.Hash: case NetworkPrefabOverride.Prefab: { - return m_NetworkManager.NetworkConfig.Prefabs.NetworkPrefabOverrideLinks[networkObject.GlobalObjectIdHash].OverridingTargetPrefab; + var res = m_NetworkManager.NetworkConfig.Prefabs.NetworkPrefabOverrideLinks[networkObject.GlobalObjectIdHash].OverridingTargetPrefab; + k_Log.Debug(() => $"NetworkPrefabHandler GetNetworkPrefabOverride [gameObject={gameObject.name}] [networkPrefab={networkObject.GlobalObjectIdHash}]" + + $"[overrideType={m_NetworkManager.NetworkConfig.Prefabs.NetworkPrefabOverrideLinks[networkObject.GlobalObjectIdHash].Override}]" + + $"[overrideObj={m_NetworkManager.NetworkConfig.Prefabs.NetworkPrefabOverrideLinks[networkObject.GlobalObjectIdHash].OverridingTargetPrefab}]"); + + return res; } } } @@ -360,12 +368,18 @@ public void AddNetworkPrefab(GameObject prefab) var networkPrefab = new NetworkPrefab { Prefab = prefab }; bool added = m_NetworkManager.NetworkConfig.Prefabs.Add(networkPrefab); + k_Log.Debug(() => $"NetworkPrefabHandler AddNetworkPrefab prefab={prefab.name} hash={networkObject.GlobalObjectIdHash}"); if (m_NetworkManager.IsListening && added) { m_NetworkManager.DeferredMessageManager.ProcessTriggers(IDeferredNetworkMessageManager.TriggerType.OnAddPrefab, networkObject.GlobalObjectIdHash); } } + public IReadOnlyList GetPrefabs() + { + return m_NetworkManager.NetworkConfig.Prefabs.Prefabs; + } + /// /// Remove a prefab from the prefab list. /// As with AddNetworkPrefab, this is specific to the client it's called on - @@ -406,6 +420,7 @@ internal void RegisterPlayerPrefab() //In the event there is no NetworkPrefab entry (i.e. no override for default player prefab) if (!networkConfig.Prefabs.NetworkPrefabOverrideLinks.ContainsKey(playerPrefabNetworkObject.GlobalObjectIdHash)) { + k_Log.Debug(() => $"[NetworkPrefabHandler] RegisterPlayerPrefab - PlayerPrefab={networkConfig.PlayerPrefab.name} hash={playerPrefabNetworkObject.GlobalObjectIdHash}"); //Then add a new entry for the player prefab AddNetworkPrefab(networkConfig.PlayerPrefab); } diff --git a/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkSpawnManager.cs b/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkSpawnManager.cs index 19227c82ba..86a116ee0d 100644 --- a/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkSpawnManager.cs +++ b/com.unity.netcode.gameobjects/Runtime/Spawning/NetworkSpawnManager.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using UnityEngine; +using TrollKing.Core; namespace Unity.Netcode { @@ -12,6 +13,7 @@ namespace Unity.Netcode /// public class NetworkSpawnManager { + private static readonly NetworkLogScope Log = new NetworkLogScope(nameof(NetworkSpawnManager)); // Stores the objects that need to be shown at end-of-frame internal Dictionary> ObjectsToShowToClient = new Dictionary>(); @@ -1512,12 +1514,14 @@ internal void ServerSpawnSceneObjectsOnStartSweep() } } + Log.Info(() => "ServerSpawnSceneObjectsOnStartSweep"); + // Since we are spawing in-scene placed NetworkObjects for already loaded scenes, // we need to add any in-scene placed NetworkObject to our tracking table var clearFirst = true; foreach (var sceneLoaded in NetworkManager.SceneManager.ScenesLoaded) { - NetworkManager.SceneManager.PopulateScenePlacedObjects(sceneLoaded.Value, clearFirst); + NetworkManager.SceneManager.PopulateScenePlacedObjects(sceneLoaded.Value.SceneReference, clearFirst); clearFirst = false; } diff --git a/com.unity.netcode.gameobjects/Runtime/com.unity.netcode.runtime.asmdef b/com.unity.netcode.gameobjects/Runtime/com.unity.netcode.runtime.asmdef index d68a562768..ba65fbd7f2 100644 --- a/com.unity.netcode.gameobjects/Runtime/com.unity.netcode.runtime.asmdef +++ b/com.unity.netcode.gameobjects/Runtime/com.unity.netcode.runtime.asmdef @@ -13,7 +13,9 @@ "Unity.Networking.Transport", "Unity.Collections", "Unity.Burst", - "Unity.Mathematics" + "Unity.Mathematics", + "Unity.ResourceManager", + "Unity.Addressables" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/com.unity.netcode.gameobjects/Samples~/Bootstrap/Prefabs/BootstrapPlayer.prefab b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Prefabs/BootstrapPlayer.prefab index 5b7b44713f..34fd335d94 100644 --- a/com.unity.netcode.gameobjects/Samples~/Bootstrap/Prefabs/BootstrapPlayer.prefab +++ b/com.unity.netcode.gameobjects/Samples~/Bootstrap/Prefabs/BootstrapPlayer.prefab @@ -29,12 +29,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3439633038736912633} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &3439633038736913157 MeshFilter: @@ -55,11 +56,15 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -93,9 +98,17 @@ SphereCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 3439633038736912633} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Radius: 0.5 m_Center: {x: 0, y: 0, z: 0} --- !u!114 &3439633038736912634 @@ -110,8 +123,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} m_Name: m_EditorClassIdentifier: - GlobalObjectIdHash: 951099334 + GlobalObjectIdHash: 2131729030 AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 1 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 1 + SpawnWithObservers: 1 DontDestroyWithOwner: 0 AutoObjectParentSync: 1 --- !u!114 &2776227185612554462 @@ -138,9 +155,12 @@ MonoBehaviour: PositionThreshold: 0 RotAngleThreshold: 0 ScaleThreshold: 0 + UseQuaternionSynchronization: 0 + UseQuaternionCompression: 0 + UseHalfFloatPrecision: 0 InLocalSpace: 0 Interpolate: 1 - FixedSendsPerSecond: 30 + SlerpPosition: 0 --- !u!114 &6046305264893698362 MonoBehaviour: m_ObjectHideFlags: 0 diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestSceneHandler.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestSceneHandler.cs index a023bc1d65..a97454a5d3 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestSceneHandler.cs +++ b/com.unity.netcode.gameobjects/TestHelpers/Runtime/IntegrationTestSceneHandler.cs @@ -3,6 +3,9 @@ using System.Collections.Generic; using System.Linq; using UnityEngine; +using UnityEngine.AddressableAssets; +using UnityEngine.ResourceManagement.AsyncOperations; +using UnityEngine.ResourceManagement.ResourceProviders; using UnityEngine.SceneManagement; using Object = UnityEngine.Object; @@ -59,7 +62,7 @@ public enum JobTypes } public JobTypes JobType; public string SceneName; - public Scene Scene; + public SceneInstance Scene; public SceneEventProgress SceneEventProgress; public IntegrationTestSceneHandler IntegrationTestSceneHandler; } @@ -118,7 +121,8 @@ internal static IEnumerator ProcessLoadingSceneJob(QueuedSceneJob queuedSceneJob SceneManager.sceneLoaded += SceneManager_sceneLoaded; // We always load additively for all scenes during integration tests - var asyncOperation = SceneManager.LoadSceneAsync(queuedSceneJob.SceneName, LoadSceneMode.Additive); + var asyncOperation = Addressables.LoadSceneAsync(queuedSceneJob.SceneName, LoadSceneMode.Additive); + queuedSceneJob.SceneEventProgress.SetAsyncOperation(asyncOperation); // Wait for it to finish @@ -208,9 +212,9 @@ internal static IEnumerator ProcessUnloadingSceneJob(QueuedSceneJob queuedSceneJ } SceneManager.sceneUnloaded += SceneManager_sceneUnloaded; - if (queuedSceneJob.Scene.IsValid() && queuedSceneJob.Scene.isLoaded && !queuedSceneJob.Scene.name.Contains(NetcodeIntegrationTestHelpers.FirstPartOfTestRunnerSceneName)) + if (queuedSceneJob.Scene.Scene.IsValid() && queuedSceneJob.Scene.Scene.isLoaded && !queuedSceneJob.Scene.Scene.name.Contains(NetcodeIntegrationTestHelpers.FirstPartOfTestRunnerSceneName)) { - var asyncOperation = SceneManager.UnloadSceneAsync(queuedSceneJob.Scene); + var asyncOperation = Addressables.UnloadSceneAsync(queuedSceneJob.Scene); queuedSceneJob.SceneEventProgress.SetAsyncOperation(asyncOperation); } else @@ -230,7 +234,7 @@ internal static IEnumerator ProcessUnloadingSceneJob(QueuedSceneJob queuedSceneJ /// private static void SceneManager_sceneUnloaded(Scene scene) { - if (CurrentQueuedSceneJob.JobType != QueuedSceneJob.JobTypes.Completed && CurrentQueuedSceneJob.Scene.name == scene.name) + if (CurrentQueuedSceneJob.JobType != QueuedSceneJob.JobTypes.Completed && CurrentQueuedSceneJob.Scene.Scene.name == scene.name) { SceneManager.sceneUnloaded -= SceneManager_sceneUnloaded; @@ -280,15 +284,15 @@ private void AddJobToQueue(QueuedSceneJob queuedSceneJob) /// /// Server always loads like it normally would /// - public AsyncOperation GenericLoadSceneAsync(string sceneName, LoadSceneMode loadSceneMode, SceneEventProgress sceneEventProgress) + public AsyncOperationHandle GenericLoadSceneAsync(string sceneName, LoadSceneMode loadSceneMode, SceneEventProgress sceneEventProgress) { m_ServerSceneBeingLoaded = sceneName; if (NetcodeIntegrationTest.IsRunning) { SceneManager.sceneLoaded += Sever_SceneLoaded; } - var operation = SceneManager.LoadSceneAsync(sceneName, loadSceneMode); - sceneEventProgress.SetAsyncOperation(operation); + var operation = Addressables.LoadSceneAsync(sceneName, loadSceneMode); + // sceneEventProgress.SetAsyncOperation(operation); return operation; } @@ -304,42 +308,42 @@ private void Sever_SceneLoaded(Scene scene, LoadSceneMode arg1) /// /// Server always unloads like it normally would /// - public AsyncOperation GenericUnloadSceneAsync(Scene scene, SceneEventProgress sceneEventProgress) + public AsyncOperationHandle GenericUnloadSceneAsync(SceneInstance scene, SceneEventProgress sceneEventProgress) { - var operation = SceneManager.UnloadSceneAsync(scene); + var operation = Addressables.UnloadSceneAsync(scene); sceneEventProgress.SetAsyncOperation(operation); return operation; } - public AsyncOperation LoadSceneAsync(string sceneName, LoadSceneMode loadSceneMode, SceneEventProgress sceneEventProgress) + public AsyncOperationHandle LoadSceneAsync(string sceneAssetKey, LoadSceneMode loadSceneMode, SceneEventProgress sceneEventProgress) { // Server and non NetcodeIntegrationTest tests use the generic load scene method if (!NetcodeIntegrationTest.IsRunning) { - return GenericLoadSceneAsync(sceneName, loadSceneMode, sceneEventProgress); + return GenericLoadSceneAsync(sceneAssetKey, loadSceneMode, sceneEventProgress); } else // NetcodeIntegrationTest Clients always get added to the jobs queue { - AddJobToQueue(new QueuedSceneJob() { IntegrationTestSceneHandler = this, SceneName = sceneName, SceneEventProgress = sceneEventProgress, JobType = QueuedSceneJob.JobTypes.Loading }); + AddJobToQueue(new QueuedSceneJob() { IntegrationTestSceneHandler = this, SceneName = sceneAssetKey, SceneEventProgress = sceneEventProgress, JobType = QueuedSceneJob.JobTypes.Loading }); } - return null; + return default; } - public AsyncOperation UnloadSceneAsync(Scene scene, SceneEventProgress sceneEventProgress) + public AsyncOperationHandle UnloadSceneAsync(NetworkSceneManager.SceneData scene, SceneEventProgress sceneEventProgress) { // Server and non NetcodeIntegrationTest tests use the generic unload scene method if (!NetcodeIntegrationTest.IsRunning) { - return GenericUnloadSceneAsync(scene, sceneEventProgress); + return GenericUnloadSceneAsync(scene.SceneInstance.Value, sceneEventProgress); } else // NetcodeIntegrationTest Clients always get added to the jobs queue { - AddJobToQueue(new QueuedSceneJob() { IntegrationTestSceneHandler = this, Scene = scene, SceneEventProgress = sceneEventProgress, JobType = QueuedSceneJob.JobTypes.Unloading }); + AddJobToQueue(new QueuedSceneJob() { IntegrationTestSceneHandler = this, Scene = scene.SceneInstance.Value, SceneEventProgress = sceneEventProgress, JobType = QueuedSceneJob.JobTypes.Unloading }); } // This is OK to return a "nothing" AsyncOperation since we are simulating client loading - return null; + return default; } /// @@ -381,7 +385,7 @@ internal Scene GetAndAddNewlyLoadedSceneByName(string sceneName) { continue; } - NetworkManager.SceneManager.ScenesLoaded.Add(sceneLoaded.handle, sceneLoaded); + NetworkManager.SceneManager.ScenesLoaded.Add(sceneLoaded.handle, new NetworkSceneManager.SceneData(null, sceneLoaded)); StartTrackingScene(sceneLoaded, true, NetworkManager); return sceneLoaded; } @@ -594,7 +598,7 @@ public Scene GetSceneFromLoadedScenes(string sceneName, NetworkManager networkMa return m_InvalidScene; } - public void PopulateLoadedScenes(ref Dictionary scenesLoaded, NetworkManager networkManager) + public void PopulateLoadedScenes(ref Dictionary scenesLoaded, NetworkManager networkManager) { if (!SceneNameToSceneHandles.ContainsKey(networkManager)) { @@ -632,7 +636,7 @@ public void PopulateLoadedScenes(ref Dictionary scenesLoaded, Networ SceneNameToSceneHandles[networkManager][scene.name].Add(scene.handle, sceneEntry); if (!scenesLoaded.ContainsKey(scene.handle)) { - scenesLoaded.Add(scene.handle, scene); + scenesLoaded.Add(scene.handle, new NetworkSceneManager.SceneData(null, scene)); } } else @@ -861,7 +865,7 @@ public void SetClientSynchronizationMode(ref NetworkManager networkManager, Load if (!sceneManager.ScenesLoaded.ContainsKey(scene.handle)) { StartTrackingScene(scene, true, networkManager); - sceneManager.ScenesLoaded.Add(scene.handle, scene); + sceneManager.ScenesLoaded.Add(scene.handle, new NetworkSceneManager.SceneData(null, scene)); } } } diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs b/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs index 2f5f975ecd..789ef2d494 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs +++ b/com.unity.netcode.gameobjects/TestHelpers/Runtime/NetcodeIntegrationTestHelpers.cs @@ -421,7 +421,7 @@ private static void SceneManagerValidationAndTestRunnerInitialization(NetworkMan // with the clients. if (!networkManager.SceneManager.ScenesLoaded.ContainsKey(scene.handle)) { - networkManager.SceneManager.ScenesLoaded.Add(scene.handle, scene); + networkManager.SceneManager.ScenesLoaded.Add(scene.handle, new NetworkSceneManager.SceneData(null, scene)); } // In distributed authority we need to check if this scene is already added if (networkManager.DistributedAuthorityMode) diff --git a/com.unity.netcode.gameobjects/TestHelpers/Runtime/com.unity.netcode.testhelpers.runtime.asmdef b/com.unity.netcode.gameobjects/TestHelpers/Runtime/com.unity.netcode.testhelpers.runtime.asmdef index 2fb107c79f..14fad83862 100644 --- a/com.unity.netcode.gameobjects/TestHelpers/Runtime/com.unity.netcode.testhelpers.runtime.asmdef +++ b/com.unity.netcode.gameobjects/TestHelpers/Runtime/com.unity.netcode.testhelpers.runtime.asmdef @@ -6,7 +6,9 @@ "Unity.Multiplayer.MetricTypes", "Unity.Multiplayer.NetStats", "Unity.Multiplayer.Tools.MetricTypes", - "Unity.Multiplayer.Tools.NetStats" + "Unity.Multiplayer.Tools.NetStats", + "Unity.ResourceManager", + "Unity.Addressables" ], "optionalUnityReferences": [ "TestAssemblies" diff --git a/com.unity.netcode.gameobjects/Tests/Editor/Messaging/MessageCorruptionTests.cs b/com.unity.netcode.gameobjects/Tests/Editor/Messaging/MessageCorruptionTests.cs index eb2ed8a18d..2403402701 100644 --- a/com.unity.netcode.gameobjects/Tests/Editor/Messaging/MessageCorruptionTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Editor/Messaging/MessageCorruptionTests.cs @@ -90,11 +90,16 @@ public unsafe void Send(ulong clientId, NetworkDelivery delivery, FastBufferWrit break; } case TypeOfCorruption.CorruptBytes: - batchData.Seek(batchData.Length - 2); - var currentByte = batchData.GetUnsafePtr()[0]; - batchData.WriteByteSafe((byte)(currentByte == 0 ? 1 : 0)); - MessageQueue.Add(batchData.ToArray()); - break; + { + batchData.Seek(batchData.Length - 4); + for (int i = 0; i < 4; i++) + { + var currentByte = batchData.GetUnsafePtr()[i]; + batchData.WriteByteSafe((byte)(currentByte == 0 ? 1 : 0)); + MessageQueue.Add(batchData.ToArray()); + } + break; + } case TypeOfCorruption.Truncated: batchData.Truncate(batchData.Length - 1); MessageQueue.Add(batchData.ToArray()); diff --git a/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/DistributedAuthorityCodecTests.cs b/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/DistributedAuthorityCodecTests.cs index af69df9aa8..2a89327bc4 100644 --- a/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/DistributedAuthorityCodecTests.cs +++ b/com.unity.netcode.gameobjects/Tests/Runtime/DistributedAuthority/DistributedAuthorityCodecTests.cs @@ -347,7 +347,7 @@ public IEnumerator SceneEventMessageLoad() SceneEventType = SceneEventType.Load, LoadSceneMode = LoadSceneMode.Single, SceneEventProgressId = Guid.NewGuid(), - SceneHash = XXHash.Hash32("SomeRandomSceneName"), + SceneAsset = "SomeRandomSceneName", SceneHandle = 23456, }; @@ -373,7 +373,7 @@ public IEnumerator SceneEventMessageLoadWithObjects() SceneEventType = SceneEventType.Load, LoadSceneMode = LoadSceneMode.Single, SceneEventProgressId = Guid.NewGuid(), - SceneHash = XXHash.Hash32("SomeRandomSceneName"), + SceneAsset = "SomeRandomSceneName", SceneHandle = 23456, }; @@ -393,7 +393,7 @@ public IEnumerator SceneEventMessageUnload() SceneEventType = SceneEventType.Unload, LoadSceneMode = LoadSceneMode.Single, SceneEventProgressId = Guid.NewGuid(), - SceneHash = XXHash.Hash32("SomeRandomSceneName"), + SceneAsset = "SomeRandomSceneName", SceneHandle = 23456, }; @@ -413,7 +413,7 @@ public IEnumerator SceneEventMessageLoadComplete() SceneEventType = SceneEventType.LoadComplete, LoadSceneMode = LoadSceneMode.Single, SceneEventProgressId = Guid.NewGuid(), - SceneHash = XXHash.Hash32("SomeRandomSceneName"), + SceneAsset = "SomeRandomSceneName", SceneHandle = 23456, }; @@ -433,7 +433,7 @@ public IEnumerator SceneEventMessageUnloadComplete() SceneEventType = SceneEventType.UnloadComplete, LoadSceneMode = LoadSceneMode.Single, SceneEventProgressId = Guid.NewGuid(), - SceneHash = XXHash.Hash32("SomeRandomSceneName"), + SceneAsset = "SomeRandomSceneName", SceneHandle = 23456, }; @@ -453,7 +453,7 @@ public IEnumerator SceneEventMessageLoadCompleted() SceneEventType = SceneEventType.LoadEventCompleted, LoadSceneMode = LoadSceneMode.Single, SceneEventProgressId = Guid.NewGuid(), - SceneHash = XXHash.Hash32("SomeRandomSceneName"), + SceneAsset = "SomeRandomSceneName", SceneHandle = 23456, ClientsCompleted = new List() { k_ClientId }, ClientsTimedOut = new List() { 123456789 }, @@ -475,7 +475,7 @@ public IEnumerator SceneEventMessageUnloadLoadCompleted() SceneEventType = SceneEventType.UnloadEventCompleted, LoadSceneMode = LoadSceneMode.Single, SceneEventProgressId = Guid.NewGuid(), - SceneHash = XXHash.Hash32("SomeRandomSceneName"), + SceneAsset = "SomeRandomSceneName", SceneHandle = 23456, ClientsCompleted = new List() { k_ClientId }, ClientsTimedOut = new List() { 123456789 }, @@ -497,11 +497,11 @@ public IEnumerator SceneEventMessageSynchronize() SceneEventType = SceneEventType.Synchronize, LoadSceneMode = LoadSceneMode.Single, ClientSynchronizationMode = LoadSceneMode.Single, - SceneHash = XXHash.Hash32("SomeRandomSceneName"), + SceneAsset = "SomeRandomSceneName", SceneHandle = 23456, - ScenesToSynchronize = new Queue() + ScenesToSynchronize = new Queue() }; - eventData.ScenesToSynchronize.Enqueue(101); + eventData.ScenesToSynchronize.Enqueue("SomeRandomSceneName2"); eventData.SceneHandlesToSynchronize = new Queue(); eventData.SceneHandlesToSynchronize.Enqueue(202); @@ -522,7 +522,7 @@ public IEnumerator SceneEventMessageReSynchronize() SceneEventType = SceneEventType.ReSynchronize, LoadSceneMode = LoadSceneMode.Single, ClientSynchronizationMode = LoadSceneMode.Single, - SceneHash = XXHash.Hash32("SomeRandomSceneName"), + SceneAsset = "SomeRandomSceneName", SceneHandle = 23456, }; @@ -542,7 +542,7 @@ public IEnumerator SceneEventMessageSynchronizeComplete() SceneEventType = SceneEventType.ReSynchronize, LoadSceneMode = LoadSceneMode.Single, ClientSynchronizationMode = LoadSceneMode.Single, - SceneHash = XXHash.Hash32("SomeRandomSceneName"), + SceneAsset = "SomeRandomSceneName", SceneHandle = 23456, }; @@ -560,7 +560,7 @@ public IEnumerator SceneEventMessageActiveSceneChanged() var eventData = new SceneEventData(Client) { SceneEventType = SceneEventType.ActiveSceneChanged, - ActiveSceneHash = XXHash.Hash32("ActiveScene") + ActiveSceneAsset = "SomeRandomSceneName" }; var message = new SceneEventMessage() diff --git a/minimalproject/ProjectSettings/MemorySettings.asset b/minimalproject/ProjectSettings/MemorySettings.asset new file mode 100644 index 0000000000..5b5facecac --- /dev/null +++ b/minimalproject/ProjectSettings/MemorySettings.asset @@ -0,0 +1,35 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!387306366 &1 +MemorySettings: + m_ObjectHideFlags: 0 + m_EditorMemorySettings: + m_MainAllocatorBlockSize: -1 + m_ThreadAllocatorBlockSize: -1 + m_MainGfxBlockSize: -1 + m_ThreadGfxBlockSize: -1 + m_CacheBlockSize: -1 + m_TypetreeBlockSize: -1 + m_ProfilerBlockSize: -1 + m_ProfilerEditorBlockSize: -1 + m_BucketAllocatorGranularity: -1 + m_BucketAllocatorBucketsCount: -1 + m_BucketAllocatorBlockSize: -1 + m_BucketAllocatorBlockCount: -1 + m_ProfilerBucketAllocatorGranularity: -1 + m_ProfilerBucketAllocatorBucketsCount: -1 + m_ProfilerBucketAllocatorBlockSize: -1 + m_ProfilerBucketAllocatorBlockCount: -1 + m_TempAllocatorSizeMain: -1 + m_JobTempAllocatorBlockSize: -1 + m_BackgroundJobTempAllocatorBlockSize: -1 + m_JobTempAllocatorReducedBlockSize: -1 + m_TempAllocatorSizeGIBakingWorker: -1 + m_TempAllocatorSizeNavMeshWorker: -1 + m_TempAllocatorSizeAudioWorker: -1 + m_TempAllocatorSizeCloudWorker: -1 + m_TempAllocatorSizeGfx: -1 + m_TempAllocatorSizeJobWorker: -1 + m_TempAllocatorSizeBackgroundWorker: -1 + m_TempAllocatorSizePreloadManager: -1 + m_PlatformMemorySettings: {} diff --git a/minimalproject/ProjectSettings/boot.config b/minimalproject/ProjectSettings/boot.config new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pvp-exemptions.json b/pvp-exemptions.json new file mode 100644 index 0000000000..6c53ec94ca --- /dev/null +++ b/pvp-exemptions.json @@ -0,0 +1,2835 @@ +{ + "per_package": { + "com.unity.netcode.gameobjects@1": { + "exempts": { + "PVP-31-1": { + "errors": [ + "LICENSE.md: license must match regex: ^(?.*?) copyright \\u00a9 \\d+ \\S(.*\\S)?(?:\\r?\\n|$)" + ] + }, + "PVP-40-1": { + "errors": [ + "CHANGELOG.md: line 196: header must match regex: ^\\[(?.*)\\]( - (?\\d{4}-\\d{2}-\\d{2}))?$" + ] + }, + "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.RuntimeTests.BufferDataValidationComponent: bool IsTestComplete(): 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: XML is not well-formed: End tag 'remarks' does not match the start tag 'ushort'", + "Unity.Netcode.Components.HalfVector3: .ctor(Vector3, bool3): unexpected ", + "Unity.Netcode.Components.HalfVector4: XML is not well-formed: End tag 'remarks' does not match the start tag 'ushort'", + "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.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): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnected(NetworkManager, ResultWrapper, float): unexpected ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientsConnected(NetworkManager[], ResultWrapper, float): XML is not well-formed: An identifier was expected", + "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: 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.RuntimeTests.NetVarContainer: GameObject CreatePrefabGameObject(NetVarCombinationTypes): 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: bool TryRemoveParent(bool): empty tag", + "Unity.Netcode.RuntimeTests.NetworkObjectDestroyTests: IEnumerator TestNetworkObjectServerDestroy(): empty tag", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: IEnumerator TestOnNetworkSpawnCallbacks(): empty tag", + "Unity.Netcode.RuntimeTests.NetworkObjectPropertyTests: void TestPrefabHashIdPropertyIsAPrefab(): empty tag", + "Unity.Netcode.RuntimeTests.NetworkObjectPropertyTests: void TestPrefabHashIdPropertyIsAPrefab(): unexpected ", + "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: void SetClientSynchronizationMode(LoadSceneMode): XML is not well-formed: Expected an end tag for element 'summary'", + "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): empty tag", + "Unity.Netcode.NetworkTimeSystem: bool Advance(double): empty tag", + "Unity.Netcode.RuntimeTests.NetworkTimeSystemTests: IEnumerator PlayerLoopFixedTimeTest(): XML is not well-formed: End tag 'summary' does not match the start tag 'see'", + "Unity.Netcode.RuntimeTests.NetworkTimeSystemTests: IEnumerator PlayerLoopTimeTest_WithDifferentTimeScale(float): empty tag", + "Unity.Netcode.RuntimeTests.NetworkTimeSystemTests: IEnumerator CorrectAmountTicksTest(): 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 Update(): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "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.RuntimeTests.NetworkTransformBase: int OnNumberOfClients(): empty tag", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool AllChildObjectInstancesAreSpawned(): empty tag", + "Unity.Netcode.Editor.NetworkTransformEditor: void OnEnable(): cannot auto-inheritdoc (not an override or interface implementation); must specify 'cref'", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: void NetworkTransformMultipleChangesOverTime(TransformSpace, Axis): XML is not well-formed: An identifier was expected", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void NetworkTransformMultipleChangesOverTime(TransformSpace, OverrideState, Axis): XML is not well-formed: An identifier was expected", + "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.NetworkVariableBase: void SetUpdateTraits(NetworkVariableUpdateTraits): empty tag", + "Unity.Netcode.NetworkVariableBase: bool ExceedsDirtinessThreshold(): empty tag", + "Unity.Netcode.TestHelpers.Runtime.NetworkVariableHelper: XML is not well-formed: End tag 'summary' does not match the start tag 'T'", + "Unity.Netcode.UserNetworkVariableSerialization: empty tag", + "Unity.Netcode.UserNetworkVariableSerialization.DuplicateValueDelegate: unexpected ", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_UnmanagedByMemcpy(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_UnmanagedByMemcpyArray(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_List(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_HashSet(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_Dictionary(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_Dictionary(): unexpected ", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_UnmanagedINetworkSerializable(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_UnmanagedINetworkSerializableArray(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_ManagedINetworkSerializable(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_FixedString(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_FixedStringArray(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_ManagedIEquatable(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_UnmanagedIEquatable(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_UnmanagedIEquatableArray(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_List(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_HashSet(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_Dictionary(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_Dictionary(): unexpected ", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_UnmanagedValueEquals(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_UnmanagedValueEqualsArray(): empty tag", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_ManagedClassEquals(): 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" + ] + }, + "PVP-151-1": { + "errors": [ + "Unity.Netcode.RuntimeTests.AddNetworkPrefabTest: undocumented", + "Unity.Netcode.RuntimeTests.AddNetworkPrefabTest: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.AddNetworkPrefabTest: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.AddNetworkPrefabTest: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.AddNetworkPrefabTest: IEnumerator WhenSpawningBeforeAddingPrefab_SpawnFails(): undocumented", + "Unity.Netcode.RuntimeTests.AddNetworkPrefabTest: IEnumerator WhenSpawningAfterAddingServerPrefabButBeforeAddingClientPrefab_SpawnFails(): undocumented", + "Unity.Netcode.RuntimeTests.AddNetworkPrefabTest: IEnumerator WhenSpawningAfterAddingPrefabOnServerAndClient_SpawnSucceeds(): undocumented", + "Unity.Netcode.RuntimeTests.AddNetworkPrefabTest: IEnumerator WhenSpawningAfterRemovingPrefabOnClient_SpawnFails(): undocumented", + "Unity.Netcode.RuntimeTests.AddNetworkPrefabTest.EmptyComponent: undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void Update(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnSynchronize(ref BufferSerializer): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnDestroy(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnBeforeUpdateTransformState(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnNetworkTransformStateUpdated(ref NetworkTransformState, ref NetworkTransformState): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform: void OnTransformUpdated(): undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: Position: undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: Rotation: undocumented", + "Unity.Netcode.Components.AnticipatedNetworkTransform.TransformState: Scale: undocumented", + "Unity.Netcode.Editor.AnticipatedNetworkTransformEditor: HideInterpolateValue: undocumented", + "Unity.Netcode.StaleDataHandling: undocumented", + "Unity.Netcode.StaleDataHandling: Ignore: undocumented", + "Unity.Netcode.StaleDataHandling: Reanticipate: undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void OnInitialize(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: bool ExceedsDirtinessThreshold(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: .ctor(T, StaleDataHandling): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void Update(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void Dispose(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void Finalize(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: bool IsDirty(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void ResetDirty(): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void WriteDelta(FastBufferWriter): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void WriteField(FastBufferWriter): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void ReadField(FastBufferReader): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable: void ReadDelta(FastBufferReader, bool): undocumented", + "Unity.Netcode.AnticipatedNetworkVariable.OnAuthoritativeValueChangedDelegate: undocumented", + "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", + "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", + "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", + "Unity.Netcode.AnticipatedNetworkVariable.SmoothDelegate: missing ", + "Unity.Netcode.EditorTests.ArithmeticTests: undocumented", + "Unity.Netcode.EditorTests.ArithmeticTests: void TestCeil(): undocumented", + "Unity.Netcode.EditorTests.ArithmeticTests: void TestZigZag(): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: void RunTypeTest(T): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: void RunTypeTestSafe(T): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: void RunTypeArrayTest(T[]): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: void RunTypeArrayTestSafe(T[]): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: void RunTypeNativeArrayTest(NativeArray): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: void RunTypeNativeArrayTestSafe(NativeArray): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: TestStruct GetTestStruct(): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: void BaseTypeTest(Type, WriteType): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: void BaseArrayTypeTest(Type, WriteType): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest: void BaseNativeArrayTypeTest(Type, WriteType): undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ByteEnum: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ByteEnum: A: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ByteEnum: B: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ByteEnum: C: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.SByteEnum: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.SByteEnum: A: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.SByteEnum: B: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.SByteEnum: C: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ShortEnum: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ShortEnum: A: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ShortEnum: B: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ShortEnum: C: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.UShortEnum: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.UShortEnum: A: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.UShortEnum: B: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.UShortEnum: C: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.IntEnum: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.IntEnum: A: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.IntEnum: B: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.IntEnum: C: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.UIntEnum: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.UIntEnum: A: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.UIntEnum: B: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.UIntEnum: C: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.LongEnum: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.LongEnum: A: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.LongEnum: B: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.LongEnum: C: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ULongEnum: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ULongEnum: A: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ULongEnum: B: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.ULongEnum: C: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: A: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: B: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: C: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: D: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: E: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: F: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: G: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: H: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: I: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: J: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.TestStruct: K: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.WriteType: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.WriteType: WriteDirect: undocumented", + "Unity.Netcode.EditorTests.BaseFastBufferReaderWriterTest.WriteType: WriteSafe: undocumented", + "Unity.Netcode.BaseRpcTarget: undocumented", + "Unity.Netcode.BaseRpcTarget: m_NetworkManager: undocumented", + "Unity.Netcode.BaseRpcTarget: void CheckLockBeforeDispose(): undocumented", + "Unity.Netcode.BaseRpcTarget: void Dispose(): undocumented", + "Unity.Netcode.EditorTests.BatchedReceiveQueueTests: undocumented", + "Unity.Netcode.EditorTests.BatchedReceiveQueueTests: void BatchedReceiveQueue_EmptyReader(): undocumented", + "Unity.Netcode.EditorTests.BatchedReceiveQueueTests: void BatchedReceiveQueue_SingleMessage(): undocumented", + "Unity.Netcode.EditorTests.BatchedReceiveQueueTests: void BatchedReceiveQueue_MultipleMessages(): undocumented", + "Unity.Netcode.EditorTests.BatchedReceiveQueueTests: void BatchedReceiveQueue_PartialMessage(): undocumented", + "Unity.Netcode.EditorTests.BatchedReceiveQueueTests: void BatchedReceiveQueue_PushReader_ToFilledQueue(): undocumented", + "Unity.Netcode.EditorTests.BatchedReceiveQueueTests: void BatchedReceiveQueue_PushReader_ToPartiallyFilledQueue(): undocumented", + "Unity.Netcode.EditorTests.BatchedReceiveQueueTests: void BatchedReceiveQueue_PushReader_ToEmptyQueue(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void InitializeTestMessage(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_EmptyOnCreation(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_NotCreatedAfterDispose(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_InitialCapacityLessThanMaximum(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_PushMessage_ReturnValue(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_PushMessage_IncreasesLength(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_PushMessage_SucceedsAfterConsume(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_PushMessage_GrowsDataIfNeeded(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_PushMessage_DoesNotGrowDataPastMaximum(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_PushMessage_TrimsDataAfterGrowing(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithMessages_ReturnValue(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithMessages_NoopIfNoPushedMessages(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithMessages_NoopIfNotEnoughCapacity(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithMessages_SinglePushedMessage(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithMessages_MultiplePushedMessages(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithMessages_PartialPushedMessages(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithMessages_StopOnSoftMaxBytes(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithBytes_NoopIfNoData(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithBytes_WriterCapacityMoreThanLength(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithBytes_WriterCapacityLessThanLength(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithBytes_WriterCapacityEqualToLength(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_FillWriterWithBytes_MaxBytesGreaterThanCapacity(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_Consume_LessThanLength(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_Consume_ExactLength(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_Consume_MoreThanLength(): undocumented", + "Unity.Netcode.EditorTests.BatchedSendQueueTests: void BatchedSendQueue_Consume_TrimsDataOnEmpty(): undocumented", + "Unity.Netcode.EditorTests.BitCounterTests: undocumented", + "Unity.Netcode.EditorTests.BitCounterTests: void WhenCountingUsedBitsIn64BitValue_ResultMatchesHighBitSetPlusOne(int): undocumented", + "Unity.Netcode.EditorTests.BitCounterTests: void WhenCountingUsedBitsIn32BitValue_ResultMatchesHighBitSetPlusOne(int): undocumented", + "Unity.Netcode.EditorTests.BitCounterTests: void WhenCountingUsedBytesIn64BitValue_ResultMatchesHighBitSetOver8PlusOne(int): undocumented", + "Unity.Netcode.EditorTests.BitCounterTests: void WhenCountingUsedBytesIn32BitValue_ResultMatchesHighBitSetOver8PlusOne(int): undocumented", + "Unity.Netcode.EditorTests.BitReaderTests: undocumented", + "Unity.Netcode.EditorTests.BitReaderTests: void TestReadingOneBit(): undocumented", + "Unity.Netcode.EditorTests.BitReaderTests: void TestTryBeginReadBits(): undocumented", + "Unity.Netcode.EditorTests.BitReaderTests: void TestReadingMultipleBits(): undocumented", + "Unity.Netcode.EditorTests.BitReaderTests: void TestReadingMultipleBitsToLongs(): undocumented", + "Unity.Netcode.EditorTests.BitReaderTests: void TestReadingMultipleBytesToLongs(uint): undocumented", + "Unity.Netcode.EditorTests.BitReaderTests: void TestReadingMultipleBytesToLongsMisaligned(uint): undocumented", + "Unity.Netcode.EditorTests.BitReaderTests: void TestReadingBitsThrowsIfTryBeginReadNotCalled(): undocumented", + "Unity.Netcode.EditorTests.BitWriterTests: undocumented", + "Unity.Netcode.EditorTests.BitWriterTests: void TestWritingOneBit(): undocumented", + "Unity.Netcode.EditorTests.BitWriterTests: void TestTryBeginWriteBits(): undocumented", + "Unity.Netcode.EditorTests.BitWriterTests: void TestWritingMultipleBits(): undocumented", + "Unity.Netcode.EditorTests.BitWriterTests: void TestWritingMultipleBitsFromLongs(): undocumented", + "Unity.Netcode.EditorTests.BitWriterTests: void TestWritingMultipleBytesFromLongs(uint): undocumented", + "Unity.Netcode.EditorTests.BitWriterTests: void TestWritingMultipleBytesFromLongsMisaligned(uint): undocumented", + "Unity.Netcode.EditorTests.BitWriterTests: void TestWritingBitsThrowsIfTryBeginWriteNotCalled(): undocumented", + "Unity.Netcode.BufferedLinearInterpolatorVector3: XML is not well-formed: Missing closing quotation mark for string literal", + "Unity.Netcode.EditorTests.BufferSerializerTests: undocumented", + "Unity.Netcode.EditorTests.BufferSerializerTests: void TestIsReaderIsWriter(): undocumented", + "Unity.Netcode.EditorTests.BufferSerializerTests: void TestGetUnderlyingStructs(): undocumented", + "Unity.Netcode.EditorTests.BufferSerializerTests: void TestSerializingValues(): undocumented", + "Unity.Netcode.EditorTests.BufferSerializerTests: void TestSerializingBytes(): undocumented", + "Unity.Netcode.EditorTests.BufferSerializerTests: void TestSerializingArrays(): undocumented", + "Unity.Netcode.EditorTests.BufferSerializerTests: void TestSerializingStrings(bool): undocumented", + "Unity.Netcode.EditorTests.BufferSerializerTests: void TestSerializingValuesPreChecked(): undocumented", + "Unity.Netcode.EditorTests.BufferSerializerTests: void TestSerializingBytesPreChecked(): undocumented", + "Unity.Netcode.EditorTests.BufferSerializerTests: void TestSerializingArraysPreChecked(): undocumented", + "Unity.Netcode.EditorTests.BufferSerializerTests: void TestSerializingStringsPreChecked(bool): undocumented", + "Unity.Netcode.EditorTests.BuildTests: undocumented", + "Unity.Netcode.EditorTests.BuildTests: DefaultBuildScenePath: undocumented", + "Unity.Netcode.EditorTests.BuildTests: void BasicBuildTest(): undocumented", + "Unity.Netcode.EditorTests.BytePackerTests: undocumented", + "Unity.Netcode.EditorTests.BytePackerTests: void TestBitPacking64BitsUnsigned(): undocumented", + "Unity.Netcode.EditorTests.BytePackerTests: void TestBitPacking64BitsSigned(): undocumented", + "Unity.Netcode.EditorTests.BytePackerTests: void TestBitPacking32BitsUnsigned(): undocumented", + "Unity.Netcode.EditorTests.BytePackerTests: void TestBitPacking32BitsSigned(): undocumented", + "Unity.Netcode.EditorTests.BytePackerTests: void TestBitPacking16BitsUnsigned(): undocumented", + "Unity.Netcode.EditorTests.BytePackerTests: void TestBitPacking16BitsSigned(): undocumented", + "Unity.Netcode.EditorTests.BytePackerTests: void TestPackingBasicTypes(Type, WriteType): undocumented", + "Unity.Netcode.EditorTests.BytePackerTests.WriteType: undocumented", + "Unity.Netcode.EditorTests.BytePackerTests.WriteType: WriteDirect: undocumented", + "Unity.Netcode.EditorTests.BytePackerTests.WriteType: WriteAsObject: undocumented", + "Unity.Netcode.RuntimeTests.ClientApprovalDenied: undocumented", + "Unity.Netcode.RuntimeTests.ClientApprovalDenied: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.ClientApprovalDenied: void OnNewClientCreated(NetworkManager): undocumented", + "Unity.Netcode.RuntimeTests.ClientApprovalDenied: bool ShouldWaitForNewClientToConnect(NetworkManager): undocumented", + "Unity.Netcode.RuntimeTests.ClientApprovalDenied: IEnumerator ClientDeniedAndDisconnectionNotificationTest(): missing ", + "Unity.Netcode.RuntimeTests.ClientOnlyConnectionTests: undocumented", + "Unity.Netcode.RuntimeTests.ClientOnlyConnectionTests: void Setup(): undocumented", + "Unity.Netcode.RuntimeTests.ClientOnlyConnectionTests: IEnumerator ClientFailsToConnect(): undocumented", + "Unity.Netcode.RuntimeTests.ClientOnlyConnectionTests: void TearDown(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: TimedOut: undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: bool OnHasConditionBeenReached(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: bool HasConditionBeenReached(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void OnStarted(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void Started(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void OnFinished(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ConditionalPredicateBase: void Finished(bool): undocumented", + "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.RuntimeTests.ConnectionApprovalTests: undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTests: void Setup(): undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTests: IEnumerator ConnectionApproval(): undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTests: void VerifyUniqueNetworkConfigPerRequest(): undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTests: void TearDown(): undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests: undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests: .ctor(ApprovalTimedOutTypes): undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests: IEnumerator OnTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests: IEnumerator OnStartedServerAndClients(): undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests: IEnumerator ValidateApprovalTimeout(): undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests.ApprovalTimedOutTypes: undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests.ApprovalTimedOutTypes: ClientDoesNotRequest: undocumented", + "Unity.Netcode.RuntimeTests.ConnectionApprovalTimeoutTests.ApprovalTimedOutTypes: ServerDoesNotRespond: undocumented", + "Unity.Netcode.CustomMessagingManager.HandleNamedMessageDelegate: missing ", + "Unity.Netcode.CustomMessagingManager.HandleNamedMessageDelegate: missing ", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcComponent: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcComponent: ClientRpcCalled: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcComponent: void SendTestClientRpc(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcComponent: ClientInstances: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcComponent: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestNetworkVariableComponent: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestNetworkVariableComponent: ClientInstances: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestNetworkVariableComponent: TestNetworkVariable: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestNetworkVariableComponent: void Awake(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestNetworkVariableComponent: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcAndNetworkVariableComponent: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcAndNetworkVariableComponent: ClientInstances: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcAndNetworkVariableComponent: ClientRpcCalled: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcAndNetworkVariableComponent: TestNetworkVariable: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcAndNetworkVariableComponent: void Awake(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcAndNetworkVariableComponent: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessageTestRpcAndNetworkVariableComponent: void SendTestClientRpc(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void OnInlineSetup(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void OnInlineTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void OnNewClientCreated(NetworkManager): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void OnTimeTravelServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenAnRpcArrivesBeforeASpawnArrives_ItIsDeferred(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenADespawnArrivesBeforeASpawnArrives_ItIsDeferred(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenAChangeOwnershipMessageArrivesBeforeASpawnArrives_ItIsDeferred(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenANetworkVariableDeltaMessageArrivesBeforeASpawnArrives_ItIsDeferred(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenASpawnMessageArrivesBeforeThePrefabIsAvailable_ItIsDeferred(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenAnRpcIsDeferred_ItIsProcessedOnSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenADespawnIsDeferred_ItIsProcessedOnSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenAChangeOwnershipMessageIsDeferred_ItIsProcessedOnSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenANetworkVariableDeltaMessageIsDeferred_ItIsProcessedOnSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenASpawnMessageIsDeferred_ItIsProcessedOnAddPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenMultipleSpawnTriggeredMessagesAreDeferred_TheyAreAllProcessedOnSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenMultipleAddPrefabTriggeredMessagesAreDeferred_TheyAreAllProcessedOnAddNetworkPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenSpawnTriggeredMessagesAreDeferredBeforeThePrefabIsAdded_AddingThePrefabCausesThemToBeProcessed(): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenAMessageIsDeferredForMoreThanTheConfiguredTime_ItIsRemoved(int): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenMultipleMessagesForTheSameObjectAreDeferredForMoreThanTheConfiguredTime_TheyAreAllRemoved(int): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenMultipleMessagesForDifferentObjectsAreDeferredForMoreThanTheConfiguredTime_TheyAreAllRemoved(int): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenADeferredMessageIsRemoved_OtherMessagesForSameObjectAreRemoved(int): undocumented", + "Unity.Netcode.RuntimeTests.DeferredMessagingTest: void WhenADeferredMessageIsRemoved_OtherMessagesForDifferentObjectsAreNotRemoved(int): undocumented", + "Unity.Netcode.EditorTests.DisconnectMessageTests: undocumented", + "Unity.Netcode.EditorTests.DisconnectMessageTests: void EmptyDisconnectReason(): undocumented", + "Unity.Netcode.EditorTests.DisconnectMessageTests: void DisconnectReason(): undocumented", + "Unity.Netcode.EditorTests.DisconnectMessageTests: void DisconnectReasonTooLong(): undocumented", + "Unity.Netcode.EditorTests.DisconnectOnSendTests: undocumented", + "Unity.Netcode.EditorTests.DisconnectOnSendTests: void SetUp(): undocumented", + "Unity.Netcode.EditorTests.DisconnectOnSendTests: void TearDown(): undocumented", + "Unity.Netcode.EditorTests.DisconnectOnSendTests: void WhenDisconnectIsCalledDuringSend_NoErrorsOccur(): undocumented", + "Unity.Netcode.RuntimeTests.DisconnectReasonObject: undocumented", + "Unity.Netcode.RuntimeTests.DisconnectReasonTests: undocumented", + "Unity.Netcode.RuntimeTests.DisconnectReasonTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.DisconnectReasonTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.DisconnectReasonTests: void OnClientDisconnectCallback(ulong): undocumented", + "Unity.Netcode.RuntimeTests.DisconnectReasonTests: IEnumerator DisconnectReasonTest(): undocumented", + "Unity.Netcode.RuntimeTests.DisconnectReasonTests: IEnumerator DisconnectExceptionTest(): undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests: .ctor(OwnerPersistence): undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests: IEnumerator ClientPlayerDisconnected(ClientDisconnectType): undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests.OwnerPersistence: undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests.OwnerPersistence: DestroyWithOwner: undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests.OwnerPersistence: DontDestroyWithOwner: undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests.ClientDisconnectType: undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests.ClientDisconnectType: ServerDisconnectsClient: undocumented", + "Unity.Netcode.RuntimeTests.DisconnectTests.ClientDisconnectType: ClientDisconnectsFromServer: undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void RunTypeTest(T): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void RunTypeTestSafe(T): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void RunTypeArrayTest(T[]): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void RunTypeArrayTestSafe(T[]): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void RunTypeNativeArrayTest(NativeArray): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void RunTypeNativeArrayTestSafe(NativeArray): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void GivenFastBufferWriterContainingValue_WhenReadingUnmanagedType_ValueMatchesWhatWasWritten(Type, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void GivenFastBufferWriterContainingValue_WhenReadingArrayOfUnmanagedElementType_ValueMatchesWhatWasWritten(Type, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void GivenFastBufferWriterContainingValue_WhenReadingNativeArrayOfUnmanagedElementType_ValueMatchesWhatWasWritten(Type, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void RunFixedStringTest(T, int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenReadingFixedString32Bytes_ValueIsReadCorrectly(int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenReadingFixedString64Bytes_ValueIsReadCorrectly(int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenReadingFixedString128Bytes_ValueIsReadCorrectly(int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenReadingFixedString512Bytes_ValueIsReadCorrectly(int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenReadingFixedString4096Bytes_ValueIsReadCorrectly(int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void GivenFastBufferWriterContainingValue_WhenReadingString_ValueMatchesWhatWasWritten(bool, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void GivenFastBufferWriterContainingValue_WhenReadingPartialValue_ValueMatchesWhatWasWritten(int, int): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void GivenFastBufferReaderInitializedFromFastBufferWriterContainingValue_WhenCallingToArray_ReturnedArrayMatchesContentOfWriter(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCreatingAReaderFromAnEmptyArraySegment_LengthIsZero(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCreatingAReaderFromAnEmptyArray_LengthIsZero(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCreatingAReaderFromAnEmptyNativeArray_LengthIsZero(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCreatingAReaderFromAnEmptyFastBufferWriter_LengthIsZero(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCreatingAReaderFromAnEmptyBuffer_LengthIsZero(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCreatingNewFastBufferReader_IsInitializedIsTrue(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenDisposingFastBufferReader_IsInitializedIsFalse(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenUsingDefaultFastBufferReader_IsInitializedIsFalse(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadByteWithoutCallingTryBeingReadFirst_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadBytesWithoutCallingTryBeingReadFirst_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueWithUnmanagedTypeWithoutCallingTryBeingReadFirst_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueWithByteArrayWithoutCallingTryBeingReadFirst_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueWithStringWithoutCallingTryBeingReadFirst_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueAfterCallingTryBeginWriteWithTooFewBytes_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadBytePastBoundaryMarkedByTryBeginWrite_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadByteDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadBytesDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueWithUnmanagedTypeDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueWithByteArrayDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueWithStringDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadByteSafeDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadBytesSafeDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueSafeWithUnmanagedTypeDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueSafeWithByteArrayDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueSafeWithStringDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadByteAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadBytesAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueWithUnmanagedTypeAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueWithByteArrayAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueWithStringAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadByteSafeAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadBytesSafeAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueSafeWithUnmanagedTypeAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueSafeWithByteArrayAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingReadValueSafeWithStringAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingTryBeginRead_TheAllowedReadPositionIsMarkedRelativeToCurrentPosition(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenReadingAfterSeeking_TheNewReadComesFromTheCorrectPosition(): undocumented", + "Unity.Netcode.EditorTests.FastBufferReaderTests: void WhenCallingTryBeginReadInternal_AllowedReadPositionDoesNotMoveBackward(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void RunTypeTest(T): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void RunTypeTestSafe(T): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void RunTypeArrayTest(T[]): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void RunTypeArrayTestSafe(T[]): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void RunTypeNativeArrayTest(NativeArray): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void RunTypeNativeArrayTestSafe(NativeArray): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingUnmanagedType_ValueIsWrittenCorrectly(Type, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingArrayOfUnmanagedElementType_ArrayIsWrittenCorrectly(Type, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingNativeArrayOfUnmanagedElementType_NativeArrayIsWrittenCorrectly(Type, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingString_ValueIsWrittenCorrectly(bool, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void RunFixedStringTest(T, int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingFixedString32Bytes_ValueIsWrittenCorrectly(int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingFixedString64Bytes_ValueIsWrittenCorrectly(int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingFixedString128Bytes_ValueIsWrittenCorrectly(int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingFixedString512Bytes_ValueIsWrittenCorrectly(int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingFixedString4096Bytes_ValueIsWrittenCorrectly(int, WriteType): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingPartialValueWithCountAndOffset_ValueIsWrittenCorrectly(int, int): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingToArray_ReturnedArrayContainsCorrectData(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteByteWithoutCallingTryBeingWriteFirst_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteBytesWithoutCallingTryBeingWriteFirst_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueWithUnmanagedTypeWithoutCallingTryBeingWriteFirst_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueWithByteArrayWithoutCallingTryBeingWriteFirst_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueWithStringWithoutCallingTryBeingWriteFirst_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueAfterCallingTryBeginWriteWithTooFewBytes_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteBytePastBoundaryMarkedByTryBeginWrite_OverflowExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteByteDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteBytesDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueWithUnmanagedTypeDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueWithByteArrayDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueWithStringDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteByteSafeDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteBytesSafeDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueSafeWithUnmanagedTypeDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueSafeWithByteArrayDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueSafeWithStringDuringBitwiseContext_InvalidOperationExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteByteAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteBytesAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueWithUnmanagedTypeAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueWithByteArrayAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueWithStringAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteByteSafeAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteBytesSafeAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueSafeWithUnmanagedTypeAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueSafeWithByteArrayAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingWriteValueSafeWithStringAfterExitingBitwiseContext_InvalidOperationExceptionIsNotThrown(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingTryBeginWrite_TheAllowedWritePositionIsMarkedRelativeToCurrentPosition(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenWritingAfterSeeking_TheNewWriteGoesToTheCorrectPosition(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenSeekingForward_LengthUpdatesToNewPosition(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenSeekingBackward_LengthDoesNotChange(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenTruncatingToSpecificPositionAheadOfWritePosition_LengthIsUpdatedAndPositionIsNot(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenTruncatingToSpecificPositionBehindWritePosition_BothLengthAndPositionAreUpdated(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenTruncatingToCurrentPosition_LengthIsUpdated(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCreatingNewFastBufferWriter_CapacityIsCorrect(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCreatingNewFastBufferWriter_MaxCapacityIsCorrect(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCreatingNewFastBufferWriter_IsInitializedIsTrue(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenDisposingFastBufferWriter_IsInitializedIsFalse(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenUsingDefaultFastBufferWriter_IsInitializedIsFalse(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenRequestingWritePastBoundsForNonGrowingWriter_TryBeginWriteReturnsFalse(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenTryBeginWriteReturnsFalse_WritingThrowsOverflowException(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenTryBeginWriteReturnsFalseAndOverflowExceptionIsThrown_DataIsNotAffected(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenRequestingWritePastBoundsForGrowingWriter_BufferGrowsWithoutLosingData(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenRequestingWriteExactlyAtBoundsForGrowingWriter_BufferDoesntGrow(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenBufferGrows_MaxCapacityIsNotExceeded(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenBufferGrowthRequiredIsMoreThanDouble_BufferGrowsEnoughToContainRequestedValue(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenTryingToWritePastMaxCapacity_GrowthDoesNotOccurAndTryBeginWriteReturnsFalse(): undocumented", + "Unity.Netcode.EditorTests.FastBufferWriterTests: void WhenCallingTryBeginWriteInternal_AllowedWritePositionDoesNotMoveBackward(): undocumented", + "Unity.Netcode.GenerateSerializationForGenericParameterAttribute: .ctor(int): undocumented", + "Unity.Netcode.GenerateSerializationForTypeAttribute: .ctor(Type): undocumented", + "Unity.Netcode.Components.HalfVector3: XML is not well-formed: End tag 'remarks' does not match the start tag 'ushort'", + "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: XML is not well-formed: End tag 'remarks' does not match the start tag 'ushort'", + "Unity.Netcode.Components.HalfVector4: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.Components.HalfVector4: void NetworkSerialize(BufferSerializer): missing ", + "Unity.Netcode.RuntimeTests.HiddenVariableTest: undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: ClientInstancesSpawned: undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: MyNetworkVariable: undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: MyNetworkList: undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: ValueOnClient: undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: ExpectedSize: undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: SpawnCount: undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: void Changed(int, int): undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableObject: void ListChanged(NetworkListEvent): undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableTests: undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableTests: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableTests: IEnumerator WaitForSpawnCount(int): undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableTests: bool VerifyLists(): undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableTests: IEnumerator RefreshGameObects(int): undocumented", + "Unity.Netcode.RuntimeTests.HiddenVariableTests: IEnumerator HiddenVariableTest(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestUpdated: undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestUpdated: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestUpdated: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestUpdated: IEnumerator OnServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestUpdated: IEnumerator MyFirstIntegationTest(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestExtended: undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestExtended: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestExtended: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestExtended: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestExtended: IEnumerator OnServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestExtended: IEnumerator MyFirstIntegationTest(): undocumented", + "Unity.Netcode.RuntimeTests.ExampleTestComponent: undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestPlayers: undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestPlayers: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestPlayers: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestPlayers: IEnumerator OnServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestPlayers: void TestClientRelativePlayers(): undocumented", + "Unity.Netcode.RuntimeTests.SpawnTest: undocumented", + "Unity.Netcode.RuntimeTests.SpawnTest: TotalSpawned: undocumented", + "Unity.Netcode.RuntimeTests.SpawnTest: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.SpawnTest: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestSpawning: undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestSpawning: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestSpawning: NetworkManagerInstatiationMode OnSetIntegrationTestMode(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestSpawning: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestSpawning: IEnumerator OnServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestSpawning: IEnumerator TestRelativeNetworkObjects(): undocumented", + "Unity.Netcode.RuntimeTests.IntegrationTestSpawning: IEnumerator TestDespawnNetworkObjects(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: float GetDeltaVarianceThreshold(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: float EulerDelta(float, float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: Vector3 EulerDelta(Vector3, Vector3): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool ApproximatelyEuler(float, float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(float, float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(Vector2, Vector2): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(Vector3, Vector3): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool Approximately(Quaternion, Quaternion): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: bool ApproximatelyEuler(Vector3, Vector3): undocumented", + "Unity.Netcode.TestHelpers.Runtime.IntegrationTestWithApproximation: Vector3 GetRandomVector3(float, float): undocumented", + "Unity.Netcode.EditorTests.InterpolatorTests: undocumented", + "Unity.Netcode.EditorTests.InterpolatorTests: void TestReset(): undocumented", + "Unity.Netcode.EditorTests.InterpolatorTests: void NormalUsage(): undocumented", + "Unity.Netcode.EditorTests.InterpolatorTests: void MessageLoss(): undocumented", + "Unity.Netcode.EditorTests.InterpolatorTests: void AddFirstMeasurement(): undocumented", + "Unity.Netcode.EditorTests.InterpolatorTests: void JumpToEachValueIfDeltaTimeTooBig(): undocumented", + "Unity.Netcode.EditorTests.InterpolatorTests: void JumpToLastValueFromStart(): undocumented", + "Unity.Netcode.EditorTests.InterpolatorTests: void TestBufferSizeLimit(): undocumented", + "Unity.Netcode.EditorTests.InterpolatorTests: void TestUpdatingInterpolatorWithNoData(): undocumented", + "Unity.Netcode.EditorTests.InterpolatorTests: void TestDuplicatedValues(): undocumented", + "Unity.Netcode.RuntimeTests.InvalidConnectionEventsTest: undocumented", + "Unity.Netcode.RuntimeTests.InvalidConnectionEventsTest: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.InvalidConnectionEventsTest: .ctor(): undocumented", + "Unity.Netcode.RuntimeTests.InvalidConnectionEventsTest: IEnumerator WhenSendingConnectionApprovedToAlreadyConnectedClient_ConnectionApprovedMessageIsRejected(): undocumented", + "Unity.Netcode.RuntimeTests.InvalidConnectionEventsTest: IEnumerator WhenSendingConnectionRequestToAnyClient_ConnectionRequestMessageIsRejected(): undocumented", + "Unity.Netcode.RuntimeTests.InvalidConnectionEventsTest: IEnumerator WhenSendingConnectionRequestFromAlreadyConnectedClient_ConnectionRequestMessageIsRejected(): undocumented", + "Unity.Netcode.RuntimeTests.InvalidConnectionEventsTest: IEnumerator WhenSendingConnectionApprovedFromAnyClient_ConnectionApprovedMessageIsRejected(): undocumented", + "Unity.Netcode.InvalidParentException: .ctor(string): missing ", + "Unity.Netcode.InvalidParentException: .ctor(string, Exception): missing ", + "Unity.Netcode.RuntimeTests.NetworkListChangedTestComponent: undocumented", + "Unity.Netcode.RuntimeTests.ListChangedObject: undocumented", + "Unity.Netcode.RuntimeTests.ListChangedObject: ExpectedPreviousValue: undocumented", + "Unity.Netcode.RuntimeTests.ListChangedObject: ExpectedValue: undocumented", + "Unity.Netcode.RuntimeTests.ListChangedObject: AddDone: undocumented", + "Unity.Netcode.RuntimeTests.ListChangedObject: MyNetworkList: undocumented", + "Unity.Netcode.RuntimeTests.ListChangedObject: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.ListChangedObject: void Changed(NetworkListEvent): undocumented", + "Unity.Netcode.RuntimeTests.NetworkListChangedTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkListChangedTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkListChangedTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkListChangedTests: IEnumerator NetworkListChangedTest(): undocumented", + "Unity.Netcode.EditorTests.MessageCorruptionTests: undocumented", + "Unity.Netcode.EditorTests.MessageCorruptionTests: void SetUp(): undocumented", + "Unity.Netcode.EditorTests.MessageCorruptionTests: void TearDown(): undocumented", + "Unity.Netcode.EditorTests.MessageCorruptionTests: void WhenPacketsAreCorrupted_TheyDontGetProcessed(TypeOfCorruption): undocumented", + "Unity.Netcode.EditorTests.MessageCorruptionTests.TypeOfCorruption: undocumented", + "Unity.Netcode.EditorTests.MessageCorruptionTests.TypeOfCorruption: OffsetPlus: undocumented", + "Unity.Netcode.EditorTests.MessageCorruptionTests.TypeOfCorruption: OffsetMinus: undocumented", + "Unity.Netcode.EditorTests.MessageCorruptionTests.TypeOfCorruption: CorruptBytes: undocumented", + "Unity.Netcode.EditorTests.MessageCorruptionTests.TypeOfCorruption: Truncated: undocumented", + "Unity.Netcode.EditorTests.MessageCorruptionTests.TypeOfCorruption: AdditionalGarbageData: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: AllMessagesReceived: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: NumberOfMessagesReceived: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: string GetHooksStillWaiting(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: bool OnHasConditionBeenReached(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: void OnFinished(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: void Reset(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHooksConditional: .ctor(List): undocumented", + "Unity.Netcode.TestHelpers.Runtime.ReceiptType: undocumented", + "Unity.Netcode.TestHelpers.Runtime.ReceiptType: Received: undocumented", + "Unity.Netcode.TestHelpers.Runtime.ReceiptType: Handled: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MessageHookEntry: undocumented", + "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.EditorTests.MessageReceivingTests: undocumented", + "Unity.Netcode.EditorTests.MessageReceivingTests: void SetUp(): undocumented", + "Unity.Netcode.EditorTests.MessageReceivingTests: void TearDown(): undocumented", + "Unity.Netcode.EditorTests.MessageReceivingTests: void WhenHandlingAMessage_ReceiveMethodIsCalled(): undocumented", + "Unity.Netcode.EditorTests.MessageReceivingTests: void WhenHandlingIncomingData_ReceiveIsNotCalledBeforeProcessingIncomingMessageQueue(): undocumented", + "Unity.Netcode.EditorTests.MessageReceivingTests: void WhenReceivingAMessageAndProcessingMessageQueue_ReceiveMethodIsCalled(): undocumented", + "Unity.Netcode.EditorTests.MessageReceivingTests: void WhenReceivingMultipleMessagesAndProcessingMessageQueue_ReceiveMethodIsCalledMultipleTimes(): undocumented", + "Unity.Netcode.EditorTests.MessageRegistrationTests: undocumented", + "Unity.Netcode.EditorTests.MessageRegistrationTests: void WhenCreatingMessageSystem_OnlyProvidedTypesAreRegistered(): undocumented", + "Unity.Netcode.EditorTests.MessageRegistrationTests: void WhenCreatingMessageSystem_BoundTypeMessageHandlersAreRegistered(): undocumented", + "Unity.Netcode.EditorTests.MessageRegistrationTests: void MessagesGetPrioritizedCorrectly(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void SetUp(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void TearDown(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenSendingMessage_SerializeIsCalled(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenSendingMessage_NothingIsSentBeforeProcessingSendQueue(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenProcessingSendQueue_MessageIsSent(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenSendingMultipleMessages_MessagesAreBatched(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenNotExceedingBatchSize_NewBatchesAreNotCreated(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenExceedingBatchSize_NewBatchesAreCreated(int): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenExceedingPerClientBatchSizeLessThanDefault_NewBatchesAreCreated(int): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenExceedingPerClientBatchSizeGreaterThanDefault_OnlyOneNewBatcheIsCreated(int): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenExceedingMTUSizeWithFragmentedDelivery_NewBatchesAreNotCreated(int): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenSwitchingDelivery_NewBatchesAreCreated(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenSwitchingChannel_NewBatchesAreNotCreated(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenSendingMessaged_SentDataIsCorrect(): undocumented", + "Unity.Netcode.EditorTests.MessageSendingTests: void WhenReceivingAMessageWithoutAHandler_ExceptionIsLogged(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: SentVersion: undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: ReceivedVersion: undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void SetUp(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void TearDown(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void CheckPostSendExpectations(int, int): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void CheckPostReceiveExpectations(int, int): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void WhenSendingV0ToV0_DataIsReceivedCorrectly(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void WhenSendingV0ToV1_DataIsReceivedCorrectly(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void WhenSendingV0ToV2_DataIsReceivedCorrectly(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void WhenSendingV1ToV0_DataIsReceivedCorrectly(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void WhenSendingV1ToV1_DataIsReceivedCorrectly(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void WhenSendingV1ToV2_DataIsReceivedCorrectly(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void WhenSendingV2ToV0_DataIsReceivedCorrectly(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void WhenSendingV2ToV1_DataIsReceivedCorrectly(): undocumented", + "Unity.Netcode.EditorTests.MessageVersioningTests: void WhenSendingV2ToV2_DataIsReceivedCorrectly(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: RealTimeSinceStartup: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: UnscaledTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: UnscaledDeltaTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: DeltaTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticRealTimeSinceStartup: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticUnscaledTime: undocumented", + "Unity.Netcode.TestHelpers.Runtime.MockTimeProvider: StaticUnscaledDeltaTime: undocumented", + "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.RuntimeTests.NamedMessageTests: undocumented", + "Unity.Netcode.RuntimeTests.NamedMessageTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NamedMessageTests: NetworkManagerInstatiationMode OnSetIntegrationTestMode(): undocumented", + "Unity.Netcode.RuntimeTests.NamedMessageTests: IEnumerator NamedMessageIsReceivedOnClientWithContent(): undocumented", + "Unity.Netcode.RuntimeTests.NamedMessageTests: void NamedMessageIsReceivedOnHostWithContent(): undocumented", + "Unity.Netcode.RuntimeTests.NamedMessageTests: void NullOrEmptyNamedMessageDoesNotThrowException(): undocumented", + "Unity.Netcode.RuntimeTests.NamedMessageTests: IEnumerator NamedMessageIsReceivedOnMultipleClientsWithContent(): undocumented", + "Unity.Netcode.RuntimeTests.NamedMessageTests: IEnumerator WhenSendingNamedMessageToAll_AllClientsReceiveIt(): undocumented", + "Unity.Netcode.RuntimeTests.NamedMessageTests: void WhenSendingNamedMessageToNullClientList_ArgumentNullExceptionIsThrown(): undocumented", + "Unity.Netcode.RuntimeTests.NestedNetworkManagerTests: undocumented", + "Unity.Netcode.RuntimeTests.NestedNetworkManagerTests: void CheckNestedNetworkManager(): undocumented", + "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: s_GlobalTimeoutHelper: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: s_DefaultWaitForTick: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: NetcodeLogAssert: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void RegisterNetworkObject(NetworkObject): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void DeregisterNetworkObject(NetworkObject): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void DeregisterNetworkObject(ulong, ulong): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: TotalClients: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: k_DefaultTickRate: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: NumberOfClients: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_PlayerPrefab: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_ServerNetworkManager: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_ClientNetworkManagers: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_UseHost: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_TargetFrameRate: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: m_EnableVerboseDebug: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool OnSetVerboseDebug(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: NetworkManagerInstatiationMode OnSetIntegrationTestMode(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnOneTimeSetup(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OneTimeSetup(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnSetup(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator SetUp(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnNewClientCreated(NetworkManager): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnNewClientStarted(NetworkManager): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnNewClientStartedAndConnected(NetworkManager): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool ShouldWaitForNewClientToConnect(NetworkManager): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool ShouldWaitForNewClientToConnect(NetworkManager): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator CreateAndStartNewClient(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator StopOneClient(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator StopOneClient(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator StopOneClient(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void StopOneClientWithTimeTravel(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void StopOneClientWithTimeTravel(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetTimeTravelSimulatedLatency(float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetTimeTravelSimulatedDropRate(float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void SetTimeTravelSimulatedLatencyJitter(float): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanStartServerAndClients(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnStartedServerAndClients(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnServerAndClientsConnected(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void ClientNetworkManagerPostStartInit(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: LogAllMessages: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator StartServerAndClients(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanClientsLoad(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanClientsUnload(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool OnCanSceneCleanUpUnload(Scene): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator OnTearDown(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OnInlineTearDown(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator TearDown(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void OneTimeTearDown(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool CanDestroyNetworkObject(NetworkObject): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(Func, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(Func, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(Func, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(Func, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(Func, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(Func, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForConditionOrTimeOut(IConditionalPredicate, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForConditionOrTimeOutWithTimeTravel(IConditionalPredicate, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForClientsConnectedOrTimeOut(NetworkManager[]): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForClientsConnectedOrTimeOutWithTimeTravel(NetworkManager[]): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForClientsConnectedOrTimeOut(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: bool WaitForClientsConnectedOrTimeOutWithTimeTravel(): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: GameObject SpawnObject(GameObject, NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: List SpawnObjects(GameObject, NetworkManager, int, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void AssertOnTimeout(string, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: void AssertOnTimeout(string, TimeoutHelper): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForTicks(NetworkManager, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForTicks(NetworkManager, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: IEnumerator WaitForTicks(NetworkManager, int): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: uint GetTickRate(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest: int GetFrameRate(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: PerTest: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: AllTests: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.NetworkManagerInstatiationMode: DoNotCreate: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: Host: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTest.HostOrServer: Server: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: DefaultMinFrames: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: DefaultTimeout: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: NetworkManagerInstances: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void RegisterHandlers(NetworkManager, bool): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: void RegisterHandlers(NetworkManager, bool): missing ", + "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: 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): XML is not well-formed: An identifier was expected", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers: IEnumerator WaitForClientConnectedToServer(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", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.BeforeClientStartCallback: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.ResultWrapper: missing ", + "Unity.Netcode.TestHelpers.Runtime.NetcodeIntegrationTestHelpers.ResultWrapper: Result: undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: .ctor(bool, bool): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void AddLog(string, string, LogType): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void OnTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void Dispose(): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasNotReceived(LogType, string): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasNotReceived(LogType, Regex): undocumented", + "Unity.Netcode.RuntimeTests.NetcodeLogAssert: void LogWasReceived(LogType, string): undocumented", + "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 OnReanticipate(double): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests: bool CanStartServerAndClients(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests: IEnumerator ValidatedDisableddNetworkBehaviourWarning(): missing ", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests: IEnumerator ValidateNoSpam(): missing ", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests: IEnumerator ValidateDeleteChildNetworkBehaviour(): missing ", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests: void OnPlayerPrefabGameObjectCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests: IEnumerator OnNetworkDespawnInvokedWhenClientDisconnects(): missing ", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests.SimpleNetworkBehaviour: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests.SimpleNetworkBehaviour: OnNetworkDespawnCalled: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourGenericTests.SimpleNetworkBehaviour: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceTests: IEnumerator TestRpc(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceTests: IEnumerator TestSerializeNull(bool): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceTests: IEnumerator TestRpcImplicitNetworkBehaviour(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceTests: void TestNetworkVariable(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceTests: void FailSerializeNonSpawnedNetworkObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceTests: void FailSerializeGameObjectWithoutNetworkObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceTests: void Dispose(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceTests: .ctor(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceIntegrationTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceIntegrationTests: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourReferenceIntegrationTests: IEnumerator TestTryGetWithAndWithOutExistingComponent(): missing ", + "Unity.Netcode.EditorTests.NetworkBehaviourTests: undocumented", + "Unity.Netcode.EditorTests.NetworkBehaviourTests: void HasNetworkObjectTest(): undocumented", + "Unity.Netcode.EditorTests.NetworkBehaviourTests: void AccessNetworkObjectTest(): undocumented", + "Unity.Netcode.EditorTests.NetworkBehaviourTests: void GivenClassDerivesFromNetworkBehaviour_GetTypeNameReturnsCorrectValue(): undocumented", + "Unity.Netcode.EditorTests.NetworkBehaviourTests: void GivenClassDerivesFromNetworkBehaviourDerivedClass_GetTypeNameReturnsCorrectValue(): undocumented", + "Unity.Netcode.EditorTests.NetworkBehaviourTests.DerivedNetworkBehaviour: undocumented", + "Unity.Netcode.EditorTests.NetworkBehaviourTests.EmptyNetworkBehaviour: undocumented", + "Unity.Netcode.RuntimeTests.NetVarContainer: GameObject CreatePrefabGameObject(NetVarCombinationTypes): missing ", + "Unity.Netcode.RuntimeTests.NetVarContainer: NumberOfNetVarsToCheck: undocumented", + "Unity.Netcode.RuntimeTests.NetVarContainer: ValueToSetNetVarTo: undocumented", + "Unity.Netcode.RuntimeTests.NetVarContainer: bool HaveAllValuesChanged(int): missing ", + "Unity.Netcode.RuntimeTests.NetVarContainer: bool HaveAllValuesChanged(int): missing ", + "Unity.Netcode.RuntimeTests.NetVarContainer: bool AreNetVarsDirty(): missing ", + "Unity.Netcode.RuntimeTests.NetVarContainer: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetVarContainer.NetVarsToCheck: undocumented", + "Unity.Netcode.RuntimeTests.NetVarContainer.NetVarsToCheck: One: undocumented", + "Unity.Netcode.RuntimeTests.NetVarContainer.NetVarsToCheck: Two: undocumented", + "Unity.Netcode.RuntimeTests.NetVarCombinationTypes: FirstType: undocumented", + "Unity.Netcode.RuntimeTests.NetVarCombinationTypes: SecondType: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourUpdaterTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourUpdaterTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourUpdaterTests: NetVarValueToSet: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourUpdaterTests: bool CanStartServerAndClients(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourUpdaterTests: IEnumerator BehaviourUpdaterAllTests(bool, NetVarCombinationTypes, int, int): missing ", + "Unity.Netcode.NetworkConfig: Prefabs: undocumented", + "Unity.Netcode.ConnectionEvent: undocumented", + "Unity.Netcode.ConnectionEvent: ClientConnected: undocumented", + "Unity.Netcode.ConnectionEvent: PeerConnected: undocumented", + "Unity.Netcode.ConnectionEvent: ClientDisconnected: undocumented", + "Unity.Netcode.ConnectionEvent: PeerDisconnected: undocumented", + "Unity.Netcode.ConnectionEventData: 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: 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: void NetworkUpdate(NetworkUpdateStage): undocumented", + "Unity.Netcode.NetworkManager.ReanticipateDelegate: undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests: undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests: void NetworkObjectNotAllowed(NetworkObjectPlacement): undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests: void NestedNetworkObjectPrefabCheck(): undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests: void WhenNetworkConfigContainsOldPrefabList_TheyMigrateProperlyToTheNewList(): undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests: void WhenModifyingPrefabListUsingNetworkManagerAPI_ModificationIsLocal(): undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests: void WhenModifyingPrefabListUsingPrefabsAPI_ModificationIsLocal(): undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests: void WhenModifyingPrefabListUsingPrefabsListAPI_ModificationIsShared(): undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests: void WhenCallingInitializeAfterAddingAPrefabUsingPrefabsAPI_ThePrefabStillExists(): undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests: void WhenShuttingDownAndReinitializingPrefabs_RuntimeAddedPrefabsStillExists(): undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests: void WhenCallingInitializeMultipleTimes_NothingBreaks(): undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests.NetworkObjectPlacement: undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests.NetworkObjectPlacement: Root: undocumented", + "Unity.Netcode.EditorTests.NetworkManagerConfigurationTests.NetworkObjectPlacement: Child: undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerCustomMessageManagerTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerCustomMessageManagerTests: void CustomMessageManagerAssigned(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerEventsTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerEventsTests: IEnumerator OnServerStoppedCalledWhenServerStops(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerEventsTests: IEnumerator OnClientStoppedCalledWhenClientStops(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerEventsTests: IEnumerator OnClientAndServerStoppedCalledWhenHostStops(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerEventsTests: IEnumerator OnServerStartedCalledWhenServerStarts(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerEventsTests: IEnumerator OnClientStartedCalledWhenClientStarts(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerEventsTests: IEnumerator OnClientAndServerStartedCalledWhenHostStarts(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerEventsTests: IEnumerator Teardown(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: NetworkManagerObject: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: NetworkManagerGameObject: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: InstantiatedGameObjects: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: InstantiatedNetworkObjects: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: CurrentNetworkManagerMode: undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: bool StartNetworkManager(out NetworkManager, NetworkManagerOperatingMode, NetworkConfig): missing ", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: void ShutdownNetworkManager(): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper: bool BuffersMatch(int, long, byte[], byte[]): undocumented", + "Unity.Netcode.TestHelpers.Runtime.NetworkManagerHelper.NetworkManagerOperatingMode: None: undocumented", + "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.RuntimeTests.NetworkManagerSceneManagerTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerSceneManagerTests: void SceneManagerAssigned(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests: void ClientDoesNotStartWhenTransportFails(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests: void HostDoesNotStartWhenTransportFails(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests: void ServerDoesNotStartWhenTransportFails(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests: IEnumerator ShutsDownWhenTransportFails(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: FailOnStart: undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: FailOnNextPoll: undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: bool StartClient(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: bool StartServer(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: NetworkEvent PollEvent(out ulong, out ArraySegment, out float): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: ServerClientId: undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: void Send(ulong, ArraySegment, NetworkDelivery): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: void Initialize(NetworkManager): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: void Shutdown(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: ulong GetCurrentRtt(ulong): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: void DisconnectRemoteClient(ulong): undocumented", + "Unity.Netcode.RuntimeTests.NetworkManagerTransportTests.FailedTransport: void DisconnectLocalClient(): undocumented", + "Unity.Netcode.NetworkObject: NetworkBehaviour GetNetworkBehaviourAtOrderIndex(ushort): undocumented", + "Unity.Netcode.NetworkObject.VisibilityDelegate: missing ", + "Unity.Netcode.NetworkObject.SpawnDelegate: missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectDestroyTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectDestroyTests: IEnumerator TestNetworkObjectClientDestroy(ClientDestroyObject): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectDestroyTests: IEnumerator TestNetworkObjectClientDestroy(ClientDestroyObject): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectDestroyTests: IEnumerator OnTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectDestroyTests.ClientDestroyObject: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectDestroyTests.ClientDestroyObject: ShuttingDown: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectDestroyTests.ClientDestroyObject: ActiveSession: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectDontDestroyWithOwnerTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectDontDestroyWithOwnerTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectDontDestroyWithOwnerTests: m_PrefabToSpawn: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectDontDestroyWithOwnerTests: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectDontDestroyWithOwnerTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectDontDestroyWithOwnerTests: IEnumerator DontDestroyWithOwnerTest(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectNetworkClientOwnedObjectsTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectNetworkClientOwnedObjectsTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectNetworkClientOwnedObjectsTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectNetworkClientOwnedObjectsTests: IEnumerator ChangeOwnershipOwnedObjectsAddTest(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectNetworkClientOwnedObjectsTests: IEnumerator WhenOwnershipIsChanged_OwnershipValuesUpdateCorrectly(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnNetworkDespawnTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnNetworkDespawnTests: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnNetworkDespawnTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnNetworkDespawnTests: IEnumerator TestNetworkObjectDespawnOnShutdown(): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectOnNetworkDespawnTests.InstanceType: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnNetworkDespawnTests.InstanceType: Server: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnNetworkDespawnTests.InstanceType: Client: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: void OnNewClientCreated(NetworkManager): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: IEnumerator ObserverSpawnTests(ObserverTestTypes, bool): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: IEnumerator ObserverSpawnTests(ObserverTestTypes, bool): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: IEnumerator InstantiateDestroySpawnNotCalled(): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: IEnumerator OnTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests: void DynamicallySpawnedNoSceneOriginException(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests.ObserverTestTypes: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests.ObserverTestTypes: WithObservers: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOnSpawnTests.ObserverTestTypes: WithoutObservers: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipComponent: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipComponent: OnLostOwnershipFired: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipComponent: OnGainedOwnershipFired: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipComponent: void OnLostOwnership(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipComponent: void OnGainedOwnership(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipComponent: void ResetFlags(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests: void TestPlayerIsOwned(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests: IEnumerator TestOwnershipCallbacks(OwnershipChecks): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests: IEnumerator TestOwnershipCallbacksSeveralClients(OwnershipChecks): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests: IEnumerator TestOwnershipCallbacksSeveralClients(OwnershipChecks): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests: IEnumerator TestOwnedObjectCounts(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests.OwnershipChecks: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests.OwnershipChecks: Change: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectOwnershipTests.OwnershipChecks: Remove: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectPropertyTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectPropertyTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: void TestSerializeNetworkObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: void TestSerializeGameObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: void TestImplicitConversionToGameObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: void TestImplicitToGameObjectIsNullWhenNotFound(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: void TestTryGet(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: IEnumerator TestSerializeNull(NetworkObjectConstructorTypes): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: IEnumerator TestRpc(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: IEnumerator TestRpcImplicitNetworkObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: IEnumerator TestRpcImplicitGameObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: void TestNetworkVariable(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: void TestDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: void FailSerializeNonSpawnedNetworkObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: void FailSerializeGameObjectWithoutNetworkObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: void Dispose(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests: .ctor(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests.NetworkObjectConstructorTypes: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests.NetworkObjectConstructorTypes: None: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests.NetworkObjectConstructorTypes: NullNetworkObject: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectReferenceTests.NetworkObjectConstructorTypes: NullGameObject: undocumented", + "Unity.Netcode.RuntimeTests.UnityObjectContext: Object: undocumented", + "Unity.Netcode.RuntimeTests.UnityObjectContext: undocumented", + "Unity.Netcode.RuntimeTests.UnityObjectContext: .ctor(Object): undocumented", + "Unity.Netcode.RuntimeTests.UnityObjectContext: UnityObjectContext CreateGameObject(string): undocumented", + "Unity.Netcode.RuntimeTests.UnityObjectContext: UnityObjectContext CreateNetworkObject(string): undocumented", + "Unity.Netcode.RuntimeTests.UnityObjectContext: void Dispose(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSpawnManyObjectsTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSpawnManyObjectsTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSpawnManyObjectsTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSpawnManyObjectsTests: IEnumerator WhenManyObjectsAreSpawnedAtOnce_AllAreReceived(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSpawnManyObjectsTests.SpawnObjecTrackingComponent: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSpawnManyObjectsTests.SpawnObjecTrackingComponent: SpawnedObjects: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSpawnManyObjectsTests.SpawnObjecTrackingComponent: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests: .ctor(VariableLengthSafety, HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests: void OnNewClientCreated(NetworkManager): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests: IEnumerator NetworkObjectDeserializationFailure(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests: IEnumerator NetworkBehaviourSynchronization(): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests: IEnumerator NetworkBehaviourOnSynchronize(): missing ", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests.VariableLengthSafety: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests.VariableLengthSafety: DisableNetVarSafety: undocumented", + "Unity.Netcode.RuntimeTests.NetworkObjectSynchronizationTests.VariableLengthSafety: EnabledNetVarSafety: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetworkVariables: ServerSpawnCount: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetworkVariables: ClientSpawnCount: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetworkVariables: void ResetSpawnCount(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetworkVariables: NetworkVariableData1: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetworkVariables: NetworkVariableData2: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetworkVariables: NetworkVariableData3: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetworkVariables: NetworkVariableData4: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetworkVariables: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithOwnerNetworkVariables: NetworkVariableData1: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithOwnerNetworkVariables: NetworkVariableData2: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithOwnerNetworkVariables: NetworkVariableData3: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithOwnerNetworkVariables: NetworkVariableData4: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithOwnerNetworkVariables: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent: NumberOfFailureTypes: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent: ServerSpawnCount: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent: ClientSpawnCount: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent: void ResetBehaviour(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent: void AssignNextFailureType(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent: void OnSynchronize(ref BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent.FailureTypes: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent.FailureTypes: None: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent.FailureTypes: DuringWriting: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent.FailureTypes: DuringReading: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent.FailureTypes: DontReadAnything: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent.FailureTypes: ThrowWriteSideException: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourSynchronizeFailureComponent.FailureTypes: ThrowReadSideException: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourOnSynchronizeComponent: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourOnSynchronizeComponent: CustomSerializationData: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourOnSynchronizeComponent: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourOnSynchronizeComponent: void OnSynchronize(ref BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourOnSynchronizeComponent.SomeCustomSerializationData: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourOnSynchronizeComponent.SomeCustomSerializationData: Value1: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourOnSynchronizeComponent.SomeCustomSerializationData: Value2: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourOnSynchronizeComponent.SomeCustomSerializationData: Value3: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourOnSynchronizeComponent.SomeCustomSerializationData: Value4: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourOnSynchronizeComponent.SomeCustomSerializationData: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.EditorTests.NetworkObjectTests: undocumented", + "Unity.Netcode.EditorTests.NetworkObjectTests: void NetworkManagerOverrideTest(): undocumented", + "Unity.Netcode.EditorTests.NetworkObjectTests: void GetBehaviourIndexNone(int): undocumented", + "Unity.Netcode.EditorTests.NetworkObjectTests: void GetBehaviourIndexOne(): undocumented", + "Unity.Netcode.EditorTests.NetworkObjectTests.EmptyNetworkBehaviour: undocumented", + "Unity.Netcode.EditorTests.NetworkObjectTests.EmptyMonoBehaviour: 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.RuntimeTests.NetworkPrefabHandlerTests: void NetworkPrefabHandlerClass(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkPrefabHandlerTests: void Setup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkPrefabHandlerTests: void TearDown(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkPrefaInstanceHandler: NetworkObject Instantiate(ulong, Vector3, Quaternion): undocumented", + "Unity.Netcode.RuntimeTests.NetworkPrefaInstanceHandler: void Destroy(NetworkObject): undocumented", + "Unity.Netcode.RuntimeTests.NetworkPrefaInstanceHandler: bool StillHasInstances(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkPrefaInstanceHandler: .ctor(NetworkObject): undocumented", + "Unity.Netcode.Editor.Configuration.NetworkPrefabProcessor: DefaultNetworkPrefabsPath: undocumented", + "Unity.Netcode.EditorTests.NetworkPrefabProcessorTests: undocumented", + "Unity.Netcode.EditorTests.NetworkPrefabProcessorTests: void SetUp(): undocumented", + "Unity.Netcode.EditorTests.NetworkPrefabProcessorTests: void TearDown(): undocumented", + "Unity.Netcode.EditorTests.NetworkPrefabProcessorTests: void WhenGenerateDefaultNetworkPrefabsIsEnabled_AddingAPrefabUpdatesDefaultPrefabList(): undocumented", + "Unity.Netcode.EditorTests.NetworkPrefabProcessorTests: void WhenGenerateDefaultNetworkPrefabsIsEnabled_RemovingAPrefabUpdatesDefaultPrefabList(): undocumented", + "Unity.Netcode.EditorTests.NetworkPrefabProcessorTests: void WhenGenerateDefaultNetworkPrefabsIsNotEnabled_AddingAPrefabDoesNotUpdateDefaultPrefabList(): undocumented", + "Unity.Netcode.EditorTests.NetworkPrefabProcessorTests: void WhenGenerateDefaultNetworkPrefabsIsNotEnabled_RemovingAPrefabDoesNotUpdateDefaultPrefabList(): 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: void SetClientSynchronizationMode(LoadSceneMode): XML is not well-formed: Expected an end tag for element 'summary'", + "Unity.Netcode.RuntimeTests.ShowHideObject: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: ClientTargetedNetworkObjects: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: ClientIdToTarget: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: Silent: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: ValueAfterOwnershipChange: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: ObjectsPerClientId: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: ClientIdsRpcCalledOn: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: NetworkObject GetNetworkObjectById(ulong): undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: MyNetworkVariable: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: MyListSetOnSpawn: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: MyOwnerReadNetworkVariable: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: MyList: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: NetworkManagerOfInterest: undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: void OnGainedOwnership(): undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: void OwnerReadChanged(int, int): undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: void Changed(int, int): undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: void SomeRandomClientRPC(): undocumented", + "Unity.Netcode.RuntimeTests.ShowHideObject: void TriggerRpc(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkShowHideTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkShowHideTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkShowHideTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkShowHideTests: IEnumerator NetworkShowHideTest(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkShowHideTests: IEnumerator ConcurrentShowAndHideOnDifferentObjects(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkShowHideTests: IEnumerator NetworkShowHideQuickTest(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkShowHideTests: IEnumerator NetworkHideDespawnTest(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkShowHideTests: IEnumerator NetworkHideChangeOwnership(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkShowHideTests: IEnumerator NetworkHideChangeOwnershipNotHidden(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkShowHideTests: IEnumerator NetworkShowHideAroundListModify(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: void TestServerCanAccessItsOwnPlayer(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: void TestServerCanAccessOtherPlayers(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: void TestClientCantAccessServerPlayer(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: void TestClientCanAccessOwnPlayer(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: void TestClientCantAccessOtherPlayer(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: void TestServerGetsNullValueIfInvalidId(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: void TestServerCanUseGetLocalPlayerObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: void TestClientCanUseGetLocalPlayerObject(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkSpawnManagerTests: IEnumerator TestConnectAndDisconnect(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTimeSystemTests: void Setup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTimeSystemTests: IEnumerator PlayerLoopFixedTimeTest(): XML is not well-formed: End tag 'summary' does not match the start tag 'see'", + "Unity.Netcode.RuntimeTests.NetworkTimeSystemTests: IEnumerator PlayerLoopTimeTest_WithDifferentTimeScale(float): missing ", + "Unity.Netcode.RuntimeTests.NetworkTimeSystemTests: void TearDown(): undocumented", + "Unity.Netcode.RuntimeTests.PlayerLoopFixedTimeTestComponent: undocumented", + "Unity.Netcode.RuntimeTests.PlayerLoopFixedTimeTestComponent: Passes: undocumented", + "Unity.Netcode.RuntimeTests.PlayerLoopFixedTimeTestComponent: IsTestFinished: undocumented", + "Unity.Netcode.RuntimeTests.PlayerLoopTimeTestComponent: undocumented", + "Unity.Netcode.RuntimeTests.PlayerLoopTimeTestComponent: Passes: undocumented", + "Unity.Netcode.RuntimeTests.PlayerLoopTimeTestComponent: IsTestFinished: undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void TestFailCreateInvalidTime(double, uint): undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void TestTimeAsFloat(double, float, uint): undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void TestToFixedTime(double, double, uint): undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void NetworkTimeCreate(double, double, double): undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void NetworkTimeDefault(): undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void NetworkTimeAddFloatTest(double): undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void NetworkTimeSubFloatTest(double): undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void NetworkTimeAddNetworkTimeTest(double): undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void NetworkTimeSubNetworkTimeTest(double): undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void NetworkTimeAdvanceTest(): undocumented", + "Unity.Netcode.EditorTests.NetworkTimeTests: void NetworkTickAdvanceTest(): 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 Update(): 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.RuntimeTests.NetworkTransformAnticipationComponent: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationComponent: void MoveRpc(Vector3): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationComponent: void ScaleRpc(Vector3): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationComponent: void RotateRpc(Quaternion): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationComponent: ShouldSmooth: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationComponent: ShouldMove: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationComponent: void OnReanticipate(double): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void OnPlayerPrefabGameObjectCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void OnTimeTravelServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: AnticipatedNetworkTransform GetTestComponent(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: AnticipatedNetworkTransform GetServerComponent(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: AnticipatedNetworkTransform GetOtherClientComponent(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void WhenAnticipating_ValueChangesImmediately(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void WhenAnticipating_AuthoritativeValueDoesNotChange(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void WhenAnticipating_ServerDoesNotChange(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void WhenAnticipating_OtherClientDoesNotChange(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void WhenServerChangesSnapValue_ValuesAreUpdated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void AssertQuaternionsAreEquivalent(Quaternion, Quaternion): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void AssertVectorsAreEquivalent(Vector3, Vector3): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void WhenServerChangesSmoothValue_ValuesAreLerped(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void WhenServerChangesReanticipeValue_ValuesAreReanticiped(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void WhenStaleDataArrivesToIgnoreVariable_ItIsIgnored(uint, uint): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformAnticipationTests: void WhenNonStaleDataArrivesToIgnoreVariable_ItIsNotIgnored(uint, uint): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: k_PositionRotationScaleIterations: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: k_PositionRotationScaleIterations3Axis: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_CurrentHalfPrecision: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: k_HalfPrecisionPosScale: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: k_HalfPrecisionRot: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_AuthoritativePlayer: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_NonAuthoritativePlayer: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_ChildObject: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_SubChildObject: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_ParentObject: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_AuthoritativeTransform: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_NonAuthoritativeTransform: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_OwnerTransform: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_OriginalTargetFrameRate: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_CurrentAxis: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_AxisExcluded: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_DetectedPotentialInterpolatedTeleport: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_InfoMessage: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_Rotation: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_Precision: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_RotationCompression: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_Authority: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_ChildObjectLocalPosition: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_ChildObjectLocalRotation: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_ChildObjectLocalScale: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_SubChildObjectLocalPosition: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_SubChildObjectLocalRotation: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_SubChildObjectLocalScale: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_AuthorityParentObject: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_AuthorityParentNetworkTransform: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_AuthorityChildObject: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_AuthoritySubChildObject: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_AuthorityChildNetworkTransform: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: m_AuthoritySubChildNetworkTransform: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: float GetDeltaVarianceThreshold(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool UseUnreliableDeltas(): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void Setup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void Teardown(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: IEnumerator OnSetup(): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: IEnumerator OnTearDown(): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: .ctor(HostOrServer, Authority, RotationCompression, Rotation, Precision): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: .ctor(HostOrServer, Authority, RotationCompression, Rotation, Precision): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: .ctor(HostOrServer, Authority, RotationCompression, Rotation, Precision): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: int TargetFrameRate(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void OnOneTimeSetup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void OnOneTimeTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void OnClientsAndServerConnectedSetup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void OnTimeTravelServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: IEnumerator OnServerAndClientsConnected(): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void OnNewClientCreated(NetworkManager): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool AllChildObjectInstancesHaveChild(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool AllInstancesKeptLocalTransformValues(bool): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool AllInstancesKeptLocalTransformValues(bool): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool PostAllChildrenLocalTransformValuesMatch(bool): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void MoveRotateAndScaleAuthority(Vector3, Vector3, Vector3, OverrideState): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void MoveRotateAndScaleAuthority(Vector3, Vector3, Vector3, OverrideState): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void MoveRotateAndScaleAuthority(Vector3, Vector3, Vector3, OverrideState): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: void MoveRotateAndScaleAuthority(Vector3, Vector3, Vector3, OverrideState): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: Vector3 RandomlyExcludeAxis(Vector3): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: Vector3 RandomlyExcludeAxis(Vector3): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool PositionRotationScaleMatches(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool PositionRotationScaleMatches(Vector3, Vector3, Vector3): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool PositionsMatchesValue(Vector3): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool RotationMatchesValue(Vector3): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool ScaleMatchesValue(Vector3): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool TeleportPositionMatches(Vector3): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool RotationsMatch(bool): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool PositionsMatch(bool): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase: bool ScaleValuesMatch(bool): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Authority: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Authority: ServerAuthority: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Authority: OwnerAuthority: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Interpolation: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Interpolation: DisableInterpolate: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Interpolation: EnableInterpolate: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Precision: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Precision: Half: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Precision: Full: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Rotation: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Rotation: Euler: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Rotation: Quaternion: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.RotationCompression: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.RotationCompression: None: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.RotationCompression: QuaternionCompress: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.TransformSpace: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.TransformSpace: World: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.TransformSpace: Local: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.OverrideState: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.OverrideState: Update: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.OverrideState: CommitToTransform: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.OverrideState: SetState: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Axis: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Axis: X: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Axis: Y: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Axis: Z: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Axis: XY: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Axis: XZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Axis: YZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.Axis: XYZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.ChildrenTransformCheckType: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.ChildrenTransformCheckType: Connected_Clients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformBase.ChildrenTransformCheckType: Late_Join_Client: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: ServerAuthority: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: ReadyToReceivePositionUpdate: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: AuthorityLastSentState: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: StatePushed: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: AuthorityPushedTransformState: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: void OnAuthorityPushTransformState(ref NetworkTransformState): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: StateUpdated: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: void OnNetworkTransformStateUpdated(ref NetworkTransformState, ref NetworkTransformState): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: bool OnIsServerAuthoritative(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: AuthorityInstance: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: void CommitToTransform(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent: (bool isDirty, bool isPositionDirty, bool isRotationDirty, bool isScaleDirty) ApplyState(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTestComponent.AuthorityPushedTransformStateDelegateHandler: undocumented", + "Unity.Netcode.RuntimeTests.SubChildObjectComponent: bool IsSubChild(): undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: TestCount: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: EnableChildLog: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: Instances: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: SubInstances: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: AuthorityInstance: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: AuthoritySubInstance: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: ClientInstances: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: ClientSubChildInstances: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: InstancesWithLogging: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: HasSubChild: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: void Reset(): undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: ServerAuthority: undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: bool IsSubChild(): undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: bool OnIsServerAuthoritative(): undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: void OnNetworkObjectParentChanged(NetworkObject): undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: void OnAuthorityPushTransformState(ref NetworkTransformState): undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: void OnNetworkTransformStateUpdated(ref NetworkTransformState, ref NetworkTransformState): undocumented", + "Unity.Netcode.RuntimeTests.ChildObjectComponent: void OnSynchronize(ref BufferSerializer): undocumented", + "Unity.Netcode.Editor.NetworkTransformEditor: HideInterpolateValue: undocumented", + "Unity.Netcode.Editor.NetworkTransformEditor: void OnEnable(): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformGeneral: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformGeneral: .ctor(HostOrServer, Authority): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformGeneral: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformGeneral: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformGeneral: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformGeneral: void VerifyNonAuthorityCantChangeTransform(Interpolation): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformGeneral: void TestRotationThresholdDeltaCheck(Interpolation): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformGeneral: void TestBitsetValue(Interpolation): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformGeneral: void TestMultipleExplicitSetStates(Interpolation): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformGeneral: void NonAuthorityOwnerSettingStateTest(Interpolation): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: .ctor(HostOrServer, Authority, RotationCompression, Rotation, Precision): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: .ctor(HostOrServer, Authority, RotationCompression, Rotation, Precision): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: .ctor(HostOrServer, Authority, RotationCompression, Rotation, Precision): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: void OnTimeTravelServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: void ParentedNetworkTransformTest(Interpolation, bool, float): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: void ParentedNetworkTransformTest(Interpolation, bool, float): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: void ParentedNetworkTransformTest(Interpolation, bool, float): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: void NetworkTransformMultipleChangesOverTime(TransformSpace, Axis): XML is not well-formed: An identifier was expected", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: void TestAuthoritativeTransformChangeOneAtATime(TransformSpace, Interpolation): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: void TestAuthoritativeTransformChangeOneAtATime(TransformSpace, Interpolation): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformPacketLossTests: void TestSameFrameDeltaStateAndTeleport(TransformSpace, Interpolation): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests: .ctor(TransformSpace, Precision, Rotation): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests: void NetworkTransformStateFlags(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests: void TestSyncAxes(SynchronizationType, SyncAxis): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests: void TestThresholds(float, float, float): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncPosX: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncPosY: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncPosZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncPosXY: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncPosXZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncPosYZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncPosXYZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncRotX: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncRotY: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncRotZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncRotXY: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncRotXZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncRotYZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncRotXYZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncScaleX: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncScaleY: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncScaleZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncScaleXY: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncScaleXZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncScaleYZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncScaleXYZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncAllX: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncAllY: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncAllZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncAllXY: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncAllXZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncAllYZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SyncAxis: SyncAllXYZ: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.TransformSpace: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.TransformSpace: World: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.TransformSpace: Local: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.Rotation: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.Rotation: Euler: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.Rotation: Quaternion: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SynchronizationType: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SynchronizationType: Delta: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.SynchronizationType: Teleport: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.Precision: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.Precision: Half: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformStateTests.Precision: Full: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: k_TickRate: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: .ctor(HostOrServer, Authority, RotationCompression, Rotation, Precision): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: .ctor(HostOrServer, Authority, RotationCompression, Rotation, Precision): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: .ctor(HostOrServer, Authority, RotationCompression, Rotation, Precision): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: uint GetTickRate(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: float GetDeltaVarianceThreshold(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void ParentedNetworkTransformTest(Interpolation, bool, float): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void ParentedNetworkTransformTest(Interpolation, bool, float): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void ParentedNetworkTransformTest(Interpolation, bool, float): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void NetworkTransformMultipleChangesOverTime(TransformSpace, OverrideState, Axis): XML is not well-formed: An identifier was expected", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void LateJoiningPlayerInitialScaleValues(TransformSpace, Interpolation, OverrideState): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void LateJoiningPlayerInitialScaleValues(TransformSpace, Interpolation, OverrideState): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void LateJoiningPlayerInitialScaleValues(TransformSpace, Interpolation, OverrideState): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void TestAuthoritativeTransformChangeOneAtATime(TransformSpace, Interpolation, OverrideState): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void TestAuthoritativeTransformChangeOneAtATime(TransformSpace, Interpolation, OverrideState): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void TestAuthoritativeTransformChangeOneAtATime(TransformSpace, Interpolation, OverrideState): missing ", + "Unity.Netcode.RuntimeTests.NetworkTransformTests: void TeleportTest(Interpolation): missing ", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.NetworkTransport.TransportEventDelegate: missing ", + "Unity.Netcode.RuntimeTests.NetworkUpdateLoopTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkUpdateLoopTests: void RegisterCustomLoopInTheMiddle(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkUpdateLoopTests: IEnumerator RegisterAndUnregisterSystems(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkUpdateLoopTests: void UpdateStageSystems(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkUpdateLoopTests: IEnumerator UpdateStagesPlain(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkUpdateLoopTests: IEnumerator UpdateStagesMixed(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest: void ClientDummyNetBehaviourSpawned(DummyNetBehaviour): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest: IEnumerator TestEntireBufferIsCopiedOnNetworkVariableDelta(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetVar: DeltaWritten: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetVar: FieldWritten: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetVar: DeltaRead: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetVar: FieldRead: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetVar: void WriteDelta(FastBufferWriter): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetVar: void WriteField(FastBufferWriter): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetVar: void ReadField(FastBufferReader): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetVar: void ReadDelta(FastBufferReader, bool): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetBehaviour: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetBehaviour: NetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVarBufferCopyTest.DummyNetBehaviour: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.NetworkVariable: CheckExceedsDirtinessThreshold: undocumented", + "Unity.Netcode.NetworkVariable: bool ExceedsDirtinessThreshold(): undocumented", + "Unity.Netcode.NetworkVariable: void OnInitialize(): undocumented", + "Unity.Netcode.NetworkVariable: void Dispose(): undocumented", + "Unity.Netcode.NetworkVariable: void Finalize(): undocumented", + "Unity.Netcode.NetworkVariable.CheckExceedsDirtinessThresholdDelegate: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationComponent: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationComponent: SnapOnAnticipationFailVariable: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationComponent: SmoothOnAnticipationFailVariable: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationComponent: ReanticipateOnAnticipationFailVariable: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationComponent: void OnReanticipate(double): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationComponent: SnapRpcResponseReceived: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationComponent: void SetSnapValueRpc(int, RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationComponent: void SetSnapValueResponseRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationComponent: void SetSmoothValueRpc(float): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationComponent: void SetReanticipateValueRpc(float): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void OnPlayerPrefabGameObjectCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: NetworkVariableAnticipationComponent GetTestComponent(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: NetworkVariableAnticipationComponent GetServerComponent(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: NetworkVariableAnticipationComponent GetOtherClientComponent(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void WhenAnticipating_ValueChangesImmediately(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void WhenAnticipating_AuthoritativeValueDoesNotChange(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void WhenAnticipating_ServerDoesNotChange(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void WhenAnticipating_OtherClientDoesNotChange(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void WhenServerChangesSnapValue_ValuesAreUpdated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void WhenServerChangesSmoothValue_ValuesAreLerped(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void WhenServerChangesReanticipateValue_ValuesAreReanticipated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void WhenNonStaleDataArrivesToIgnoreVariable_ItIsNotIgnored(uint, uint): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void WhenStaleDataArrivesToIgnoreVariable_ItIsIgnored(uint, uint): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableAnticipationTests: void WhenStaleDataArrivesToReanticipatedVariable_ItIsAppliedAndReanticipated(): 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: XML is not well-formed: End tag 'summary' does not match the start tag 'T'", + "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.RuntimeTests.NetworkVariableNameTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableNameTests: void SetUp(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableNameTests: void TearDown(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableNameTests: void VerifyNetworkVariableNameInitialization(): undocumented", + "Unity.Netcode.UserNetworkVariableSerialization.WriteDeltaDelegate: missing ", + "Unity.Netcode.UserNetworkVariableSerialization.DuplicateValueDelegate: missing ", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_Dictionary(): missing ", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeSerializer_Dictionary(): missing ", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_Dictionary(): missing ", + "Unity.Netcode.NetworkVariableSerializationTypes: void InitializeEqualityChecker_Dictionary(): missing ", + "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.EmbeddedManagedNetworkSerializableType: undocumented", + "Unity.Netcode.RuntimeTests.EmbeddedManagedNetworkSerializableType: Int: undocumented", + "Unity.Netcode.RuntimeTests.EmbeddedManagedNetworkSerializableType: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.ManagedNetworkSerializableType: undocumented", + "Unity.Netcode.RuntimeTests.ManagedNetworkSerializableType: Str: undocumented", + "Unity.Netcode.RuntimeTests.ManagedNetworkSerializableType: Ints: undocumented", + "Unity.Netcode.RuntimeTests.ManagedNetworkSerializableType: Embedded: undocumented", + "Unity.Netcode.RuntimeTests.ManagedNetworkSerializableType: InMemoryValue: undocumented", + "Unity.Netcode.RuntimeTests.ManagedNetworkSerializableType: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.ManagedNetworkSerializableType: bool Equals(ManagedNetworkSerializableType): undocumented", + "Unity.Netcode.RuntimeTests.ManagedNetworkSerializableType: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.ManagedNetworkSerializableType: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedNetworkSerializableType: undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedNetworkSerializableType: Str: undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedNetworkSerializableType: Int: undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedNetworkSerializableType: InMemoryValue: undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedNetworkSerializableType: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedNetworkSerializableType: bool Equals(UnmanagedNetworkSerializableType): undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedNetworkSerializableType: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedNetworkSerializableType: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedTemplateNetworkSerializableType: undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedTemplateNetworkSerializableType: Value: undocumented", + "Unity.Netcode.RuntimeTests.UnmanagedTemplateNetworkSerializableType: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.ManagedTemplateNetworkSerializableType: undocumented", + "Unity.Netcode.RuntimeTests.ManagedTemplateNetworkSerializableType: Value: undocumented", + "Unity.Netcode.RuntimeTests.ManagedTemplateNetworkSerializableType: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: IEnumerable TestDataSource(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: IEnumerator OnServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: IEnumerator ServerChangesOwnerWritableNetVar(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: IEnumerator ServerChangesServerWritableNetVar(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: IEnumerator ClientChangesOwnerWritableNetVar(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: IEnumerator ClientOwnerWithReadWriteChangesNetVar(): missing ", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: IEnumerator ClientCannotChangeServerWritableNetVar(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariablePermissionTests: IEnumerator ServerCannotChangeOwnerWritableNetVar(): undocumented", + "Unity.Netcode.RuntimeTests.TestStruct: undocumented", + "Unity.Netcode.RuntimeTests.TestStruct: SomeInt: undocumented", + "Unity.Netcode.RuntimeTests.TestStruct: SomeBool: undocumented", + "Unity.Netcode.RuntimeTests.TestStruct: NetworkSerializeCalledOnWrite: undocumented", + "Unity.Netcode.RuntimeTests.TestStruct: NetworkSerializeCalledOnRead: undocumented", + "Unity.Netcode.RuntimeTests.TestStruct: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.TestStruct: bool Equals(TestStruct): undocumented", + "Unity.Netcode.RuntimeTests.TestStruct: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.TestStruct: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.TestClass: undocumented", + "Unity.Netcode.RuntimeTests.TestClass: SomeInt: undocumented", + "Unity.Netcode.RuntimeTests.TestClass: SomeBool: undocumented", + "Unity.Netcode.RuntimeTests.TestClass: NetworkSerializeCalledOnWrite: undocumented", + "Unity.Netcode.RuntimeTests.TestClass: NetworkSerializeCalledOnRead: undocumented", + "Unity.Netcode.RuntimeTests.TestClass: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.TestClass: bool Equals(TestClass): undocumented", + "Unity.Netcode.RuntimeTests.TestClass: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.TestClass: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.TestClass_ReferencedOnlyByTemplateNetworkBehavourType: undocumented", + "Unity.Netcode.RuntimeTests.TestClass_ReferencedOnlyByTemplateNetworkBehavourType: bool Equals(TestClass_ReferencedOnlyByTemplateNetworkBehavourType): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: TheScalar: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: TheEnum: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: TheList: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: TheStructList: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: TheLargeList: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: FixedString32: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: void Awake(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: TheStruct: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: TheClass: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: TheTemplateStruct: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: TheTemplateClass: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: ListDelegateTriggered: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest.SomeEnum: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest.SomeEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest.SomeEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTest.SomeEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void ClientNetworkVariableTestSpawned(NetworkVariableTest): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: .ctor(bool): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: bool CanStartServerAndClients(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void AllNetworkVariableTypes(HostOrServer): missing ", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void ClientWritePermissionTest(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void NetworkVariableSync_WithDifferentTimeScale(HostOrServer, float): missing ", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void NetworkVariableSync_WithDifferentTimeScale(HostOrServer, float): missing ", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void FixedString32Test(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void NetworkListAdd(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void WhenListContainsManyLargeValues_OverflowExceptionIsNotThrown(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void NetworkListContains(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void NetworkListInsert(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void NetworkListIndexOf(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void NetworkListValueUpdate(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void NetworkListRemoveTests(HostOrServer, ListRemoveTypes): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void NetworkListClear(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestNetworkVariableClass(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestNetworkVariableTemplateClass(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestNetworkListStruct(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestNetworkVariableStruct(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestNetworkVariableTemplateStruct(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestNetworkVariableTemplateBehaviourClass(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestNetworkVariableTemplateBehaviourClassNotReferencedElsewhere(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestNetworkVariableTemplateBehaviourStruct(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestNetworkVariableEnum(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestINetworkSerializableClassCallsNetworkSerialize(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestINetworkSerializableStructCallsNetworkSerialize(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestCustomGenericSerialization(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestUnsupportedManagedTypesThrowExceptions(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestUnsupportedManagedTypesWithUserSerializationDoNotThrowExceptions(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestUnsupportedUnmanagedTypesThrowExceptions(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestTypesReferencedInSubclassSerializeSuccessfully(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestUnsupportedUnmanagedTypesWithUserSerializationDoNotThrowExceptions(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void WhenCreatingAnArrayOfNetVars_InitializingVariablesDoesNotThrowAnException(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void AssertArraysMatch(ref NativeArray, ref NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void AssertArraysDoNotMatch(ref NativeArray, ref NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void AssertListsMatch(ref List, ref List): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void AssertListsDoNotMatch(ref List, ref List): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void AssertSetsMatch(ref HashSet, ref HashSet): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void AssertSetsDoNotMatch(ref HashSet, ref HashSet): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void AssertMapsMatch(ref Dictionary, ref Dictionary): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void AssertMapsDoNotMatch(ref Dictionary, ref Dictionary): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void WhenSerializingAndDeserializingValueTypeNetworkVariables_ValuesAreSerializedCorrectly(Type): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void WhenSerializingAndDeserializingValueTypeNativeArrayNetworkVariables_ValuesAreSerializedCorrectly(Type): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: T RandGenBytes(Random): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: FixedString32Bytes RandGenFixedString32(Random): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: string ArrayStr(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: (NativeArray original, NativeArray original2, NativeArray changed, NativeArray changed2) GetArarys(GetRandomElement): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void WhenSerializingAndDeserializingVeryLargeValueTypeNativeArrayNetworkVariables_ValuesAreSerializedCorrectly(Type): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: string ListStr(List): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: string HashSetStr(HashSet): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: string DictionaryStr(Dictionary): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: (List original, List original2, List changed, List changed2) GetLists(GetRandomElement): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: (HashSet original, HashSet original2, HashSet changed, HashSet changed2) GetHashSets(GetRandomElement): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: (Dictionary original, Dictionary original2, Dictionary changed, Dictionary changed2) GetDictionaries(GetRandomElement, GetRandomElement): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void WhenSerializingAndDeserializingVeryLargeListNetworkVariables_ValuesAreSerializedCorrectly(Type): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void WhenSerializingAndDeserializingVeryLargeHashSetNetworkVariables_ValuesAreSerializedCorrectly(Type): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void WhenSerializingAndDeserializingVeryLargeDictionaryNetworkVariables_ValuesAreSerializedCorrectly(Type, Type): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestManagedINetworkSerializableNetworkVariablesDeserializeInPlace(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: void TestUnmnagedINetworkSerializableNetworkVariablesDeserializeInPlace(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests: IEnumerator OnTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests.ListRemoveTypes: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests.ListRemoveTypes: Remove: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests.ListRemoveTypes: RemoveAt: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTests.GetRandomElement: undocumented", + "Unity.Netcode.RuntimeTests.NetworkListTestPredicate: void SetNetworkListTestState(NetworkListTestStates): undocumented", + "Unity.Netcode.RuntimeTests.NetworkListTestPredicate: bool OnHasConditionBeenReached(): missing ", + "Unity.Netcode.RuntimeTests.NetworkListTestPredicate: .ctor(NetworkVariableTest, NetworkVariableTest, NetworkListTestStates, int): undocumented", + "Unity.Netcode.RuntimeTests.NetworkListTestPredicate.NetworkListTestStates: undocumented", + "Unity.Netcode.RuntimeTests.NetworkListTestPredicate.NetworkListTestStates: Add: undocumented", + "Unity.Netcode.RuntimeTests.NetworkListTestPredicate.NetworkListTestStates: ContainsLarge: undocumented", + "Unity.Netcode.RuntimeTests.NetworkListTestPredicate.NetworkListTestStates: Contains: undocumented", + "Unity.Netcode.RuntimeTests.NetworkListTestPredicate.NetworkListTestStates: VerifyData: undocumented", + "Unity.Netcode.RuntimeTests.NetworkListTestPredicate.NetworkListTestStates: IndexOf: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests: IEnumerable TestDataSource(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests: IEnumerator OnServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests: IEnumerator TestInheritedFields(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentA: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentA: PublicFieldA: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentA: m_ProtectedFieldA: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentA: void ChangeValuesA(int, int, int): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentA: bool CompareValuesA(ComponentA): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentB: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentB: PublicFieldB: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentB: m_ProtectedFieldB: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentB: void ChangeValuesB(int, int, int): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentB: bool CompareValuesB(ComponentB): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentC: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentC: PublicFieldC: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentC: m_ProtectedFieldC: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentC: void ChangeValuesC(int, int, int): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableInheritanceTests.ComponentC: bool CompareValuesC(ComponentC): undocumented", + "Unity.Netcode.RuntimeTests.NetvarDespawnShutdown: undocumented", + "Unity.Netcode.RuntimeTests.NetvarDespawnShutdown: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableModifyOnNetworkDespawn: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableModifyOnNetworkDespawn: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableModifyOnNetworkDespawn: IEnumerator ModifyNetworkVariableOrListOnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.NetVarPermTestComp: undocumented", + "Unity.Netcode.RuntimeTests.NetVarPermTestComp: OwnerWritable_Position: undocumented", + "Unity.Netcode.RuntimeTests.NetVarPermTestComp: ServerWritable_Position: undocumented", + "Unity.Netcode.RuntimeTests.NetVarPermTestComp: OwnerReadWrite_Position: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableMiddleclass: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableSubclass: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetVarArray: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetVarArray: Int0: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetVarArray: Int1: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetVarArray: Int2: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetVarArray: Int3: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetVarArray: Int4: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetVarArray: AllInts: undocumented", + "Unity.Netcode.RuntimeTests.NetworkBehaviourWithNetVarArray: InitializedFieldCount: undocumented", + "Unity.Netcode.RuntimeTests.TemplatedValueOnlyReferencedByNetworkVariableSubclass: undocumented", + "Unity.Netcode.RuntimeTests.TemplatedValueOnlyReferencedByNetworkVariableSubclass: Value: undocumented", + "Unity.Netcode.RuntimeTests.ByteEnum: undocumented", + "Unity.Netcode.RuntimeTests.ByteEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.ByteEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.ByteEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.SByteEnum: undocumented", + "Unity.Netcode.RuntimeTests.SByteEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.SByteEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.SByteEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.ShortEnum: undocumented", + "Unity.Netcode.RuntimeTests.ShortEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.ShortEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.ShortEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.UShortEnum: undocumented", + "Unity.Netcode.RuntimeTests.UShortEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.UShortEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.UShortEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.IntEnum: undocumented", + "Unity.Netcode.RuntimeTests.IntEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.IntEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.IntEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.UIntEnum: undocumented", + "Unity.Netcode.RuntimeTests.UIntEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.UIntEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.UIntEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.LongEnum: undocumented", + "Unity.Netcode.RuntimeTests.LongEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.LongEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.LongEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.ULongEnum: undocumented", + "Unity.Netcode.RuntimeTests.ULongEnum: A: undocumented", + "Unity.Netcode.RuntimeTests.ULongEnum: B: undocumented", + "Unity.Netcode.RuntimeTests.ULongEnum: C: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: A: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: B: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: C: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: D: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: E: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: F: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: G: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: H: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: I: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: J: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: K: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: bool Equals(HashableNetworkVariableTestStruct): undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestStruct: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: A: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: B: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: C: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: D: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: E: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: F: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: G: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: H: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: I: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: J: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: K: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: bool Equals(HashMapKeyStruct): undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyStruct: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: A: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: B: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: C: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: D: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: E: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: F: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: G: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: H: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: I: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: J: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: K: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: bool Equals(HashMapValStruct): undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.HashMapValStruct: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: A: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: B: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: C: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: D: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: E: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: F: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: G: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: H: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: I: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: J: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: K: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestStruct: NetworkVariableTestStruct GetTestStruct(): undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestClass: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestClass: Data: undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestClass: bool Equals(HashableNetworkVariableTestClass): undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestClass: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestClass: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.HashableNetworkVariableTestClass: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyClass: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyClass: Data: undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyClass: bool Equals(HashMapKeyClass): undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyClass: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyClass: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.HashMapKeyClass: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.HashMapValClass: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValClass: Data: undocumented", + "Unity.Netcode.RuntimeTests.HashMapValClass: bool Equals(HashMapValClass): undocumented", + "Unity.Netcode.RuntimeTests.HashMapValClass: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.HashMapValClass: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.HashMapValClass: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestClass: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestClass: Data: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestClass: bool Equals(NetworkVariableTestClass): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestClass: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestClass: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTestClass: void NetworkSerialize(BufferSerializer): undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteByteDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongByteDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2ByteDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassByteDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: SbyteVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: SbyteArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: SbyteManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: SbyteManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteSbyteDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongSbyteDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2SbyteDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassSbyteDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ShortVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ShortArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ShortManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ShortManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteShortDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongShortDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2ShortDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassShortDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UshortVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UshortArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UshortManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UshortManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteUshortDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongUshortDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2UshortDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassUshortDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: IntVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: IntArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: IntManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: IntManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteIntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongIntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2IntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassIntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UintVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UintArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UintManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UintManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteUintDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongUintDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2UintDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassUintDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: LongVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: LongArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: LongManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: LongManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteLongDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongLongDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2LongDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassLongDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UlongVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UlongArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UlongManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UlongManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteUlongDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongUlongDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2UlongDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassUlongDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: BoolVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: BoolArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: BoolManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: BoolManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteBoolDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongBoolDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2BoolDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassBoolDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: CharVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: CharArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: CharManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: CharManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteCharDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongCharDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2CharDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassCharDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: FloatVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: FloatArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: FloatManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: FloatManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteFloatDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongFloatDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2FloatDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassFloatDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: DoubleVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: DoubleArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: DoubleManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: DoubleManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteDoubleDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongDoubleDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2DoubleDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassDoubleDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteEnumVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteEnumArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteEnumManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: SByteEnumVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: SByteEnumArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: SByteEnumManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ShortEnumVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ShortEnumArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ShortEnumManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UShortEnumVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UShortEnumArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UShortEnumManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: IntEnumVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: IntEnumArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: IntEnumManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UIntEnumVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UIntEnumArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UIntEnumManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: LongEnumVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: LongEnumArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: LongEnumManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongEnumVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongEnumArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongEnumManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2Var: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2ArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2ManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2ManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteVector2DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongVector2DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2Vector2DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassVector2DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector3Var: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector3ArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector3ManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector3ManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteVector3DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongVector3DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2Vector3DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassVector3DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2IntVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2IntArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2IntManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2IntManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteVector2IntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongVector2IntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2Vector2IntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassVector2IntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector3IntVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector3IntArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector3IntManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector3IntManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteVector3IntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongVector3IntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2Vector3IntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassVector3IntDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector4Var: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector4ArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector4ManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector4ManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteVector4DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongVector4DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2Vector4DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassVector4DictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: QuaternionVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: QuaternionArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: QuaternionManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: QuaternionManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteQuaternionDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongQuaternionDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2QuaternionDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassQuaternionDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ColorVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ColorArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ColorManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Color32Var: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Color32ArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Color32ManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: RayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: RayArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: RayManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Ray2DVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Ray2DArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Ray2DManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: TestStructVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: TestStructArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: TestStructManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: TestStructManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteTestStructDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongTestStructDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2TestStructDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassTestStructDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: FixedStringVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: FixedStringArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: FixedStringManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: FixedStringManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteFixedStringDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongFixedStringDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2FixedStringDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassFixedStringDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UnmanagedNetworkSerializableTypeVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UnmanagedNetworkSerializableManagedHashSetVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ByteUnmanagedNetworkSerializableDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ULongUnmanagedNetworkSerializableDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: Vector2UnmanagedNetworkSerializableDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: HashMapKeyClassUnmanagedNetworkSerializableDictionaryVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UnmanagedNetworkSerializableArrayVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: UnmanagedNetworkSerializableManagedListVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: ManagedNetworkSerializableTypeVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: StringVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: GuidVar: undocumented", + "Unity.Netcode.RuntimeTests.NetVarILPPClassForTests: SubclassVar: undocumented", + "Unity.Netcode.RuntimeTests.TemplateNetworkBehaviourType: undocumented", + "Unity.Netcode.RuntimeTests.TemplateNetworkBehaviourType: TheVar: undocumented", + "Unity.Netcode.RuntimeTests.IntermediateNetworkBehavior: undocumented", + "Unity.Netcode.RuntimeTests.IntermediateNetworkBehavior: TheVar2: undocumented", + "Unity.Netcode.RuntimeTests.ClassHavingNetworkBehaviour: undocumented", + "Unity.Netcode.RuntimeTests.ClassHavingNetworkBehaviour2: undocumented", + "Unity.Netcode.RuntimeTests.StructHavingNetworkBehaviour: undocumented", + "Unity.Netcode.RuntimeTests.StructUsedOnlyInNetworkList: undocumented", + "Unity.Netcode.RuntimeTests.StructUsedOnlyInNetworkList: Value: undocumented", + "Unity.Netcode.RuntimeTests.StructUsedOnlyInNetworkList: bool Equals(StructUsedOnlyInNetworkList): undocumented", + "Unity.Netcode.RuntimeTests.StructUsedOnlyInNetworkList: bool Equals(object): undocumented", + "Unity.Netcode.RuntimeTests.StructUsedOnlyInNetworkList: int GetHashCode(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsComponent: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsComponent: TheVariable: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: void OnPlayerPrefabGameObjectCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: NetworkVariableTraitsComponent GetTestComponent(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: NetworkVariableTraitsComponent GetServerComponent(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: void WhenNewValueIsLessThanThreshold_VariableIsNotSerialized(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: void WhenNewValueIsGreaterThanThreshold_VariableIsSerialized(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: void WhenNewValueIsLessThanThresholdButMaxTimeHasPassed_VariableIsSerialized(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: void WhenNewValueIsGreaterThanThresholdButMinTimeHasNotPassed_VariableIsNotSerialized(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableTraitsTests: void WhenNoThresholdIsSetButMinTimeHasNotPassed_VariableIsNotSerialized(): undocumented", + "Unity.Netcode.RuntimeTests.MyTypeOne: undocumented", + "Unity.Netcode.RuntimeTests.MyTypeOne: Value: undocumented", + "Unity.Netcode.RuntimeTests.MyTypeTwo: undocumented", + "Unity.Netcode.RuntimeTests.MyTypeTwo: Value: undocumented", + "Unity.Netcode.RuntimeTests.MyTypeThree: undocumented", + "Unity.Netcode.RuntimeTests.MyTypeThree: Value: undocumented", + "Unity.Netcode.RuntimeTests.WorkingUserNetworkVariableComponentBase: void Reset(): undocumented", + "Unity.Netcode.RuntimeTests.WorkingUserNetworkVariableComponentBase: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.WorkingUserNetworkVariableComponentBase: void OnNetworkDespawn(): undocumented", + "Unity.Netcode.RuntimeTests.WorkingUserNetworkVariableComponent: undocumented", + "Unity.Netcode.RuntimeTests.WorkingUserNetworkVariableComponent: NetworkVariable: undocumented", + "Unity.Netcode.RuntimeTests.WorkingUserNetworkVariableComponentUsingExtensionMethod: undocumented", + "Unity.Netcode.RuntimeTests.WorkingUserNetworkVariableComponentUsingExtensionMethod: NetworkVariable: undocumented", + "Unity.Netcode.RuntimeTests.NonWorkingUserNetworkVariableComponent: undocumented", + "Unity.Netcode.RuntimeTests.NonWorkingUserNetworkVariableComponent: NetworkVariable: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableUserSerializableTypesTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableUserSerializableTypesTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableUserSerializableTypesTests: .ctor(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableUserSerializableTypesTests: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableUserSerializableTypesTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableUserSerializableTypesTests: IEnumerator WhenUsingAUserSerializableNetworkVariableWithUserSerialization_ReplicationWorks(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableUserSerializableTypesTests: IEnumerator WhenUsingAUserSerializableNetworkVariableWithUserSerializationViaExtensionMethod_ReplicationWorks(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableUserSerializableTypesTests: void WhenUsingAUserSerializableNetworkVariableWithoutUserSerialization_ReplicationFails(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVariableUserSerializableTypesTests: IEnumerator OnTearDown(): undocumented", + "Unity.Netcode.EditorTests.NetworkVar.NetworkVarTests: undocumented", + "Unity.Netcode.EditorTests.NetworkVar.NetworkVarTests: void TestAssignmentUnchanged(): undocumented", + "Unity.Netcode.EditorTests.NetworkVar.NetworkVarTests: void TestAssignmentChanged(): undocumented", + "Unity.Netcode.EditorTests.NetworkVar.NetworkVarTests.NetworkVarComponent: undocumented", + "Unity.Netcode.EditorTests.NetworkVar.NetworkVarTests.NetworkVarComponent: NetworkVariable: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityComponent: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityComponent: void Hide(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityComponent: bool HandleCheckObjectVisibility(ulong): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityTests: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityTests: .ctor(SceneManagementState): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityTests: IEnumerator OnServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityTests: IEnumerator HiddenObjectsTest(): undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityTests.SceneManagementState: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityTests.SceneManagementState: SceneManagementEnabled: undocumented", + "Unity.Netcode.RuntimeTests.NetworkVisibilityTests.SceneManagementState: SceneManagementDisabled: 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.RuntimeTests.OwnerModifiedObject: undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedObject: MyNetworkList: undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedObject: void Changed(NetworkListEvent): undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedObject: AddValues: undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedObject: NetworkUpdateStageToCheck: undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedObject: void NetworkUpdate(NetworkUpdateStage): undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedObject: void OnDestroy(): undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedObject: void InitializeLastCient(): undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedTests: undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedTests: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.OwnerModifiedTests: IEnumerator OwnerModifiedTest(): undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: Objects: undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: CurrentlySpawning: undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: ClientTargetedNetworkObjects: undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: MyNetworkVariableOwner: undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: MyNetworkVariableServer: undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: MyNetworkListOwner: undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: MyNetworkListServer: undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: void CheckLists(NetworkList, NetworkList): undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: void VerifyConsistency(): undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: void OnNetworkSpawn(): undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: void OwnerChanged(int, int): undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: void ServerChanged(int, int): undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: void ListOwnerChanged(NetworkListEvent): undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionObject: void ListServerChanged(NetworkListEvent): undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionHideTests: undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionHideTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionHideTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.OwnerPermissionHideTests: IEnumerator OwnerPermissionTest(): undocumented", + "Unity.Netcode.RuntimeTests.PeerDisconnectCallbackTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.PeerDisconnectCallbackTests: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.PeerDisconnectCallbackTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.PeerDisconnectCallbackTests: IEnumerator OnSetup(): undocumented", + "Unity.Netcode.RuntimeTests.PeerDisconnectCallbackTests: IEnumerator TestPeerDisconnectCallback(ClientDisconnectType, ulong): undocumented", + "Unity.Netcode.RuntimeTests.PeerDisconnectCallbackTests.ClientDisconnectType: undocumented", + "Unity.Netcode.RuntimeTests.PeerDisconnectCallbackTests.ClientDisconnectType: ServerDisconnectsClient: undocumented", + "Unity.Netcode.RuntimeTests.PeerDisconnectCallbackTests.ClientDisconnectType: ClientDisconnectsFromServer: undocumented", + "Unity.Netcode.RuntimeTests.PlayerObjectTests: undocumented", + "Unity.Netcode.RuntimeTests.PlayerObjectTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.PlayerObjectTests: m_NewPlayerToSpawn: undocumented", + "Unity.Netcode.RuntimeTests.PlayerObjectTests: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.PlayerObjectTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.PlayerObjectTests: IEnumerator SpawnAndReplaceExistingPlayerObject(): 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.RuntimeTests.RpcManyClientsObject: undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsObject: Count: undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsObject: ReceivedFrom: undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsObject: void ResponseServerRpc(ServerRpcParams): undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsObject: void NoParamsClientRpc(): undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsObject: void OneParamClientRpc(int): undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsObject: void TwoParamsClientRpc(int, int): undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsObject: void WithParamsClientRpc(ClientRpcParams): undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsTests: undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsTests: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsTests: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsTests: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsTests: GameObject PreparePrefab(Type): undocumented", + "Unity.Netcode.RuntimeTests.RpcManyClientsTests: void RpcManyClientsTest(): 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.RpcQueueTests: void Setup(): undocumented", + "Unity.Netcode.RuntimeTests.RpcQueueTests: void TearDown(): undocumented", + "Unity.Netcode.RpcTargetUse: undocumented", + "Unity.Netcode.RpcTargetUse: Temp: undocumented", + "Unity.Netcode.RpcTargetUse: Persistent: 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.RuntimeTests.RpcTests: undocumented", + "Unity.Netcode.RuntimeTests.RpcTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.RpcTests: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.RpcTests: IEnumerator TestRpcs(): undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.CompileTimeNoRpcsBaseClassTest: undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.CompileTimeHasRpcsChildClassDerivedFromNoRpcsBaseClassTest: undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.CompileTimeHasRpcsChildClassDerivedFromNoRpcsBaseClassTest: void SomeDummyServerRpc(): undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.GenericRpcTestNB: undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.GenericRpcTestNB: OnServer_Rpc: undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.GenericRpcTestNB: void MyServerRpc(T, ServerRpcParams): undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.RpcTestNBFloat: undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.RpcTestNB: undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.RpcTestNB: OnTypedServer_Rpc: undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.RpcTestNB: OnClient_Rpc: undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.RpcTestNB: void MyClientRpc(): undocumented", + "Unity.Netcode.RuntimeTests.RpcTests.RpcTestNB: void MyTypedServerRpc(Vector3, Vector3[], FixedString32Bytes): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: .ctor(): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: void TestValueType(T, T): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: void TestValueTypeArray(T[], T[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: void TestValueTypeNativeArray(NativeArray, NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: void WhenSendingAValueTypeOverAnRpc_ValuesAreSerializedCorrectly(Type): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: void WhenSendingAnArrayOfValueTypesOverAnRpc_ValuesAreSerializedCorrectly(Type): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests: void WhenSendingANativeArrayOfValueTypesOverAnRpc_ValuesAreSerializedCorrectly(Type): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: OnReceived: undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ByteClientRpc(byte): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ByteArrayClientRpc(byte[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ByteNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void SbyteClientRpc(sbyte): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void SbyteArrayClientRpc(sbyte[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void SbyteNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ShortClientRpc(short): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ShortArrayClientRpc(short[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ShortNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UshortClientRpc(ushort): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UshortArrayClientRpc(ushort[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UshortNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void IntClientRpc(int): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void IntArrayClientRpc(int[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void IntNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UintClientRpc(uint): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UintArrayClientRpc(uint[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UintNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void LongClientRpc(long): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void LongArrayClientRpc(long[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void LongNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UlongClientRpc(ulong): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UlongArrayClientRpc(ulong[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UlongNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void BoolClientRpc(bool): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void BoolArrayClientRpc(bool[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void BoolNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void CharClientRpc(char): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void CharArrayClientRpc(char[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void CharNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void FloatClientRpc(float): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void FloatArrayClientRpc(float[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void FloatNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void DoubleClientRpc(double): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void DoubleArrayClientRpc(double[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void DoubleNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ByteEnumClientRpc(ByteEnum): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ByteEnumArrayClientRpc(ByteEnum[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ByteEnumNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void SByteEnumClientRpc(SByteEnum): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void SByteEnumArrayClientRpc(SByteEnum[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void SByteEnumNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ShortEnumClientRpc(ShortEnum): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ShortEnumArrayClientRpc(ShortEnum[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ShortEnumNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UShortEnumClientRpc(UShortEnum): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UShortEnumArrayClientRpc(UShortEnum[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UShortEnumNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void IntEnumClientRpc(IntEnum): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void IntEnumArrayClientRpc(IntEnum[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void IntEnumNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UIntEnumClientRpc(UIntEnum): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UIntEnumArrayClientRpc(UIntEnum[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void UIntEnumNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void LongEnumClientRpc(LongEnum): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void LongEnumArrayClientRpc(LongEnum[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void LongEnumNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ULongEnumClientRpc(ULongEnum): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ULongEnumArrayClientRpc(ULongEnum[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ULongEnumNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector2ClientRpc(Vector2): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector2ArrayClientRpc(Vector2[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector2NativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector3ClientRpc(Vector3): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector3ArrayClientRpc(Vector3[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector3NativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector2IntClientRpc(Vector2Int): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector2IntArrayClientRpc(Vector2Int[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector2IntNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector3IntClientRpc(Vector3Int): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector3IntArrayClientRpc(Vector3Int[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector3IntNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector4ClientRpc(Vector4): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector4ArrayClientRpc(Vector4[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Vector4NativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void QuaternionClientRpc(Quaternion): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void QuaternionArrayClientRpc(Quaternion[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void QuaternionNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ColorClientRpc(Color): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ColorArrayClientRpc(Color[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void ColorNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Color32ClientRpc(Color32): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Color32ArrayClientRpc(Color32[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Color32NativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void RayClientRpc(Ray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void RayArrayClientRpc(Ray[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void RayNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Ray2DClientRpc(Ray2D): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Ray2DArrayClientRpc(Ray2D[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void Ray2DNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void NetworkVariableTestStructClientRpc(NetworkVariableTestStruct): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void NetworkVariableTestStructArrayClientRpc(NetworkVariableTestStruct[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void NetworkVariableTestStructNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void FixedString32BytesClientRpc(FixedString32Bytes): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void FixedString32BytesArrayClientRpc(FixedString32Bytes[]): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB: void FixedString32BytesNativeArrayClientRpc(NativeArray): undocumented", + "Unity.Netcode.RuntimeTests.RpcTypeSerializationTests.RpcTestNB.OnReceivedDelegate: undocumented", + "Unity.Netcode.EditorTests.ServerNetworkTimeSystemTests: undocumented", + "Unity.Netcode.RuntimeTests.StartStopTests: undocumented", + "Unity.Netcode.RuntimeTests.StartStopTests: void Setup(): undocumented", + "Unity.Netcode.RuntimeTests.StartStopTests: void TestStopAndRestartForExceptions(): undocumented", + "Unity.Netcode.RuntimeTests.StartStopTests: void TestStartupServerState(): undocumented", + "Unity.Netcode.RuntimeTests.StartStopTests: void TestFlagShutdown(): undocumented", + "Unity.Netcode.RuntimeTests.StartStopTests: void TestShutdownWithoutStartForExceptions(): undocumented", + "Unity.Netcode.RuntimeTests.StartStopTests: void TestShutdownWithoutConfigForExceptions(): undocumented", + "Unity.Netcode.RuntimeTests.StartStopTests: void Teardown(): undocumented", + "Unity.Netcode.RuntimeTests.StopStartRuntimeTests: undocumented", + "Unity.Netcode.RuntimeTests.StopStartRuntimeTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.StopStartRuntimeTests: void OnOneTimeSetup(): undocumented", + "Unity.Netcode.RuntimeTests.StopStartRuntimeTests: IEnumerator WhenShuttingDownAndRestarting_SDKRestartsSuccessfullyAndStaysRunning(): undocumented", + "Unity.Netcode.RuntimeTests.StopStartRuntimeTests: IEnumerator WhenShuttingDownTwiceAndRestarting_SDKRestartsSuccessfullyAndStaysRunning(): undocumented", + "Unity.Netcode.RuntimeTests.TimeInitializationTest: IEnumerator TestClientTimeInitializationOnConnect(float, float, bool): undocumented", + "Unity.Netcode.RuntimeTests.TimeInitializationTest: IEnumerator Teardown(): undocumented", + "Unity.Netcode.RuntimeTests.TimeIntegrationTest: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.TimeIntegrationTest: NetworkManagerInstatiationMode OnSetIntegrationTestMode(): undocumented", + "Unity.Netcode.RuntimeTests.TimeIntegrationTest: IEnumerator TestTimeIntegrationTest(int, uint): undocumented", + "Unity.Netcode.RuntimeTests.TimeIntegrationTest: IEnumerator OnTearDown(): 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.EditorTests.TimingTestHelper: List GetRandomTimeSteps(float, float, float, int): undocumented", + "Unity.Netcode.EditorTests.TimingTestHelper: void ApplySteps(NetworkTimeSystem, NetworkTickSystem, List, StepCheckDelegate): undocumented", + "Unity.Netcode.EditorTests.TimingTestHelper: void ApplySteps(NetworkTimeSystem, NetworkTickSystem, List, StepCheckResetDelegate): undocumented", + "Unity.Netcode.EditorTests.TimingTestHelper.StepCheckDelegate: undocumented", + "Unity.Netcode.EditorTests.TimingTestHelper.StepCheckResetDelegate: undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: TestComplete: undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: MinThreshold: undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: CheckPosition: undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: IsMoving: undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: IsFixed: undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: bool ReachedTargetLocalSpaceTransitionCount(): undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: void OnInitialize(ref NetworkTransformState): undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: void StartMoving(): undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: void StopMoving(): undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationObject: void Update(): undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationTests: undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationTests: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.TransformInterpolationTests: IEnumerator TransformInterpolationTest(): undocumented", + "Unity.Netcode.Transports.UTP.UnityTransport.ConnectionAddressData: IsIpv6: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator Cleanup(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: void DetectInvalidEndpoint(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator ConnectSingleClient(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator ConnectMultipleClients(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator ServerDisconnectSingleClient(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator ServerDisconnectMultipleClients(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator ClientDisconnectSingleClient(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator ClientDisconnectMultipleClients(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator RepeatedServerDisconnectsNoop(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator RepeatedClientDisconnectsNoop(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator DifferentServerAndListenAddresses(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator ServerDisconnectWithDataInQueue(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator ClientDisconnectWithDataInQueue(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportConnectionTests: IEnumerator ServerDisconnectAfterClientDisconnect(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportDriverClient: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportDriverClient: Driver: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportDriverClient: UnreliableSequencedPipeline: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportDriverClient: ReliableSequencedPipeline: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportDriverClient: ReliableSequencedFragmentedPipeline: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportDriverClient: LastEventPipeline: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportDriverClient: void Connect(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportDriverClient: IEnumerator WaitForNetworkEvent(Type): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers: MaxNetworkEventWaitTime: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers: IEnumerator WaitForNetworkEvent(NetworkEvent, List, float): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers: void InitializeTransport(out UnityTransport, out List, int, int, NetworkFamily): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers.TransportEvent: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers.TransportEvent: Type: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers.TransportEvent: ClientID: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers.TransportEvent: Data: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers.TransportEvent: ReceiveTime: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers.TransportEventLogger: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers.TransportEventLogger: Events: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTestHelpers.TransportEventLogger: void HandleEvent(NetworkEvent, ulong, ArraySegment, float): undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: void UnityTransport_BasicInitServer_IPv4(): undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: void UnityTransport_BasicInitClient_IPv4(): undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: void UnityTransport_BasicInitServer_IPv6(): undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: void UnityTransport_BasicInitClient_IPv6(): undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: void UnityTransport_NoRestartServer(): undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: void UnityTransport_NoRestartClient(): undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: void UnityTransport_NotBothServerAndClient(): undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: void UnityTransport_RestartSucceedsAfterFailure(): undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: void UnityTransport_StartServerWithoutAddresses(): undocumented", + "Unity.Netcode.EditorTests.UnityTransportTests: void UnityTransport_StartClientFailsWithBadAddress(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator Cleanup(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator PingPong(NetworkDelivery, NetworkFamily): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator PingPongSimultaneous(NetworkDelivery, NetworkFamily): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator SendMaximumPayloadSize(NetworkDelivery, NetworkFamily): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator MultipleSendsSingleFrame(NetworkDelivery, NetworkFamily): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator SendMultipleClients(NetworkDelivery, NetworkFamily): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator ReceiveMultipleClients(NetworkDelivery, NetworkFamily): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator DisconnectOnReliableSendQueueOverflow(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator SendCompletesOnUnreliableSendQueueOverflow(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator SimulatorParametersAreEffective(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator CurrentRttReportedCorrectly(): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator SendQueuesFlushedOnShutdown(NetworkDelivery): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator SendQueuesFlushedOnLocalClientDisconnect(NetworkDelivery): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator SendQueuesFlushedOnRemoteClientDisconnect(NetworkDelivery): undocumented", + "Unity.Netcode.RuntimeTests.UnityTransportTests: IEnumerator ReliablePayloadsCanBeLargerThanMaximum(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: Stop: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: Received: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: ReceivedParams: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: ReceivedFrom: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: ReceivedCount: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void OnRpcReceived(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void OnRpcReceivedWithParams(int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToEveryoneRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToMeRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToOwnerRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotOwnerRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToServerRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotMeRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotServerRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToClientsAndHostRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToEveryoneWithParamsRpc(int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToMeWithParamsRpc(int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToOwnerWithParamsRpc(int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotOwnerWithParamsRpc(int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToServerWithParamsRpc(int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotMeWithParamsRpc(int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotServerWithParamsRpc(int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToClientsAndHostWithParamsRpc(int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToEveryoneWithRpcParamsRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToMeWithRpcParamsRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToOwnerWithRpcParamsRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotOwnerWithRpcParamsRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToServerWithRpcParamsRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotMeWithRpcParamsRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotServerWithRpcParamsRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToClientsAndHostWithRpcParamsRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToEveryoneWithParamsAndRpcParamsRpc(int, bool, float, string, RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToMeWithParamsAndRpcParamsRpc(int, bool, float, string, RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToOwnerWithParamsAndRpcParamsRpc(int, bool, float, string, RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotOwnerWithParamsAndRpcParamsRpc(int, bool, float, string, RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToServerWithParamsAndRpcParamsRpc(int, bool, float, string, RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotMeWithParamsAndRpcParamsRpc(int, bool, float, string, RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotServerWithParamsAndRpcParamsRpc(int, bool, float, string, RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToClientsAndHostWithParamsAndRpcParamsRpc(int, bool, float, string, RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToSpecifiedInParamsAllowOverrideRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToEveryoneAllowOverrideRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToMeAllowOverrideRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToOwnerAllowOverrideRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotOwnerAllowOverrideRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToServerAllowOverrideRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotMeAllowOverrideRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotServerAllowOverrideRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToClientsAndHostAllowOverrideRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToEveryoneDeferLocalRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToMeDeferLocalRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToOwnerDeferLocalRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotOwnerDeferLocalRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToServerDeferLocalRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotServerDeferLocalRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToClientsAndHostDeferLocalRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToEveryoneRequireOwnershipRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToMeRequireOwnershipRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToOwnerRequireOwnershipRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotOwnerRequireOwnershipRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToServerRequireOwnershipRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotMeRequireOwnershipRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToNotServerRequireOwnershipRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void DefaultToClientsAndHostRequireOwnershipRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void SpecifiedInParamsRequireOwnershipRpc(RpcParams): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void MutualRecursionServerRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void MutualRecursionClientRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcNetworkBehaviour: void SelfRecursiveRpc(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: YieldCheck: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: YieldCycleCount: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: .ctor(HostOrServer): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: NetworkManagerInstatiationMode OnSetIntegrationTestMode(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: m_EnableTimeTravel: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: m_SetupIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: m_TearDownIsACoroutine: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: m_ServerObject: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void OnCreatePlayerPrefab(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void OnServerAndClientsCreated(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void OnInlineTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void Clear(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void OnOneTimeTearDown(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void OnTimeTravelServerAndClientsConnected(): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: UniversalRpcNetworkBehaviour GetPlayerObject(ulong, ulong): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifyLocalReceived(ulong, ulong, string, bool, int): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifyLocalReceivedWithParams(ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifyNotReceived(ulong, ulong[]): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifyRemoteReceived(ulong, ulong, string, ulong[], bool, bool, int): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifyRemoteReceivedWithParams(ulong, ulong, string, ulong[], int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: s_ClientIds: undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToEveryone(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToEveryoneWithReceivedFrom(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToEveryoneWithParams(ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToId(ulong, ulong, ulong, string, bool): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotId(ulong, ulong, ulong, string, bool): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToIdWithParams(ulong, ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotIdWithParams(ulong, ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToOwner(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotOwner(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToServer(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotServer(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToClientsAndHost(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToMe(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotMe(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToOwnerWithReceivedFrom(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotOwnerWithReceivedFrom(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToServerWithReceivedFrom(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotServerWithReceivedFrom(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToClientsAndHostWithReceivedFrom(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToMeWithReceivedFrom(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotMeWithReceivedFrom(ulong, ulong, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToOwnerWithParams(ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotOwnerWithParams(ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToServerWithParams(ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotServerWithParams(ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToClientsAndHostWithParams(ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToMeWithParams(ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void VerifySentToNotMeWithParams(ulong, ulong, string, int, bool, float, string): undocumented", + "Unity.Netcode.RuntimeTests.UniversalRpcTests.UniversalRpcTestsBase: void RethrowTargetInvocationException(Action): undocumented", + "Unity.Netcode.RuntimeTests.UnnamedMessageTests: undocumented", + "Unity.Netcode.RuntimeTests.UnnamedMessageTests: NumberOfClients: undocumented", + "Unity.Netcode.RuntimeTests.UnnamedMessageTests: IEnumerator UnnamedMessageIsReceivedOnClientWithContent(): undocumented", + "Unity.Netcode.RuntimeTests.UnnamedMessageTests: void UnnamedMessageIsReceivedOnHostWithContent(): undocumented", + "Unity.Netcode.RuntimeTests.UnnamedMessageTests: IEnumerator UnnamedMessageIsReceivedOnMultipleClientsWithContent(): undocumented", + "Unity.Netcode.RuntimeTests.UnnamedMessageTests: IEnumerator WhenSendingUnnamedMessageToAll_AllClientsReceiveIt(): undocumented", + "Unity.Netcode.RuntimeTests.UnnamedMessageTests: void WhenSendingNamedMessageToNullClientList_ArgumentNullExceptionIsThrown(): undocumented", + "Unity.Netcode.EditorTests.UserBitReaderAndBitWriterTests_NCCBUG175: undocumented", + "Unity.Netcode.EditorTests.UserBitReaderAndBitWriterTests_NCCBUG175: void WhenBitwiseWritingMoreThan8Bits_ValuesAreCorrect(): undocumented", + "Unity.Netcode.EditorTests.UserBitReaderAndBitWriterTests_NCCBUG175: void WhenBitwiseReadingMoreThan8Bits_ValuesAreCorrect(): undocumented", + "Unity.Netcode.EditorTests.XXHashTests: undocumented", + "Unity.Netcode.EditorTests.XXHashTests: void TestXXHash32Short(): undocumented", + "Unity.Netcode.EditorTests.XXHashTests: void TestXXHash32Long(): undocumented", + "Unity.Netcode.EditorTests.XXHashTests: void TestXXHas64Short(): undocumented", + "Unity.Netcode.EditorTests.XXHashTests: void TestXXHash64Long(): undocumented" + ] + } + } + } + } +} diff --git a/testproject/Assets/Tests/Manual/NetworkAnimatorTests/NetworkAnimatorServerOwnerTest.unity b/testproject/Assets/Tests/Manual/NetworkAnimatorTests/NetworkAnimatorServerOwnerTest.unity index efd820815d..38cf70365e 100644 --- a/testproject/Assets/Tests/Manual/NetworkAnimatorTests/NetworkAnimatorServerOwnerTest.unity +++ b/testproject/Assets/Tests/Manual/NetworkAnimatorTests/NetworkAnimatorServerOwnerTest.unity @@ -38,7 +38,6 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -104,7 +103,7 @@ NavMeshSettings: serializedVersion: 2 m_ObjectHideFlags: 0 m_BuildSettings: - serializedVersion: 2 + serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -117,7 +116,7 @@ NavMeshSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 maxJobWorkers: 0 preserveTilesOutsideBounds: 0 debug: @@ -153,21 +152,13 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 593a2fe42fa9d37498c96f9a383b6521, type: 3} m_Name: m_EditorClassIdentifier: - RunInBackground: 1 - LogLevel: 1 NetworkConfig: ProtocolVersion: 0 NetworkTransport: {fileID: 57527694} PlayerPrefab: {fileID: 3214090169675393154, guid: 978fc8cd63a1294438ebf3b352814970, type: 3} - NetworkPrefabs: - - Override: 0 - Prefab: {fileID: 3214090169675393154, guid: 978fc8cd63a1294438ebf3b352814970, - type: 3} - SourcePrefabToOverride: {fileID: 442217489085244684, guid: 5eca8a21314fe4278ba2571c289a9773, - type: 3} - SourceHashToOverride: 0 - OverridingTargetPrefab: {fileID: 0} + Prefabs: + NetworkPrefabsLists: [] TickRate: 30 ClientConnectionBufferTimeout: 10 ConnectionApproval: 0 @@ -183,6 +174,16 @@ MonoBehaviour: LoadSceneTimeOut: 120 SpawnTimeout: 1 EnableNetworkLogs: 1 + OldPrefabList: + - Override: 0 + Prefab: {fileID: 3214090169675393154, guid: 978fc8cd63a1294438ebf3b352814970, + type: 3} + SourcePrefabToOverride: {fileID: 442217489085244684, guid: 5eca8a21314fe4278ba2571c289a9773, + type: 3} + SourceHashToOverride: 0 + OverridingTargetPrefab: {fileID: 0} + RunInBackground: 1 + LogLevel: 1 --- !u!4 &57527693 Transform: m_ObjectHideFlags: 0 @@ -190,13 +191,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 57527690} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: -4.4, y: 0, z: 3.53} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &57527694 MonoBehaviour: @@ -220,7 +221,7 @@ MonoBehaviour: ConnectionData: Address: 127.0.0.1 Port: 7777 - ServerListenAddress: + ServerListenAddress: 127.0.0.1 DebugSimulator: PacketDelayMS: 0 PacketJitterMS: 0 @@ -256,7 +257,12 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: GlobalObjectIdHash: 3133660421 + InScenePlacedSourceGlobalObjectIdHash: 0 AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 1 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 1 + SpawnWithObservers: 1 DontDestroyWithOwner: 0 AutoObjectParentSync: 1 --- !u!114 &84683367 @@ -280,13 +286,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 84683365} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 318.45444, y: 110.697815, z: 216.79077} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &146283178 GameObject: @@ -319,7 +325,6 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 343841036} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0} m_AnchorMax: {x: 0.5, y: 0} @@ -444,7 +449,9 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 1 m_TargetDisplay: 0 @@ -462,7 +469,6 @@ RectTransform: m_Children: - {fileID: 146283179} m_Father: {fileID: 0} - m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -529,13 +535,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 809184351} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &825254415 GameObject: @@ -623,13 +629,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 825254415} + serializedVersion: 2 m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} m_LocalPosition: {x: 0, y: 3, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} --- !u!224 &1537133403 stripped RectTransform: @@ -677,9 +683,17 @@ Camera: m_projectionMatrixMode: 1 m_GateFitMode: 2 m_FOVAxisMode: 0 + m_Iso: 200 + m_ShutterSpeed: 0.005 + m_Aperture: 16 + m_FocusDistance: 10 + m_FocalLength: 50 + m_BladeCount: 5 + m_Curvature: {x: 2, y: 11} + m_BarrelClipping: 0.25 + m_Anamorphism: 0 m_SensorSize: {x: 36, y: 24} m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 m_NormalizedViewPortRect: serializedVersion: 2 x: 0 @@ -713,13 +727,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1543554891} + serializedVersion: 2 m_LocalRotation: {x: 0.28182787, y: -0, z: -0, w: 0.959465} m_LocalPosition: {x: 5.7, y: 90, z: -136} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 32.739, y: 0, z: 0} --- !u!1 &1740491936 GameObject: @@ -797,7 +811,9 @@ Canvas: m_OverrideSorting: 0 m_OverridePixelPerfect: 0 m_SortingBucketNormalizedSize: 0 + m_VertexColorAlwaysGammaSpace: 0 m_AdditionalShaderChannelsFlag: 0 + m_UpdateRectTransformForStandalone: 0 m_SortingLayerID: 0 m_SortingOrder: 0 m_TargetDisplay: 0 @@ -816,7 +832,6 @@ RectTransform: - {fileID: 1820369379} - {fileID: 1537133403} m_Father: {fileID: 0} - m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -828,6 +843,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1740491940} m_Modifications: - target: {fileID: 2848221156307247792, guid: 3200770c16e3b2b4ebe7f604154faac7, @@ -962,6 +978,9 @@ PrefabInstance: objectReference: {fileID: 11400000, guid: 4a3cdce12e998384f8aca207b5a2c700, type: 2} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 3200770c16e3b2b4ebe7f604154faac7, type: 3} --- !u!224 &1820369379 stripped RectTransform: @@ -974,6 +993,7 @@ PrefabInstance: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: + serializedVersion: 3 m_TransformParent: {fileID: 1740491940} m_Modifications: - target: {fileID: 6633621479308595792, guid: d725b5588e1b956458798319e6541d84, @@ -1087,4 +1107,18 @@ PrefabInstance: value: ConnectionModeButtons objectReference: {fileID: 0} m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: d725b5588e1b956458798319e6541d84, type: 3} +--- !u!1660057539 &9223372036854775807 +SceneRoots: + m_ObjectHideFlags: 0 + m_Roots: + - {fileID: 1543554894} + - {fileID: 825254417} + - {fileID: 57527693} + - {fileID: 343841036} + - {fileID: 809184354} + - {fileID: 1740491940} + - {fileID: 84683368} diff --git a/testproject/Assets/Tests/Manual/SceneTransitioningAdditive/PlayerClientAuthoritative.prefab b/testproject/Assets/Tests/Manual/SceneTransitioningAdditive/PlayerClientAuthoritative.prefab index 5fe8f7e1d0..2449633431 100644 --- a/testproject/Assets/Tests/Manual/SceneTransitioningAdditive/PlayerClientAuthoritative.prefab +++ b/testproject/Assets/Tests/Manual/SceneTransitioningAdditive/PlayerClientAuthoritative.prefab @@ -9,8 +9,8 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 4079352819444256611} - - component: {fileID: 972770265172480408} - component: {fileID: -3775814466963834669} + - component: {fileID: 972770265172480408} - component: {fileID: 4079352819444256610} - component: {fileID: 4079352819444256613} - component: {fileID: 4079352819444256612} @@ -33,6 +33,7 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4079352819444256614} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 5, y: 0.625, z: 5} m_LocalScale: {x: 1.25, y: 1.25, z: 1.25} @@ -40,8 +41,28 @@ Transform: m_Children: - {fileID: 3519470446676406143} m_Father: {fileID: 0} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &-3775814466963834669 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4079352819444256614} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} + m_Name: + m_EditorClassIdentifier: + GlobalObjectIdHash: 265534365 + InScenePlacedSourceGlobalObjectIdHash: 0 + AlwaysReplicateAsRoot: 0 + SynchronizeTransform: 1 + ActiveSceneSynchronization: 0 + SceneMigrationSynchronization: 1 + SpawnWithObservers: 1 + DontDestroyWithOwner: 0 + AutoObjectParentSync: 1 --- !u!114 &972770265172480408 MonoBehaviour: m_ObjectHideFlags: 0 @@ -54,6 +75,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: cf01cca54b77c0241ad6d9da5ef6a709, type: 3} m_Name: m_EditorClassIdentifier: + UseUnreliableDeltas: 0 SyncPositionX: 1 SyncPositionY: 1 SyncPositionZ: 1 @@ -66,24 +88,12 @@ MonoBehaviour: PositionThreshold: 0.01 RotAngleThreshold: 0.01 ScaleThreshold: 0.01 + UseQuaternionSynchronization: 0 + UseQuaternionCompression: 0 + UseHalfFloatPrecision: 0 InLocalSpace: 0 Interpolate: 1 ---- !u!114 &-3775814466963834669 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4079352819444256614} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: d5a57f767e5e46a458fc5d3c628d0cbb, type: 3} - m_Name: - m_EditorClassIdentifier: - GlobalObjectIdHash: 951099334 - AlwaysReplicateAsRoot: 0 - DontDestroyWithOwner: 0 - AutoObjectParentSync: 1 + SlerpPosition: 0 --- !u!33 &4079352819444256610 MeshFilter: m_ObjectHideFlags: 0 @@ -142,9 +152,17 @@ BoxCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4079352819444256614} m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 m_IsTrigger: 0 + m_ProvidesContacts: 0 m_Enabled: 1 - serializedVersion: 2 + serializedVersion: 3 m_Size: {x: 1, y: 1, z: 1} m_Center: {x: 0, y: 0, z: 0} --- !u!54 &1750810845806302260 @@ -154,10 +172,21 @@ Rigidbody: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4079352819444256614} - serializedVersion: 2 + serializedVersion: 4 m_Mass: 100 m_Drag: 7 m_AngularDrag: 0.05 + m_CenterOfMass: {x: 0, y: 0, z: 0} + m_InertiaTensor: {x: 1, y: 1, z: 1} + m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ImplicitCom: 1 + m_ImplicitTensor: 1 m_UseGravity: 1 m_IsKinematic: 0 m_Interpolate: 1 @@ -175,6 +204,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 24a9235f10bc6456183432fdb3015157, type: 3} m_Name: m_EditorClassIdentifier: + ApplyColorToChildren: 0 --- !u!114 &6442518961346739709 MonoBehaviour: m_ObjectHideFlags: 0 @@ -237,13 +267,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6479012615216050269} + serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 1.045, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 4079352819444256611} - m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!33 &6858102498835906389 MeshFilter: diff --git a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntChangeOwnershipTest.cs b/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntChangeOwnershipTest.cs deleted file mode 100644 index 4f3c651cb3..0000000000 --- a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntChangeOwnershipTest.cs +++ /dev/null @@ -1,95 +0,0 @@ -// using System.Collections; -// using NUnit.Framework; -// using Unity.Netcode.Components; -// using Unity.Netcode.Samples; -// using UnityEngine; -// using UnityEngine.TestTools; -// -// // Tests for ClientNetworkTransform (CNT) + NetworkRigidbody. This test is in TestProject because it needs access to ClientNetworkTransform -// namespace Unity.Netcode.RuntimeTests -// { -// public class NetworkRigidbody2DDynamicCntChangeOwnershipTest : NetworkRigidbody2DCntChangeOwnershipTestBase -// { -// public override bool Kinematic => false; -// } -// -// public class NetworkRigidbody2DKinematicCntChangeOwnershipTest : NetworkRigidbody2DCntChangeOwnershipTestBase -// { -// public override bool Kinematic => true; -// } -// -// public abstract class NetworkRigidbody2DCntChangeOwnershipTestBase : NetcodeIntegrationTest -// { -// protected override int NumberOfClients => 1; -// -// public abstract bool Kinematic { get; } -// -// [UnitySetUp] -// public override IEnumerator Setup() -// { -// yield return StartSomeClientsAndServerWithPlayers(true, NumberOfClients, playerPrefab => -// { -// playerPrefab.AddComponent(); -// playerPrefab.AddComponent(); -// playerPrefab.AddComponent(); -// playerPrefab.GetComponent().isKinematic = Kinematic; -// }); -// } -// /// -// /// Tests that a server can destroy a NetworkObject and that it gets despawned correctly. -// /// -// /// -// [UnityTest] -// public IEnumerator TestRigidbodyKinematicEnableDisable() -// { -// // This is the *SERVER VERSION* of the *CLIENT PLAYER* -// var serverClientPlayerResult = new NetcodeIntegrationTestHelpers.ResultWrapper(); -// yield return NetcodeIntegrationTestHelpers.GetNetworkObjectByRepresentation((x => x.IsPlayerObject && x.OwnerClientId == m_ClientNetworkManagers[0].LocalClientId), m_ServerNetworkManager, serverClientPlayerResult); -// var serverPlayer = serverClientPlayerResult.Result.gameObject; -// -// // This is the *CLIENT VERSION* of the *CLIENT PLAYER* -// var clientClientPlayerResult = new NetcodeIntegrationTestHelpers.ResultWrapper(); -// yield return NetcodeIntegrationTestHelpers.GetNetworkObjectByRepresentation((x => x.IsPlayerObject && x.OwnerClientId == m_ClientNetworkManagers[0].LocalClientId), m_ClientNetworkManagers[0], clientClientPlayerResult); -// var clientPlayer = clientClientPlayerResult.Result.gameObject; -// -// Assert.IsNotNull(serverPlayer); -// Assert.IsNotNull(clientPlayer); -// -// int waitFor = Time.frameCount + 2; -// yield return new WaitUntil(() => Time.frameCount >= waitFor); -// -// TestKinematicSetCorrectly(clientPlayer, serverPlayer); -// -// -// // give server ownership over the player -// -// serverPlayer.GetComponent().ChangeOwnership(NetworkManager.ServerClientId); -// -// yield return null; -// yield return null; -// -// // server should now be able to commit to transform -// TestKinematicSetCorrectly(serverPlayer, clientPlayer); -// -// // return ownership to client -// serverPlayer.GetComponent().ChangeOwnership(m_ClientNetworkManagers[0].LocalClientId); -// yield return null; -// yield return null; -// -// // client should again be able to commit -// TestKinematicSetCorrectly(clientPlayer, serverPlayer); -// } -// -// -// -// private void TestKinematicSetCorrectly(GameObject canCommitPlayer, GameObject canNotCommitPlayer) -// { -// -// // can commit player has authority and should have a kinematic mode of false (or true in case body was already kinematic). -// Assert.True(canCommitPlayer.GetComponent().isKinematic == Kinematic); -// -// // can not commit player has no authority and should have a kinematic mode of true -// Assert.True(canNotCommitPlayer.GetComponent().isKinematic); -// } -// } -// } diff --git a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntChangeOwnershipTest.cs.meta b/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntChangeOwnershipTest.cs.meta deleted file mode 100644 index b1c3736256..0000000000 --- a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntChangeOwnershipTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a51c7f7b93f04e3499089963d9bbb254 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntTest.cs b/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntTest.cs deleted file mode 100644 index eac6d42d7e..0000000000 --- a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntTest.cs +++ /dev/null @@ -1,82 +0,0 @@ -// using System.Collections; -// using NUnit.Framework; -// using Unity.Netcode.Components; -// using Unity.Netcode.Samples; -// using UnityEngine; -// using UnityEngine.TestTools; -// -// // Tests for ClientNetworkTransform (CNT) + NetworkRigidbody2D. This test is in TestProject because it needs access to ClientNetworkTransform -// namespace Unity.Netcode.RuntimeTests -// { -// public class NetworkRigidbody2DDynamicCntTest : NetworkRigidbody2DCntTestBase -// { -// public override bool Kinematic => false; -// } -// -// public class NetworkRigidbody2DKinematicCntTest : NetworkRigidbody2DCntTestBase -// { -// public override bool Kinematic => true; -// } -// -// public abstract class NetworkRigidbody2DCntTestBase : NetcodeIntegrationTest -// { -// protected override int NumberOfClients => 1; -// -// public abstract bool Kinematic { get; } -// -// [UnitySetUp] -// public override IEnumerator Setup() -// { -// yield return StartSomeClientsAndServerWithPlayers(true, NumberOfClients, playerPrefab => -// { -// playerPrefab.AddComponent(); -// playerPrefab.AddComponent(); -// playerPrefab.AddComponent(); -// playerPrefab.GetComponent().isKinematic = Kinematic; -// }); -// } -// -// /// -// /// Tests that a server can destroy a NetworkObject and that it gets despawned correctly. -// /// -// /// -// [UnityTest] -// public IEnumerator TestRigidbodyKinematicEnableDisable() -// { -// // This is the *SERVER VERSION* of the *CLIENT PLAYER* -// var serverClientPlayerResult = new NetcodeIntegrationTestHelpers.ResultWrapper(); -// yield return NetcodeIntegrationTestHelpers.GetNetworkObjectByRepresentation((x => x.IsPlayerObject && x.OwnerClientId == m_ClientNetworkManagers[0].LocalClientId), m_ServerNetworkManager, serverClientPlayerResult); -// var serverPlayer = serverClientPlayerResult.Result.gameObject; -// -// // This is the *CLIENT VERSION* of the *CLIENT PLAYER* -// var clientClientPlayerResult = new NetcodeIntegrationTestHelpers.ResultWrapper(); -// yield return NetcodeIntegrationTestHelpers.GetNetworkObjectByRepresentation((x => x.IsPlayerObject && x.OwnerClientId == m_ClientNetworkManagers[0].LocalClientId), m_ClientNetworkManagers[0], clientClientPlayerResult); -// var clientPlayer = clientClientPlayerResult.Result.gameObject; -// -// Assert.IsNotNull(serverPlayer); -// Assert.IsNotNull(clientPlayer); -// -// int waitFor = Time.frameCount + 2; -// yield return new WaitUntil(() => Time.frameCount >= waitFor); -// -// TestKinematicSetCorrectly(clientPlayer, serverPlayer); -// -// // despawn the server player -// serverPlayer.GetComponent().Despawn(false); -// -// yield return null; -// yield return null; -// Assert.IsTrue(clientPlayer == null); // safety check that object is actually despawned. -// } -// -// private void TestKinematicSetCorrectly(GameObject canCommitPlayer, GameObject canNotCommitPlayer) -// { -// -// // can commit player has authority and should have a kinematic mode of false (or true in case body was already kinematic). -// Assert.True(canCommitPlayer.GetComponent().isKinematic == Kinematic); -// -// // can not commit player has no authority and should have a kinematic mode of true -// Assert.True(canNotCommitPlayer.GetComponent().isKinematic); -// } -// } -// } diff --git a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntChangeOwnershipTest.cs b/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntChangeOwnershipTest.cs deleted file mode 100644 index 2e45162f52..0000000000 --- a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntChangeOwnershipTest.cs +++ /dev/null @@ -1,95 +0,0 @@ -// using System.Collections; -// using NUnit.Framework; -// using Unity.Netcode.Components; -// using Unity.Netcode.Samples; -// using UnityEngine; -// using UnityEngine.TestTools; -// -// // Tests for ClientNetworkTransform (CNT) + NetworkRigidbody. This test is in TestProject because it needs access to ClientNetworkTransform -// namespace Unity.Netcode.RuntimeTests -// { -// public class NetworkRigidbodyDynamicCntChangeOwnershipTest : NetworkRigidbodyCntChangeOwnershipTestBase -// { -// public override bool Kinematic => false; -// } -// -// public class NetworkRigidbodyKinematicCntChangeOwnershipTest : NetworkRigidbodyCntChangeOwnershipTestBase -// { -// public override bool Kinematic => true; -// } -// -// public abstract class NetworkRigidbodyCntChangeOwnershipTestBase : NetcodeIntegrationTest -// { -// protected override int NumberOfClients => 1; -// -// public abstract bool Kinematic { get; } -// -// [UnitySetUp] -// public override IEnumerator Setup() -// { -// yield return StartSomeClientsAndServerWithPlayers(true, NumberOfClients, playerPrefab => -// { -// playerPrefab.AddComponent(); -// playerPrefab.AddComponent(); -// playerPrefab.AddComponent(); -// playerPrefab.GetComponent().isKinematic = Kinematic; -// }); -// } -// /// -// /// Tests that a server can destroy a NetworkObject and that it gets despawned correctly. -// /// -// /// -// [UnityTest] -// public IEnumerator TestRigidbodyKinematicEnableDisable() -// { -// // This is the *SERVER VERSION* of the *CLIENT PLAYER* -// var serverClientPlayerResult = new NetcodeIntegrationTestHelpers.ResultWrapper(); -// yield return NetcodeIntegrationTestHelpers.GetNetworkObjectByRepresentation((x => x.IsPlayerObject && x.OwnerClientId == m_ClientNetworkManagers[0].LocalClientId), m_ServerNetworkManager, serverClientPlayerResult); -// var serverPlayer = serverClientPlayerResult.Result.gameObject; -// -// // This is the *CLIENT VERSION* of the *CLIENT PLAYER* -// var clientClientPlayerResult = new NetcodeIntegrationTestHelpers.ResultWrapper(); -// yield return NetcodeIntegrationTestHelpers.GetNetworkObjectByRepresentation((x => x.IsPlayerObject && x.OwnerClientId == m_ClientNetworkManagers[0].LocalClientId), m_ClientNetworkManagers[0], clientClientPlayerResult); -// var clientPlayer = clientClientPlayerResult.Result.gameObject; -// -// Assert.IsNotNull(serverPlayer); -// Assert.IsNotNull(clientPlayer); -// -// int waitFor = Time.frameCount + 2; -// yield return new WaitUntil(() => Time.frameCount >= waitFor); -// -// TestKinematicSetCorrectly(clientPlayer, serverPlayer); -// -// -// // give server ownership over the player -// -// serverPlayer.GetComponent().ChangeOwnership(NetworkManager.ServerClientId); -// -// yield return null; -// yield return null; -// -// // server should now be able to commit to transform -// TestKinematicSetCorrectly(serverPlayer, clientPlayer); -// -// // return ownership to client -// serverPlayer.GetComponent().ChangeOwnership(m_ClientNetworkManagers[0].LocalClientId); -// yield return null; -// yield return null; -// -// // client should again be able to commit -// TestKinematicSetCorrectly(clientPlayer, serverPlayer); -// } -// -// -// -// private void TestKinematicSetCorrectly(GameObject canCommitPlayer, GameObject canNotCommitPlayer) -// { -// -// // can commit player has authority and should have a kinematic mode of false (or true in case body was already kinematic). -// Assert.True(canCommitPlayer.GetComponent().isKinematic == Kinematic); -// -// // can not commit player has no authority and should have a kinematic mode of true -// Assert.True(canNotCommitPlayer.GetComponent().isKinematic); -// } -// } -// } diff --git a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntTest.cs b/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntTest.cs deleted file mode 100644 index 72f0c72b96..0000000000 --- a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntTest.cs +++ /dev/null @@ -1,82 +0,0 @@ -// using System.Collections; -// using NUnit.Framework; -// using Unity.Netcode.Components; -// using Unity.Netcode.Samples; -// using UnityEngine; -// using UnityEngine.TestTools; -// -// // Tests for ClientNetworkTransform (CNT) + NetworkRigidbody. This test is in TestProject because it needs access to ClientNetworkTransform -// namespace Unity.Netcode.RuntimeTests -// { -// public class NetworkRigidbodyDynamicCntTest : NetworkRigidbodyCntTestBase -// { -// public override bool Kinematic => false; -// } -// -// public class NetworkRigidbodyKinematicCntTest : NetworkRigidbodyCntTestBase -// { -// public override bool Kinematic => true; -// } -// -// public abstract class NetworkRigidbodyCntTestBase : NetcodeIntegrationTest -// { -// protected override int NumberOfClients => 1; -// -// public abstract bool Kinematic { get; } -// -// [UnitySetUp] -// public override IEnumerator Setup() -// { -// yield return StartSomeClientsAndServerWithPlayers(true, NumberOfClients, playerPrefab => -// { -// playerPrefab.AddComponent(); -// playerPrefab.AddComponent(); -// playerPrefab.AddComponent(); -// playerPrefab.GetComponent().isKinematic = Kinematic; -// }); -// } -// /// -// /// Tests that a server can destroy a NetworkObject and that it gets despawned correctly. -// /// -// /// -// [UnityTest] -// public IEnumerator TestRigidbodyKinematicEnableDisable() -// { -// // This is the *SERVER VERSION* of the *CLIENT PLAYER* -// var serverClientPlayerResult = new NetcodeIntegrationTestHelpers.ResultWrapper(); -// yield returnNetcodeIntegrationTestHelpers.GetNetworkObjectByRepresentation((x => x.IsPlayerObject && x.OwnerClientId == m_ClientNetworkManagers[0].LocalClientId), m_ServerNetworkManager, serverClientPlayerResult); -// var serverPlayer = serverClientPlayerResult.Result.gameObject; -// -// // This is the *CLIENT VERSION* of the *CLIENT PLAYER* -// var clientClientPlayerResult = new NetcodeIntegrationTestHelpers.ResultWrapper(); -// yield return NetcodeIntegrationTestHelpers.GetNetworkObjectByRepresentation((x => x.IsPlayerObject && x.OwnerClientId == m_ClientNetworkManagers[0].LocalClientId), m_ClientNetworkManagers[0], clientClientPlayerResult); -// var clientPlayer = clientClientPlayerResult.Result.gameObject; -// -// Assert.IsNotNull(serverPlayer); -// Assert.IsNotNull(clientPlayer); -// -// int waitFor = Time.frameCount + 2; -// yield return new WaitUntil(() => Time.frameCount >= waitFor); -// -// TestKinematicSetCorrectly(clientPlayer, serverPlayer); -// -// // despawn the server player -// serverPlayer.GetComponent().Despawn(false); -// -// yield return null; -// yield return null; -// -// Assert.IsTrue(clientPlayer == null); // safety check that object is actually despawned. -// } -// -// private void TestKinematicSetCorrectly(GameObject canCommitPlayer, GameObject canNotCommitPlayer) -// { -// -// // can commit player has authority and should have a kinematic mode of false (or true in case body was already kinematic). -// Assert.True(canCommitPlayer.GetComponent().isKinematic == Kinematic); -// -// // can not commit player has no authority and should have a kinematic mode of true -// Assert.True(canNotCommitPlayer.GetComponent().isKinematic); -// } -// } -// } diff --git a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntTest.cs.meta b/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntTest.cs.meta deleted file mode 100644 index cea97efc01..0000000000 --- a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e89712f9406aaa84d85508fa07d97655 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyTests.cs b/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyTests.cs new file mode 100644 index 0000000000..3b0628ed2f --- /dev/null +++ b/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyTests.cs @@ -0,0 +1,164 @@ +#if COM_UNITY_MODULES_PHYSICS2D || COM_UNITY_MODULES_PHYSICS +using System.Collections; +using NUnit.Framework; +using Unity.Netcode.TestHelpers.Runtime; +using UnityEngine; +using UnityEngine.TestTools; + +namespace TestProject.RuntimeTests +{ +#if COM_UNITY_MODULES_PHYSICS2D + [TestFixture(RigidBodyTypes.Body2D, NetworkTransformRigidBodyTestComponent.AuthorityModes.Server)] + [TestFixture(RigidBodyTypes.Body2D, NetworkTransformRigidBodyTestComponent.AuthorityModes.Owner)] +#endif +#if COM_UNITY_MODULES_PHYSICS + [TestFixture(RigidBodyTypes.Body3D, NetworkTransformRigidBodyTestComponent.AuthorityModes.Server)] + [TestFixture(RigidBodyTypes.Body3D, NetworkTransformRigidBodyTestComponent.AuthorityModes.Owner)] +#endif + public class NetworkRigidbodyTests : NetcodeIntegrationTest + { + protected override int NumberOfClients => 1; + + private NetworkTransformRigidBodyTestComponent.AuthorityModes m_AuthorityMode; + private RigidBodyTypes m_RigidBodyType; + + public enum RigidBodyTypes + { +#if COM_UNITY_MODULES_PHYSICS2D + Body2D, +#endif +#if COM_UNITY_MODULES_PHYSICS + Body3D +#endif + } + + public NetworkRigidbodyTests(RigidBodyTypes rigidBodyType, NetworkTransformRigidBodyTestComponent.AuthorityModes authorityMode) + { + m_RigidBodyType = rigidBodyType; + m_AuthorityMode = authorityMode; + } + + protected override void OnCreatePlayerPrefab() + { + var networkTransform = m_PlayerPrefab.AddComponent(); + networkTransform.AuthorityMode = m_AuthorityMode; +#if COM_UNITY_MODULES_PHYSICS2D + if (m_RigidBodyType == RigidBodyTypes.Body2D) + { + m_PlayerPrefab.AddComponent(); + m_PlayerPrefab.AddComponent(); + } + else +#endif +#if COM_UNITY_MODULES_PHYSICS + { + m_PlayerPrefab.AddComponent(); + m_PlayerPrefab.AddComponent(); + } +#endif + base.OnCreatePlayerPrefab(); + } + + /// + /// Validates that both the 3D and 2D rigid body components are always kinematic prior to spawn + /// and that their kinematic setting is correct after spawn based on the NetworkTransform's + /// authority mode. + /// + [UnityTest] + public IEnumerator TestKinematicSettings() + { + // Validate the Rigidbody's kinematic state after spawned +#if COM_UNITY_MODULES_PHYSICS2D + if (m_RigidBodyType == RigidBodyTypes.Body2D) + { + TestRigidBody2D(); + } + else +#endif +#if COM_UNITY_MODULES_PHYSICS + { + TestRigidBody(); + } +#endif + + yield return null; + } + +#if COM_UNITY_MODULES_PHYSICS2D + private void TestRigidBody2D() + { + // Validate everything was kinematic before spawn + var serverLocalPlayerNetworkRigidbody2d = m_ServerNetworkManager.LocalClient.PlayerObject.GetComponent(); + var clientLocalPlayerNetworkRigidbody2d = m_ClientNetworkManagers[0].LocalClient.PlayerObject.GetComponent(); + var serverClientPlayerNetworkRigidbody2d = m_PlayerNetworkObjects[m_ServerNetworkManager.LocalClientId][m_ClientNetworkManagers[0].LocalClientId].GetComponent(); + var clientServerPlayerNetworkRigidbody2d = m_PlayerNetworkObjects[m_ClientNetworkManagers[0].LocalClientId][m_ServerNetworkManager.LocalClientId].GetComponent(); + Assert.True(serverLocalPlayerNetworkRigidbody2d.WasKinematicBeforeSpawn); + Assert.True(clientLocalPlayerNetworkRigidbody2d.WasKinematicBeforeSpawn); + Assert.True(serverClientPlayerNetworkRigidbody2d.WasKinematicBeforeSpawn); + Assert.True(clientServerPlayerNetworkRigidbody2d.WasKinematicBeforeSpawn); + + // Validate kinematic settings after spawn + var serverLocalPlayerRigidbody2d = m_ServerNetworkManager.LocalClient.PlayerObject.GetComponent(); + var clientLocalPlayerRigidbody2d = m_ClientNetworkManagers[0].LocalClient.PlayerObject.GetComponent(); + var serverClientPlayerRigidbody2d = m_PlayerNetworkObjects[m_ServerNetworkManager.LocalClientId][m_ClientNetworkManagers[0].LocalClientId].GetComponent(); + var clientServerPlayerRigidbody2d = m_PlayerNetworkObjects[m_ClientNetworkManagers[0].LocalClientId][m_ServerNetworkManager.LocalClientId].GetComponent(); + + var isOwnerAuthority = m_AuthorityMode == NetworkTransformRigidBodyTestComponent.AuthorityModes.Owner; + if (isOwnerAuthority) + { + // can commit player has authority and should have a kinematic mode of false (or true in case body was already kinematic). + Assert.True(!serverLocalPlayerRigidbody2d.isKinematic); + Assert.True(!clientLocalPlayerRigidbody2d.isKinematic); + Assert.True(serverClientPlayerRigidbody2d.isKinematic); + Assert.True(clientServerPlayerRigidbody2d.isKinematic); + } + else + { + Assert.True(!serverLocalPlayerRigidbody2d.isKinematic); + Assert.True(clientLocalPlayerRigidbody2d.isKinematic); + Assert.True(!serverClientPlayerRigidbody2d.isKinematic); + Assert.True(clientServerPlayerRigidbody2d.isKinematic); + } + } +#endif + +#if COM_UNITY_MODULES_PHYSICS + private void TestRigidBody() + { + // Validate everything was kinematic before spawn + var serverLocalPlayerNetworkRigidbody = m_ServerNetworkManager.LocalClient.PlayerObject.GetComponent(); + var clientLocalPlayerNetworkRigidbody = m_ClientNetworkManagers[0].LocalClient.PlayerObject.GetComponent(); + var serverClientPlayerNetworkRigidbody = m_PlayerNetworkObjects[m_ServerNetworkManager.LocalClientId][m_ClientNetworkManagers[0].LocalClientId].GetComponent(); + var clientServerPlayerNetworkRigidbody = m_PlayerNetworkObjects[m_ClientNetworkManagers[0].LocalClientId][m_ServerNetworkManager.LocalClientId].GetComponent(); + Assert.True(serverLocalPlayerNetworkRigidbody.WasKinematicBeforeSpawn); + Assert.True(clientLocalPlayerNetworkRigidbody.WasKinematicBeforeSpawn); + Assert.True(serverClientPlayerNetworkRigidbody.WasKinematicBeforeSpawn); + Assert.True(clientServerPlayerNetworkRigidbody.WasKinematicBeforeSpawn); + + // Validate kinematic settings after spawn + var serverLocalPlayerRigidbody = m_ServerNetworkManager.LocalClient.PlayerObject.GetComponent(); + var clientLocalPlayerRigidbody = m_ClientNetworkManagers[0].LocalClient.PlayerObject.GetComponent(); + var serverClientPlayerRigidbody = m_PlayerNetworkObjects[m_ServerNetworkManager.LocalClientId][m_ClientNetworkManagers[0].LocalClientId].GetComponent(); + var clientServerPlayerRigidbody = m_PlayerNetworkObjects[m_ClientNetworkManagers[0].LocalClientId][m_ServerNetworkManager.LocalClientId].GetComponent(); + + var isOwnerAuthority = m_AuthorityMode == NetworkTransformRigidBodyTestComponent.AuthorityModes.Owner; + if (isOwnerAuthority) + { + // can commit player has authority and should have a kinematic mode of false (or true in case body was already kinematic). + Assert.True(!serverLocalPlayerRigidbody.isKinematic); + Assert.True(!clientLocalPlayerRigidbody.isKinematic); + Assert.True(serverClientPlayerRigidbody.isKinematic); + Assert.True(clientServerPlayerRigidbody.isKinematic); + } + else + { + Assert.True(!serverLocalPlayerRigidbody.isKinematic); + Assert.True(clientLocalPlayerRigidbody.isKinematic); + Assert.True(!serverClientPlayerRigidbody.isKinematic); + Assert.True(clientServerPlayerRigidbody.isKinematic); + } + } +#endif + } +} +#endif diff --git a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntTest.cs.meta b/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyTests.cs.meta similarity index 100% rename from testproject/Assets/Tests/Runtime/Physics/NetworkRigidbody2DCntTest.cs.meta rename to testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyTests.cs.meta diff --git a/testproject/Assets/Tests/Runtime/Physics/NetworkTransformRigidBodyTestComponent.cs b/testproject/Assets/Tests/Runtime/Physics/NetworkTransformRigidBodyTestComponent.cs new file mode 100644 index 0000000000..6b6198cb9b --- /dev/null +++ b/testproject/Assets/Tests/Runtime/Physics/NetworkTransformRigidBodyTestComponent.cs @@ -0,0 +1,51 @@ +#if COM_UNITY_MODULES_PHYSICS2D || COM_UNITY_MODULES_PHYSICS +using Unity.Netcode; +using Unity.Netcode.Components; +using UnityEngine; + +namespace TestProject.RuntimeTests +{ + public class NetworkTransformRigidBodyTestComponent : NetworkTransform + { + public enum AuthorityModes + { + Server, + Owner + } + + public AuthorityModes AuthorityMode; + + protected override bool OnIsServerAuthoritative() + { + return AuthorityMode == AuthorityModes.Server; + } + } + +#if COM_UNITY_MODULES_PHYSICS2D + public class NetworkRigidbody2DTestComponent : NetworkRigidbody2D + { + public bool WasKinematicBeforeSpawn; + + protected override void OnNetworkPreSpawn(ref NetworkManager networkManager) + { + WasKinematicBeforeSpawn = GetComponent().isKinematic; + base.OnNetworkPreSpawn(ref networkManager); + } + } +#endif + + +#if COM_UNITY_MODULES_PHYSICS + public class NetworkRigidbodyTestComponent : NetworkRigidbody + { + public bool WasKinematicBeforeSpawn; + protected override void OnNetworkPreSpawn(ref NetworkManager networkManager) + { + WasKinematicBeforeSpawn = GetComponent().isKinematic; + base.OnNetworkPreSpawn(ref networkManager); + } + } +#endif + +} +#endif diff --git a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntChangeOwnershipTest.cs.meta b/testproject/Assets/Tests/Runtime/Physics/NetworkTransformRigidBodyTestComponent.cs.meta similarity index 83% rename from testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntChangeOwnershipTest.cs.meta rename to testproject/Assets/Tests/Runtime/Physics/NetworkTransformRigidBodyTestComponent.cs.meta index 3eb4f88f5b..3a00ee4466 100644 --- a/testproject/Assets/Tests/Runtime/Physics/NetworkRigidbodyCntChangeOwnershipTest.cs.meta +++ b/testproject/Assets/Tests/Runtime/Physics/NetworkTransformRigidBodyTestComponent.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 941008c8040f03c44bd835d24b073260 +guid: b520683a3a3a2d345a986b5c9cfa648c MonoImporter: externalObjects: {} serializedVersion: 2