Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using System;
using System.Runtime.CompilerServices;
using Unity.Mathematics;
using UnityEngine;
Expand All @@ -12,6 +13,9 @@ namespace Unity.Netcode.Components
/// individual axis and the 16 bits of the half float are stored as <see cref="ushort"/> values since C# does not have
/// a half float type.
/// </remarks>
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public struct HalfVector3 : INetworkSerializable
{
internal const int Length = 3;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using System;
using System.Runtime.CompilerServices;
using Unity.Mathematics;
using UnityEngine;
Expand All @@ -12,6 +13,9 @@ namespace Unity.Netcode.Components
/// individual axis and the 16 bits of the half float are stored as <see cref="ushort"/> values since C# does not have
/// a half float type.
/// </remarks>
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public struct HalfVector4 : INetworkSerializable
{
internal const int Length = 4;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ namespace Unity.Netcode
/// Partially solves for message loss. Unclamped lerping helps hide this, but not completely
/// </summary>
/// <typeparam name="T">The type of interpolated value</typeparam>
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public abstract class BufferedLinearInterpolator<T> where T : struct
{
// Constant absolute value for max buffer count instead of dynamic time based value. This is in case we have very low tick rates, so
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
using System;
using System.Runtime.CompilerServices;
using Unity.Mathematics;
using UnityEngine;
Expand All @@ -7,6 +8,9 @@ namespace Unity.Netcode.Components
/// <summary>
/// Used to synchromnize delta position when half float precision is enabled
/// </summary>
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public struct NetworkDeltaPosition : INetworkSerializable
{
internal const float MaxDeltaBeforeAdjustment = 64f;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#if COM_UNITY_MODULES_PHYSICS
using System;
using System.Collections.Generic;
using Unity.Collections;
using Unity.Jobs;
Expand All @@ -11,6 +12,9 @@ namespace Unity.Netcode.Components
/// Information a <see cref="Rigidbody"/> returns to <see cref="RigidbodyContactEventManager"/> via <see cref="IContactEventHandlerWithInfo.GetContactEventHandlerInfo"/> <br />
/// if the <see cref="Rigidbody"/> registers itself with <see cref="IContactEventHandlerWithInfo"/> as opposed to <see cref="IContactEventHandler"/>.
/// </summary>
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public struct ContactEventHandlerInfo
{
/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -951,6 +951,7 @@ public NetworkPrefabHandler PrefabHandler
/// <see cref="Unity.Netcode.RpcTarget.Not{T}(T)"/>
/// </summary>
#pragma warning restore IDE0001
[NonSerialized]
public RpcTarget RpcTarget;

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ namespace Unity.Netcode
/// </summary>
/// <typeparam name="T">The type for the list</typeparam>
[GenerateSerializationForGenericParameter(0)]
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public class NetworkList<T> : NetworkVariableBase where T : unmanaged, IEquatable<T>
{
private NativeList<T> m_List = new NativeList<T>(64, Allocator.Persistent);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace Unity.Netcode
/// <summary>
/// Defines update timing constraints for NetworkVariables
/// </summary>
[Serializable]
public struct NetworkVariableUpdateTraits
{
/// <summary>
Expand All @@ -25,6 +26,7 @@ public struct NetworkVariableUpdateTraits
/// <summary>
/// Interface for network value containers
/// </summary>
[Serializable]
public abstract class NetworkVariableBase : IDisposable
{
[SerializeField]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,9 @@ public class SceneEvent
/// Main class for managing network scenes when <see cref="NetworkConfig.EnableSceneManagement"/> is enabled.
/// Uses the <see cref="SceneEventMessage"/> message to communicate <see cref="SceneEventData"/> between the server and client(s)
/// </summary>
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public class NetworkSceneManager : IDisposable
{
internal const int InvalidSceneNameOrPath = -1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ namespace Unity.Netcode
/// <summary>
/// Class that handles object spawning
/// </summary>
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public class NetworkSpawnManager
{
// Stores the objects that need to be shown at end-of-frame
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ namespace Unity.Netcode
/// Provides discretized time.
/// This is useful for games that require ticks happening at regular interval on the server and clients.
/// </summary>
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public class NetworkTickSystem
{
#if DEVELOPMENT_BUILD || UNITY_EDITOR
Expand Down
3 changes: 3 additions & 0 deletions com.unity.netcode.gameobjects/Runtime/Timing/NetworkTime.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ namespace Unity.Netcode
/// Time is stored as a combination of amount of passed ticks + a duration offset.
/// This struct is meant to replace the Unity <see cref="Time"/> API for multiplayer gameplay.
/// </summary>
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public struct NetworkTime
{
private double m_TimeSec;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ namespace Unity.Netcode
/// as last received from the server plus an offset based on the current RTT - in other words, it is a best-guess
/// effort at predicting what the server tick will be when a given network action is processed on the server.
/// </summary>
#if NETCODE_UAC1001_CHECKS
[Serializable]
#endif
public class NetworkTimeSystem
{
/// <remarks>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,11 @@
"name": "Unity",
"expression": "6000.5.0a7",
"define": "NGO_FINDOBJECTS_NOSORTING"
},
{
"name": "Unity",
"expression": "6000.5.0a8",
"define": "NETCODE_UAC1001_CHECKS"
}
],
"noEngineReferences": false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ internal class HiddenVariableObject : NetworkBehaviour
public static List<NetworkObject> ClientInstancesSpawned = new List<NetworkObject>();

public NetworkVariable<int> MyNetworkVariable = new NetworkVariable<int>();
public NetworkList<int> MyNetworkList = new NetworkList<int>();
internal NetworkList<int> MyNetworkList = new NetworkList<int>();

public static Dictionary<ulong, int> ValueOnClient = new Dictionary<ulong, int>();
public static int ExpectedSize = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ internal class ListChangedObject : NetworkBehaviour
public int ExpectedValue = 0;
public bool AddDone = false;

public NetworkList<int> MyNetworkList = new NetworkList<int>();
internal NetworkList<int> MyNetworkList = new NetworkList<int>();

public override void OnNetworkSpawn()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ public static void ResetSpawnCount()
private const uint k_MaxDataBlocks = 64;

// Add various types of NetworkVariables
public NetworkList<ulong> NetworkVariableData1;
internal NetworkList<ulong> NetworkVariableData1;
public NetworkVariable<int> NetworkVariableData2;
public NetworkVariable<long> NetworkVariableData3;
public NetworkVariable<byte> NetworkVariableData4;
Expand Down Expand Up @@ -665,7 +665,7 @@ protected override void OnSynchronize<T>(ref BufferSerializer<T> serializer)

internal class NetworkBehaviourOnSynchronizeComponent : NetworkBehaviour
{
public SomeCustomSerializationData CustomSerializationData = new SomeCustomSerializationData();
internal SomeCustomSerializationData CustomSerializationData = new SomeCustomSerializationData();

internal struct SomeCustomSerializationData : INetworkSerializable
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ public override void OnNetworkDespawn()
}

public NetworkVariable<int> MyNetworkVariable = new NetworkVariable<int>();
public NetworkList<int> MyListSetOnSpawn = new NetworkList<int>();
internal NetworkList<int> MyListSetOnSpawn = new NetworkList<int>();
public NetworkVariable<int> MyOwnerReadNetworkVariable = new NetworkVariable<int>(readPerm: NetworkVariableReadPermission.Owner);
public NetworkList<int> MyList = new NetworkList<int>();
internal NetworkList<int> MyList = new NetworkList<int>();
public static NetworkManager NetworkManagerOfInterest;

internal static int GainOwnershipCount = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -754,7 +754,7 @@ internal class NetworkTransformTestComponent : NetworkTransform
public bool ServerAuthority;
public bool ReadyToReceivePositionUpdate = false;

public NetworkTransformState AuthorityLastSentState;
internal NetworkTransformState AuthorityLastSentState;
public bool StatePushed { get; internal set; }

public delegate void AuthorityPushedTransformStateDelegateHandler(ref NetworkTransformState networkTransformState);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -290,8 +290,8 @@ private struct MonoBehaviourCallbacks

private class MyGameScript : MonoBehaviour, INetworkUpdateSystem
{
public NetworkUpdateCallbacks UpdateCallbacks;
public MonoBehaviourCallbacks BehaviourCallbacks;
internal NetworkUpdateCallbacks UpdateCallbacks;
internal MonoBehaviourCallbacks BehaviourCallbacks;

private void Awake()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public DummyNetVar(
internal class DummyNetBehaviour : NetworkBehaviour
{
public static bool DistributedAuthority;
public DummyNetVar NetVar;
internal DummyNetVar NetVar;

private void Awake()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1222,7 +1222,7 @@ public static void ResetState()
public NetworkVariable<HashSet<int>> ListCollectionServer = new NetworkVariable<HashSet<int>>(new HashSet<int>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Server);
public NetworkVariable<HashSet<int>> ListCollectionOwner = new NetworkVariable<HashSet<int>>(new HashSet<int>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
// This tracks what has changed per instance which is used to compare to all other instances
public Dictionary<Targets, Dictionary<DeltaTypes, HashSet<int>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, HashSet<int>>>();
internal Dictionary<Targets, Dictionary<DeltaTypes, HashSet<int>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, HashSet<int>>>();

public bool ValidateInstances()
{
Expand Down Expand Up @@ -1471,7 +1471,7 @@ public static void ResetState()
public NetworkVariable<Dictionary<int, Dictionary<int, SerializableObject>>> ListCollectionServer = new NetworkVariable<Dictionary<int, Dictionary<int, SerializableObject>>>(new Dictionary<int, Dictionary<int, SerializableObject>>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Server);
public NetworkVariable<Dictionary<int, Dictionary<int, SerializableObject>>> ListCollectionOwner = new NetworkVariable<Dictionary<int, Dictionary<int, SerializableObject>>>(new Dictionary<int, Dictionary<int, SerializableObject>>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
// This tracks what has changed per instance which is used to compare to all other instances
public Dictionary<Targets, Dictionary<DeltaTypes, Dictionary<int, Dictionary<int, SerializableObject>>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, Dictionary<int, Dictionary<int, SerializableObject>>>>();
internal Dictionary<Targets, Dictionary<DeltaTypes, Dictionary<int, Dictionary<int, SerializableObject>>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, Dictionary<int, Dictionary<int, SerializableObject>>>>();

private bool CompareDictionaries(ulong clientId, Dictionary<int, SerializableObject> first, Dictionary<int, SerializableObject> second)
{
Expand Down Expand Up @@ -1778,7 +1778,7 @@ public static void ResetState()
public NetworkVariable<Dictionary<int, SerializableObject>> ListCollectionServer = new NetworkVariable<Dictionary<int, SerializableObject>>(new Dictionary<int, SerializableObject>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Server);
public NetworkVariable<Dictionary<int, SerializableObject>> ListCollectionOwner = new NetworkVariable<Dictionary<int, SerializableObject>>(new Dictionary<int, SerializableObject>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
// This tracks what has changed per instance which is used to compare to all other instances
public Dictionary<Targets, Dictionary<DeltaTypes, Dictionary<int, SerializableObject>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, Dictionary<int, SerializableObject>>>();
internal Dictionary<Targets, Dictionary<DeltaTypes, Dictionary<int, SerializableObject>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, Dictionary<int, SerializableObject>>>();

private bool CompareDictionaries(ulong clientId, Dictionary<int, SerializableObject> first, Dictionary<int, SerializableObject> second)
{
Expand Down Expand Up @@ -2145,7 +2145,7 @@ public static void ResetState()
public NetworkVariable<List<List<SerializableObject>>> ListCollectionServer = new NetworkVariable<List<List<SerializableObject>>>(new List<List<SerializableObject>>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Server);
public NetworkVariable<List<List<SerializableObject>>> ListCollectionOwner = new NetworkVariable<List<List<SerializableObject>>>(new List<List<SerializableObject>>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
// This tracks what has changed per instance which is used to compare to all other instances
public Dictionary<Targets, Dictionary<DeltaTypes, List<List<SerializableObject>>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, List<List<SerializableObject>>>>();
internal Dictionary<Targets, Dictionary<DeltaTypes, List<List<SerializableObject>>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, List<List<SerializableObject>>>>();

public bool ValidateInstances()
{
Expand Down Expand Up @@ -2444,7 +2444,7 @@ public static void ResetState()
public NetworkVariable<List<SerializableObject>> ListCollectionServer = new NetworkVariable<List<SerializableObject>>(new List<SerializableObject>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Server);
public NetworkVariable<List<SerializableObject>> ListCollectionOwner = new NetworkVariable<List<SerializableObject>>(new List<SerializableObject>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
// This tracks what has changed per instance which is used to compare to all other instances
public Dictionary<Targets, Dictionary<DeltaTypes, List<SerializableObject>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, List<SerializableObject>>>();
internal Dictionary<Targets, Dictionary<DeltaTypes, List<SerializableObject>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, List<SerializableObject>>>();

public bool ValidateInstances()
{
Expand Down Expand Up @@ -2709,7 +2709,7 @@ public static void ResetState()
public NetworkVariable<List<List<int>>> ListCollectionServer = new NetworkVariable<List<List<int>>>(new List<List<int>>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Server);
public NetworkVariable<List<List<int>>> ListCollectionOwner = new NetworkVariable<List<List<int>>>(new List<List<int>>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
// This tracks what has changed per instance which is used to compare to all other instances
public Dictionary<Targets, Dictionary<DeltaTypes, List<List<int>>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, List<List<int>>>>();
internal Dictionary<Targets, Dictionary<DeltaTypes, List<List<int>>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, List<List<int>>>>();

public bool ValidateInstances()
{
Expand Down Expand Up @@ -3013,7 +3013,7 @@ public static void ResetState()
public NetworkVariable<List<int>> ListCollectionServer = new NetworkVariable<List<int>>(new List<int>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Server);
public NetworkVariable<List<int>> ListCollectionOwner = new NetworkVariable<List<int>>(new List<int>(), NetworkVariableReadPermission.Everyone, NetworkVariableWritePermission.Owner);
// This tracks what has changed per instance which is used to compare to all other instances
public Dictionary<Targets, Dictionary<DeltaTypes, List<int>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, List<int>>>();
internal Dictionary<Targets, Dictionary<DeltaTypes, List<int>>> NetworkVariableChanges = new Dictionary<Targets, Dictionary<DeltaTypes, List<int>>>();

public bool ValidateInstances()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,10 @@ internal class CustomSerializableSubclassWithNativeArray<TSerializableType> : Cu

internal class CustomGenericSerializationTestBehaviour : NetworkBehaviour
{
public CustomSerializableClass<TypeReferencedOnlyInCustomSerialization1, TypeReferencedOnlyInCustomSerialization2> Value1;
public CustomSerializableClass<NativeArray<TypeReferencedOnlyInCustomSerialization1>, NativeArray<TypeReferencedOnlyInCustomSerialization2>> Value2;
public CustomSerializableSubclass<TypeReferencedOnlyInCustomSerialization4> Value3;
public CustomSerializableSubclassWithNativeArray<NativeArray<TypeReferencedOnlyInCustomSerialization4>> Value4;
internal CustomSerializableClass<TypeReferencedOnlyInCustomSerialization1, TypeReferencedOnlyInCustomSerialization2> Value1;
internal CustomSerializableClass<NativeArray<TypeReferencedOnlyInCustomSerialization1>, NativeArray<TypeReferencedOnlyInCustomSerialization2>> Value2;
internal CustomSerializableSubclass<TypeReferencedOnlyInCustomSerialization4> Value3;
internal CustomSerializableSubclassWithNativeArray<NativeArray<TypeReferencedOnlyInCustomSerialization4>> Value4;
}

[GenerateSerializationForType(typeof(TypeReferencedOnlyInCustomSerialization5))]
Expand Down Expand Up @@ -915,7 +915,7 @@ internal class NetVarILPPClassForTests : NetworkBehaviour

public NetworkVariable<string> StringVar;
public NetworkVariable<Guid> GuidVar;
public NetworkVariableSubclass<TemplatedValueOnlyReferencedByNetworkVariableSubclass<int>> SubclassVar;
internal NetworkVariableSubclass<TemplatedValueOnlyReferencedByNetworkVariableSubclass<int>> SubclassVar;
}

internal class TemplateNetworkBehaviourType<T> : NetworkBehaviour
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ internal class UniversalRpcNetworkBehaviour : NetworkBehaviour
{
public bool Stop = false;
public string Received = string.Empty;
public Tuple<int, bool, float, string> ReceivedParams = null;
internal Tuple<int, bool, float, string> ReceivedParams = null;
public ulong ReceivedFrom = ulong.MaxValue;
public int ReceivedCount;

Expand Down
Loading