fix: [Up-port] mixed authority nested NetworkTransform stops updating non-authority nested NetworkTransforms - #4170
Conversation
… non-authority instances Up-port of #4169. The NetworkManager update registration is per-NetworkObject while the authority motion model is per-NetworkTransform, so the first authority instance to initialize removed the entire NetworkObject from the update group and its non-authority siblings stopped being updated. Gate the removal on whether any NetworkTransform on the NetworkObject is still non-authority for that same update.
|
Check the configuration's TOML syntax, permitted settings, and size limit. See the error below. Error message: Configuration content:# This is the configuration for the u-pr bot
# https://github.cds.internal.unity3d.com/unity/u-pr
# For configuration of this file:
# https://developer.portal.internal.unity.com/catalog/default/component/u-pr/docs/configuration/automatic_runs/
[github_app]
handle_pr_actions = ['opened', 'ready_for_review'] # PR events that auto-run pr_commands
pr_commands = ["/harness-review"] # what runs on those events
reviewer_commands = ["/harness-review"] # what runs when @u-pr is added as reviewer
|
There was a problem hiding this comment.
💡 Harness Review
The change correctly preserves per-object update registration for non-authoritative nested transforms while separating standard and fixed-update motion models. I examined initialization, ownership, cleanup, and the expanded tests and found no actionable issues.
Reviewed commit b3e3545
🤖 Helpful? 👍/👎
…ng ownership Without it the post-transfer check passes whether the NetworkObject was unregistered or was never registered for the fixed update to begin with, so it could not tell a transition apart from nothing having happened.
Codecov ReportAll modified and coverable lines are covered by tests ✅ @@ Coverage Diff @@
## develop-3.x.x #4170 +/- ##
=================================================
+ Coverage 78.19% 78.23% +0.03%
=================================================
Files 153 153
Lines 26272 26289 +17
=================================================
+ Hits 20544 20567 +23
+ Misses 5728 5722 -6
Flags with carried forward coverage won't be shown. Click here to find out more.
|
…m-updates-up-port
Up-port of #4169
Purpose of this PR
The
NetworkManagerupdate registration is per-NetworkObjectwhile the authority motion model is per-NetworkTransform. On aNetworkObjectwhose nestedNetworkTransforminstances do not all share the sameAuthorityMode, the first authority instance to initialize removed the entireNetworkObjectfrom the update group, and its non-authority siblings then stopped processing their received state updates.The removal is now gated on whether any
NetworkTransformon theNetworkObjectis still non-authority for that same update.fix: #4159
Jira ticket
UUM-153570
Changelog
NetworkTransforminstances can stop child/nestedNetworkTransforminstances from updating due to a parent (root or otherwise)NetworkTransformthat is the authority instance will remove theNetworkObjectcompletely from the non-authority update group causing non-authority instances to never update their state (interpolating or not) on the authority side.Documentation
Testing & QA (How your changes can be verified during release Playtest)
NetworkTransformMixedAuthorityTestsis parameterized overHostOrServerand the rootAuthorityMode, with the nested child always using the inverse mode. The(Server, Owner)pass is the one that reproduces the reported issue; all instances are now compared, including the ones that hold authority over one of the two nestedNetworkTransformcomponents.NetworkTransformMixedMotionModelTestscovers aNetworkObjectthat mixes both the authority motion model and the rigidbody motion model across an ownership change, so each nestedNetworkTransformis registered under a different update.The full
NetworkTransformfilter was run headlessly against this branch on 6000.7.0a5: 3966 passed, 0 failed, 4 skipped. The skips are the pre-existingAssert.Ignorecalls inNetworkTransformOwnershipTestsfor UUM-152669.Functional Testing
Manual testing :
Manual testing doneAutomated tests:
Covered by existing automated testsCovered by new automated testsDoes the change require QA team to:
Review automated tests?Execute manual tests?Provide feedback about the PR?If any boxes above are checked the QA team will be automatically added as a PR reviewer.
Up-port
No up-port required.
Backports
No backport required.
🤖 Generated with Claude Code