Skip to content

Update NGO changelog to 1.1.0 #834

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 24, 2022
Merged
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
65 changes: 56 additions & 9 deletions releases/netcode/1-0-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,31 +14,79 @@ This release contains features, updates, bug fixes, and refactoring for the Net
| Netcode for GameObjects | 1.0.0| Release | June 27, 2022 | 2020.3 and later |
| Netcode for GameObjects | 1.0.1| Release | August 25, 2022 | 2020.3 and later |
| Netcode for GameObjects | 1.0.2| Release | September 13, 2022 | 2020.3 and later |
| Netcode for GameObjects | 1.1.0| Release | October 10, 2022 | 2020.3 and later |

:::note
Netcode for GameObjects supports Windows, MacOS, Ubuntu 20.4 LTS and Ubuntu 18.04 LTS versions of Unity Editor and Player
Netcode for GameObjects supports Windows, MacOS, Ubuntu 20.4 LTS, and Ubuntu 18.04 LTS versions of Unity Editor and Player
:::

## [1.0.2] - 2022-09-13
## NGO [1.1.0] - 2022-10-20

### Added

* Added `NetworkManager.IsApproved` flag that is set to `true` if a client is approved. ([#2261](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2261))
* `UnityTransport` now provides a way to set the [Relay server](https://docs.unity.com/relay/relay-servers.html) data directly from the `RelayServerData` structure (provided by the Unity Transport package) through its `SetRelayServerData` method. This allows you to use the new APIs in UTP 1.3 that simplify integrating the [Relay SDK](https://docs.unity.com/relay/SDK/sdk.html). ([#2235](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2235))
* Added IPv6 support for direct connections when using `UnityTransport`. ([#2232](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2232))
* Added WebSocket support when using UTP 2.0 with the `UseWebSockets` property in the `UnityTransport` component of the `NetworkManager`. This allows you to pick WebSockets for communication. If you’re building for WebGL, NGO uses WebSockets automatically. ([#2201](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2201))
* Added position, rotation, and scale to the `ParentSyncMessage`. This allows users to specify the final values on the server side when invoking `OnNetworkObjectParentChanged` just before creating the message (when the `Transform` values are applied to the message). ([#2146](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2146))
* Added the `NetworkObject.TryRemoveParent` convenience method. You can now use this method instead of casting null to `GameObject` or `NetworkObject`. ([#2146](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2146))

### Changed

* Updated `UnityTransport` dependency on `com.unity.transport` to 1.3.0. ([#2231](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2231))
* Made the send queues of `UnityTransport` dynamically sized. This means that you shouldn't need to tweak the **Max Send Queue Size** value. In fact, this field is no longer available in the Inspector (and won’t be serialized anymore). While not recommended in most cases, you can still set the value manually using the `MaxSendQueueSize` property for special cases, such as limiting the amount of memory used by the send queues in very constrained environments. ([#2212](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2212))
* As a consequence of the above change, the `UnityTransport.InitialMaxSendQueueSize` field is now deprecated. There is no default value anymore since send queues are dynamically-sized. ([#2212](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2212))
* Made the debug simulator in `UnityTransport` non-deterministic. Before this change, its random number generator was seeded with a constant value, which lead to the same pattern of packet drops, delays, and jitter in every run. ([#2196](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2196))
* Added support for managed `INetworkSerializable` types to `NetworkVariable<>`. It also supports other managed types with serialization and deserialization delegates registered to `UserNetworkVariableSerialization<T>.WriteValue` and `UserNetworkVariableSerialization<T>.ReadValue` ([#2219](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2219))
* `NetworkVariable<>` and `BufferSerializer<BufferSerializerReader>` now deserialize `INetworkSerializable` types in-place, rather than constructing new ones. ([#2219](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2219))

### Fixed

* Fixed `NetworkManager.ApprovalTimeout` so that it will not timeout due to slower client synchronization times. It now uses the added `NetworkManager.IsApproved` flag to determine if the client has been approved or not. ([#2261](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2261))
* Fixed an issue caused by changing ownership of objects hidden from some clients. ([#2242](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/issues/2242))
* Fixed an issue where an in-scene placed NetworkObject would not invoke `NetworkBehaviour.OnNetworkSpawn` if the GameObject was disabled when it despawned. ([#2239](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2239))
* Fixed an issue where clients were not rebuilding the `NetworkConfig` hash value for each unique connection request. ([#2226](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2226))
* Fixed an issue where player objects were not taking the `DontDestroyWithOwner` property into consideration when a client disconnected. ([#2225](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2225))
* Fixed an issue where `SceneEventProgress` would not complete if a client joins late while it is still in progress. ([#2222](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2222))
* Fixed an issue where `SceneEventProgress` would not complete if a client disconnects. ([#2222](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2222))
* Fixed issues with detecting if a `SceneEventProgress` has timed out. ([#2222](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2222))
* Fixed issue [#1924](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/issues/1924) where `UnityTransport` would fail to restart after a first failure (even if what caused the initial failure was addressed). ([#2220](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2220))
* Fixed an issue where `NetworkTransform.SetStateServerRpc` and `NetworkTransform.SetStateClientRpc` were not honoring local vs world space settings when applying the position and rotation. ([#2203](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2203))
* Fixed ILPP `TypeLoadException` on WebGL on MacOS Editor and potentially other platforms. ([#2199](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2199))
* Fixed an issue with implicit conversion of `NetworkObjectReference` to GameObject. It now returns null instead of throwing an exception if the referenced object could not be found (that is, it was already despawned). ([#2158](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2158))
* Fixed a warning resulting from a stray `NetworkAnimator.meta` file. ([#2153](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2153))
* Fixed an issue with Connection Approval Timeout not working client side. ([#2164](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2164))
* Fixed an issue where the `WorldPositionStays` parenting parameter was not synchronizing with clients. ([#2146](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2146))
* Fixed an issue where parented in-scene placed `NetworkObject`s would fail for late joining clients. ([#2146](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2146))
* Fixed an issue where the scale was not being synchronized, which caused issues with nested parenting and scale when `WorldPositionStays` was true. ([#2146](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2146))
* Fixed an issue with `NetworkTransform.ApplyTransformToNetworkStateWithInfo` where it was not honoring axis sync settings when `NetworkTransformState.IsTeleportingNextFrame` was true. ([#2146](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2146))
* Fixed an issue with `NetworkTransform.TryCommitTransformToServer` where it was not honoring the `InLocalSpace` setting. ([#2146](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2146))
* Fixed an issue with `ClientRpcs` always reporting in the profiler view as going to all clients, even when limited to a subset of clients by `ClientRpcParams`. ([#2144](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2144))
* Fixed an issue with RPC code generation (codegen) failing to choose the correct extension methods for `FastBufferReader` and `FastBufferWriter` when the parameters were a generic type (that is, `List`) and extensions for multiple instantiations of that type have been defined (that is, `List` and `List`). ([#2142](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2142))
* Fixed the issue where running a server (not a host) causes the second player to not receive updates (unless a third player joined). ([#2127](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2127))
* Fixed an issue where late-joining client transition synchronization could fail when more than one transition occurred. ([#2127](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2127))
* Fixed an issue that was throwing an exception in `OnNetworkUpdate`, causing other `OnNetworkUpdate` calls to not be executed. ([#1739](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/1739))
* Fixed a synchronization issue that occurs when `Time.timeScale` is set to 0. This changes the timing update to use unscaled delta-time. Now network update rates are independent of the local time scale. ([#2171](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/issues/2171))
* Fixed an issue where not all `NetworkVariables` were sent to all clients when a client connects to a server. ([#1987](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/issues/1987))
* Fixed an issue with `IsOwner`/`IsOwnedByServer` being wrong on the server after calling `RemoveOwnership`. ([#2211](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2211))

## [1.0.2] - 2022-09-13[#](https://docs-multiplayer.unity3d.com/releases/netcode/1.0.0#102---2022-09-13 "Direct link to heading")

### Fixed[#](https://docs-multiplayer.unity3d.com/releases/netcode/1.0.0#fixed "Direct link to heading")

* Fixed issue where `NetworkTransform` was not honoring the `InLocalSpace` property on the authority side during `OnNetworkSpawn`. ([#2170](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2170))
* Fixed issue where `NetworkTransform` was not ending extrapolation for the previous state causing non-authoritative instances to become out of sync. ([#2170](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2170))
* Fixed issue where `NetworkTransform` was not continuing to interpolate for the remainder of the associated tick period. ([#2170](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2170))
* Fixed issue during `NetworkTransform.OnNetworkSpawn` for non-authoritative instances where it was initializing interpolators with the replicated network state, which now only contains the transform deltas that occurred during a network tick and not the entire transform state. ([#2170](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2170))

## [1.0.1] - 2022-08-25
## [1.0.1] - 2022-08-25[#](https://docs-multiplayer.unity3d.com/releases/netcode/1.0.0#101---2022-08-25 "Direct link to heading")

* Changed version to 1.0.1. ([#2131](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2131))
* Updated dependency on `com.unity.transport` to 1.2.0. ([#2129](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2129))
* When using `UnityTransport`, _reliable_ payloads can now exceed the configured `Max Payload Size`. Unreliable payloads remain bounded by this setting. ([#2081](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2081))
* When using `UnityTransport`, *reliable* payloads can now exceed the configured `Max Payload Size`. Unreliable payloads remain bounded by this setting. ([#2081](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2081))
* Added performance improvements for cases with many `NetworkObjects` by not iterating over all unchanged `NetworkObjects`.


### Fixed


### Fixed[#](https://docs-multiplayer.unity3d.com/releases/netcode/1.0.0#fixed-1 "Direct link to heading")

* Fixed an issue where not sending all `NetworkVariables` to all clients when a client connects to a server. ([#1987](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/issues/1987))
* Fixed an issue where reading/writing more than 8 bits at a time with BitReader/BitWriter would write/read from the wrong place, returning an incorrect result. ([#2130](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2130))
Expand All @@ -58,7 +106,6 @@ Netcode for GameObjects supports Windows, MacOS, Ubuntu 20.4 LTS and Ubuntu 18.0
* Fixed an issue with the `NetworkList Value` event on the server. `PreviousValue` is now set correctly when a new value is set through the property setter. ([#2067](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/pull/2067))
* Fixed an issue where `NetworkLists` is not populating on the client. `NetworkList`. It now uses the most recent list instead of the list at the end of the previous frame when sending full updates to a dynamically spawned `NetworkObject`. The difference in behavior is required because scene management spawns those objects at a different time in the frame, relative to updates. ([#2062](https://github.com/Unity-Technologies/com.unity.netcode.gameobjects/issues/2062))


## [1.0.0] - 2022-06-27

- Changed version to 1.0.0. (#2046)
Expand Down