You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This resolves issues with in-scene placed NetworkObject parenting where
the original parent has changed. This resolves the issue where loading a
scene would not order the serialization of loaded in-scene placed
NetworkObjects based on their parent-child hierarchy.
This also resolves an issue where a `NetworkTransform` would think it
was parented if nested under anything as well as removes the spamming
error message when parenting a `NetworkObject` with `NetworkTransform`
and using local space for synchronization (can be handled in
documentation as to why this is a bad idea but there may be edge cases
where a user might want to do this anyway).
[MTT-11883](https://jira.unity3d.com/browse/MTT-11883)
<!-- Add RFC link here if applicable. -->
## Changelog
- Fixed: Issue where in-scene placed `NetworkObjects` could fail to
synchronize its transform properly (especially without a
`NetworkTransform`) if their parenting changes from the default when the
scene is loaded and if the same scene remains loaded between network
sessions while the parenting is completely different from the original
hierarchy.
- Changed: The scene loading event serialization order for in-scene
placed `NetworkObject`s to be based on their parent-child hierarchy.
- Changed: Removing the error message when a `NetworkObject` with
`NetworkTransform` is parented and placed in local space when using
rigidbody for motion.
## Testing and Documentation
- Includes no additional tests (_requires manual testing due to scene
loading constraints_).
- No documentation changes or additions were necessary.
<!-- Uncomment and mark items off with a * if this PR deprecates any
API:
### Deprecated API
- [ ] An `[Obsolete]` attribute was added along with a `(RemovedAfter
yyyy-mm-dd)` entry.
- [ ] An [api updater] was added.
- [ ] Deprecation of the API is explained in the CHANGELOG.
- [ ] The users can understand why this API was removed and what they
should use instead.
-->
Copy file name to clipboardExpand all lines: com.unity.netcode.gameobjects/CHANGELOG.md
+2Lines changed: 2 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,7 @@ Additional documentation and release notes are available at [Multiplayer Documen
22
22
23
23
### Fixed
24
24
25
+
- Fixed issue where in-scene placed `NetworkObjects` could fail to synchronize its transform properly (especially without a `NetworkTransform`) if their parenting changes from the default when the scene is loaded and if the same scene remains loaded between network sessions while the parenting is completely different from the original hierarchy. (#3387)
25
26
- Fixed an issue in `UnityTransport` where the transport would accept sends on invalid connections, leading to a useless memory allocation and confusing error message. (#3382)
26
27
- Fixed issue where the time delta that interpolators used would not be properly updated during multiple fixed update invocations within the same player loop frame. (#3355)
27
28
- Fixed issue when using a distributed authority network topology and many clients attempt to connect simultaneously the session owner could max-out the maximum in-flight reliable messages allowed, start dropping packets, and some of the connecting clients would fail to fully synchronize. (#3350)
@@ -44,6 +45,7 @@ Additional documentation and release notes are available at [Multiplayer Documen
44
45
45
46
### Changed
46
47
48
+
- Changed the scene loading event serialization order for in-scene placed `NetworkObject`s to be based on their parent-child hierarchy. (#3387)
47
49
- Changed the original `Lerp` interpolation type to `LegacyLerp`. (#3355)
48
50
- Changed `BufferedLinearInterpolator<T>.Update(float deltaTime, NetworkTime serverTime)` as being deprecated since this method is only used for internal testing purposes. (#3337)
49
51
- Changed error thrown when attempting to build a dedicated server with Unity Transport that uses websockets to provide more useful information to the user. (#3336)
// TODO: Provide more options than just FixedJoint
2081
-
Debug.LogError($"[Rigidbody] WHen using a Rigidbody for motion, you cannot use {nameof(InLocalSpace)}! If parenting, use the integrated FixedJoint or use a Joint on Authority side.");
2082
-
}
2083
-
#endif
2084
2077
2085
2078
// Check for parenting when synchronizing and/or teleporting
0 commit comments