com.unity.netcode.gameobjects@2.0.0-exp.4
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Additional documentation and release notes are available at [Multiplayer Documentation](https://docs-multiplayer.unity3d.com). ## [2.0.0-exp.4] - 2024-05-31 ### Added - Added `NetworkRigidbodyBase.AttachToFixedJoint` and `NetworkRigidbodyBase.DetachFromFixedJoint` to replace parenting for rigid bodies that have `NetworkRigidbodyBase.UseRigidBodyForMotion` enabled. (#2933) - Added `NetworkBehaviour.OnNetworkPreSpawn` and `NetworkBehaviour.OnNetworkPostSpawn` methods that provide the ability to handle pre and post spawning actions during the `NetworkObject` spawn sequence. (#2912) - Added a client-side only `NetworkBehaviour.OnNetworkSessionSynchronized` convenience method that is invoked on all `NetworkBehaviour`s after a newly joined client has finished synchronizing with the network session in progress. (#2912) - Added `NetworkBehaviour.OnInSceneObjectsSpawned` convenience method that is invoked when all in-scene `NetworkObject`s have been spawned after a scene has been loaded or upon a host or server starting. (#2912) ### Fixed - Fixed issue where non-authoritative rigid bodies with `NetworkRigidbodyBase.UseRigidBodyForMotion` enabled would constantly log errors about the renderTime being before `StartTimeConsumed`. (#2933) - Fixed issue where in-scene placed NetworkObjects could be destroyed if a client disconnects early and/or before approval. (#2924) - Fixed issue where a `NetworkObject` component's associated `NetworkBehaviour` components would not be detected if scene loading is disabled in the editor and the currently loaded scene has in-scene placed `NetworkObject`s. (#2912) - Fixed issue where an in-scene placed `NetworkObject` with `NetworkTransform` that is also parented under a `GameObject` would not properly synchronize when the parent `GameObject` had a world space position other than 0,0,0. (#2898) ### Changed - Change all the access modifiers of test class from Public to Internal (#2930) - Changed messages are now sorted by enum values as opposed to ordinally sorting the messages by their type name. (#2929) - Changed `NetworkClient.SessionModeTypes` to `NetworkClient.NetworkTopologyTypes`. (#2875) - Changed `NetworkClient.SessionModeType` to `NetworkClient.NetworkTopologyType`. (#2875) - Changed `NetworkConfig.SessionMode` to `NeworkConfig.NetworkTopology`. (#2875)
This commit is contained in:
@@ -9,7 +9,7 @@ using UnityEngine.TestTools;
|
||||
|
||||
namespace Unity.Netcode.RuntimeTests
|
||||
{
|
||||
public class DeferredDespawningTests : IntegrationTestWithApproximation
|
||||
internal class DeferredDespawningTests : IntegrationTestWithApproximation
|
||||
{
|
||||
private const int k_DaisyChainedCount = 5;
|
||||
protected override int NumberOfClients => 2;
|
||||
@@ -85,7 +85,7 @@ namespace Unity.Netcode.RuntimeTests
|
||||
/// prefab driven by the authority. This repeats for the number specified in the integration
|
||||
/// test.
|
||||
/// </summary>
|
||||
public class DeferredDespawnDaisyChained : NetworkBehaviour
|
||||
internal class DeferredDespawnDaisyChained : NetworkBehaviour
|
||||
{
|
||||
public static bool EnableVerbose;
|
||||
public static Action<ulong> ReachedLastChainInstance;
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace Unity.Netcode.RuntimeTests
|
||||
/// Validates that distributable NetworkObjects are distributed upon
|
||||
/// a client connecting or disconnecting.
|
||||
/// </summary>
|
||||
public class DistributeObjectsTests : IntegrationTestWithApproximation
|
||||
internal class DistributeObjectsTests : IntegrationTestWithApproximation
|
||||
{
|
||||
private GameObject m_DistributeObject;
|
||||
|
||||
@@ -352,7 +352,7 @@ namespace Unity.Netcode.RuntimeTests
|
||||
/// This keeps track of each clients perspective of which NetworkObjects are owned by which client.
|
||||
/// It is used to validate that all clients are in synch with ownership updates.
|
||||
/// </summary>
|
||||
public class DistributeObjectsTestHelper : NetworkBehaviour
|
||||
internal class DistributeObjectsTestHelper : NetworkBehaviour
|
||||
{
|
||||
/// <summary>
|
||||
/// [Client Context][Client Owners][NetworkObjectId][NetworkObject]
|
||||
@@ -426,7 +426,7 @@ namespace Unity.Netcode.RuntimeTests
|
||||
/// This is used to validate that upon distributed ownership changes NetworkTransform sycnhronization
|
||||
/// still works properly.
|
||||
/// </summary>
|
||||
public class DistributeTestTransform : NetworkTransform
|
||||
internal class DistributeTestTransform : NetworkTransform
|
||||
{
|
||||
private float m_DeltaVarPosition = 0.15f;
|
||||
private float m_DeltaVarQauternion = 0.015f;
|
||||
@@ -475,10 +475,8 @@ namespace Unity.Netcode.RuntimeTests
|
||||
m_ReachedTarget = false;
|
||||
}
|
||||
|
||||
protected override void Update()
|
||||
public override void OnUpdate()
|
||||
{
|
||||
base.Update();
|
||||
|
||||
if (CanCommitToTransform)
|
||||
{
|
||||
if (!m_ReachedTarget)
|
||||
|
||||
@@ -16,15 +16,15 @@ using UnityEngine.TestTools;
|
||||
|
||||
namespace Unity.Netcode.RuntimeTests
|
||||
{
|
||||
public class DistributedAuthorityCodecTests : NetcodeIntegrationTest
|
||||
internal class DistributedAuthorityCodecTests : NetcodeIntegrationTest
|
||||
{
|
||||
protected override int NumberOfClients => 1;
|
||||
|
||||
// Use the CMB Service for all tests
|
||||
protected override bool UseCMBService() => true;
|
||||
|
||||
// Set the session mode to distributed authority for all tests
|
||||
protected override SessionModeTypes OnGetSessionmode() => SessionModeTypes.DistributedAuthority;
|
||||
// Set the network topology to distributed authority for all tests
|
||||
protected override NetworkTopologyTypes OnGetNetworkTopologyType() => NetworkTopologyTypes.DistributedAuthority;
|
||||
|
||||
private CodecTestHooks m_ClientCodecHook;
|
||||
private NetworkManager Client => m_ClientNetworkManagers[0];
|
||||
@@ -35,7 +35,7 @@ namespace Unity.Netcode.RuntimeTests
|
||||
|
||||
private GameObject m_SpawnObject;
|
||||
|
||||
public class TestNetworkComponent : NetworkBehaviour
|
||||
internal class TestNetworkComponent : NetworkBehaviour
|
||||
{
|
||||
public NetworkList<int> MyNetworkList = new NetworkList<int>(new List<int> { 1, 2, 3 });
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Unity.Netcode.RuntimeTests
|
||||
[TestFixture(HostOrServer.Host)]
|
||||
[TestFixture(HostOrServer.Server)]
|
||||
[TestFixture(HostOrServer.DAHost)]
|
||||
public class NetworkClientAndPlayerObjectTests : NetcodeIntegrationTest
|
||||
internal class NetworkClientAndPlayerObjectTests : NetcodeIntegrationTest
|
||||
{
|
||||
private const int k_PlayerPrefabCount = 6;
|
||||
protected override int NumberOfClients => 2;
|
||||
@@ -168,7 +168,7 @@ namespace Unity.Netcode.RuntimeTests
|
||||
[UnityTest]
|
||||
public IEnumerator ValidateNetworkClients()
|
||||
{
|
||||
// Validate the initial clients created
|
||||
// Validate the initial clients created
|
||||
yield return WaitForConditionOrTimeOut(AllNetworkClientsValidated);
|
||||
AssertOnTimeout($"[Start] Not all NetworkClients were valid!\n{m_ErrorLogLevel1}");
|
||||
|
||||
@@ -190,7 +190,7 @@ namespace Unity.Netcode.RuntimeTests
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verify that all NetworkClients are pointing to the correct player object, even if
|
||||
/// Verify that all NetworkClients are pointing to the correct player object, even if
|
||||
/// the player object is changed.
|
||||
/// </summary>
|
||||
private bool ValidatePlayerObjectOnClients(NetworkManager clientToValidate)
|
||||
|
||||
@@ -9,7 +9,7 @@ using UnityEngine.TestTools;
|
||||
|
||||
namespace Unity.Netcode.RuntimeTests
|
||||
{
|
||||
public class OwnershipPermissionsTests : IntegrationTestWithApproximation
|
||||
internal class OwnershipPermissionsTests : IntegrationTestWithApproximation
|
||||
{
|
||||
private GameObject m_PermissionsObject;
|
||||
|
||||
@@ -332,7 +332,7 @@ namespace Unity.Netcode.RuntimeTests
|
||||
AssertOnTimeout($"[Targeted Owner] Client-{daHostInstance.NetworkManager.LocalClientId} did not get the right request reponse: {daHostInstanceHelper.OwnershipRequestResponseStatus} Expecting: {NetworkObject.OwnershipRequestResponseStatus.Approved}!");
|
||||
}
|
||||
|
||||
public class OwnershipPermissionsTestHelper : NetworkBehaviour
|
||||
internal class OwnershipPermissionsTestHelper : NetworkBehaviour
|
||||
{
|
||||
public static NetworkObject CurrentOwnedInstance;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user