com.unity.netcode.gameobjects@1.5.2
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). ## [1.5.2] - 2023-07-24 ### Added ### Fixed - Fixed issue where `NetworkClient.OwnedObjects` was not returning any owned objects due to the `NetworkClient.IsConnected` not being properly set. (#2631) - Fixed a crash when calling TrySetParent with a null Transform (#2625) - Fixed issue where a `NetworkTransform` using full precision state updates was losing transform state updates when interpolation was enabled. (#2624) - Fixed issue where `NetworkObject.SpawnWithObservers` was not being honored for late joining clients. (#2623) - Fixed issue where invoking `NetworkManager.Shutdown` multiple times, depending upon the timing, could cause an exception. (#2622) - Fixed issue where removing ownership would not notify the server that it gained ownership. This also resolves the issue where an owner authoritative NetworkTransform would not properly initialize upon removing ownership from a remote client. (#2618) - Fixed ILPP issues when using CoreCLR and for certain dedicated server builds. (#2614) - Fixed an ILPP compile error when creating a generic NetworkBehaviour singleton with a static T instance. (#2603) ### Changed
This commit is contained in:
@@ -61,8 +61,26 @@ namespace Unity.Netcode.RuntimeTests
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Assures the <see cref="ObserverSpawnTests"/> late joining client has all
|
||||
/// NetworkPrefabs required to connect.
|
||||
/// </summary>
|
||||
protected override void OnNewClientCreated(NetworkManager networkManager)
|
||||
{
|
||||
foreach (var networkPrefab in m_ServerNetworkManager.NetworkConfig.Prefabs.Prefabs)
|
||||
{
|
||||
if (!networkManager.NetworkConfig.Prefabs.Contains(networkPrefab.Prefab))
|
||||
{
|
||||
networkManager.NetworkConfig.Prefabs.Add(networkPrefab);
|
||||
}
|
||||
}
|
||||
base.OnNewClientCreated(networkManager);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// This test validates <see cref="NetworkObject.SpawnWithObservers"/> property
|
||||
/// </summary>
|
||||
/// <param name="observerTestTypes">whether to spawn with or without observers</param>
|
||||
[UnityTest]
|
||||
public IEnumerator ObserverSpawnTests([Values] ObserverTestTypes observerTestTypes)
|
||||
{
|
||||
@@ -92,6 +110,23 @@ namespace Unity.Netcode.RuntimeTests
|
||||
m_ObserverTestType = ObserverTestTypes.WithObservers;
|
||||
yield return WaitForConditionOrTimeOut(CheckClientsSideObserverTestObj);
|
||||
AssertOnTimeout($"{k_WithObserversError} {k_ObserverTestObjName} object!");
|
||||
|
||||
// Validate that a late joining client does not see the NetworkObject when it spawns
|
||||
yield return CreateAndStartNewClient();
|
||||
|
||||
m_ObserverTestType = ObserverTestTypes.WithoutObservers;
|
||||
// Just give a little time to make sure nothing spawned
|
||||
yield return s_DefaultWaitForTick;
|
||||
yield return WaitForConditionOrTimeOut(CheckClientsSideObserverTestObj);
|
||||
AssertOnTimeout($"{(withoutObservers ? k_WithoutObserversError : k_WithObserversError)} {k_ObserverTestObjName} object!");
|
||||
|
||||
// Now validate that we can make the NetworkObject visible to the newly joined client
|
||||
m_ObserverTestNetworkObject.NetworkShow(m_ClientNetworkManagers[NumberOfClients].LocalClientId);
|
||||
|
||||
// Validate the NetworkObject is visible to all connected clients (including the recently joined client)
|
||||
m_ObserverTestType = ObserverTestTypes.WithObservers;
|
||||
yield return WaitForConditionOrTimeOut(CheckClientsSideObserverTestObj);
|
||||
AssertOnTimeout($"{k_WithObserversError} {k_ObserverTestObjName} object!");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user