Skip to content

Conversation

@NoelStephensUnity
Copy link
Member

@NoelStephensUnity NoelStephensUnity commented Jan 21, 2026

This is a regression bug and will need to be cherry picked into a release/2.8.1 hot-patch fix branch

Purpose of this PR

Only the spawn authority should reset the sent time and reset the dirty flag for NetworkList changes to avoid sending both the CreateObjectMessage (which would contain the changes) plus the NetworkVariableDeltaMessage.

Jira ticket

UUM-132685

fix: #3848

Changelog

  • Fixed: Issue when using a client-server topology where a NetworkList with owner write permissions was resetting sent time and dirty flags after having been spawned on owning clients that were not the spawn authority.

Documentation

  • No documentation changes or additions were necessary.

Testing & QA (How your changes can be verified during release Playtest)

Functional Testing

Manual testing :

  • Manual testing done

Automated tests:

  • Covered by existing automated tests
  • Covered by new automated tests
    • Added NetworkListTests.OwnerWriteTests.

Does 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.

Backports

No backport required.

Only the spawn authority should reset the sent time and reset the dirty flag for NetworkList changes to avoid sending both the CreateObjectMessage (which would contain the changes) plus the NetworkVariableDeltaMessage.
@NoelStephensUnity NoelStephensUnity requested a review from a team as a code owner January 21, 2026 00:45
@NoelStephensUnity NoelStephensUnity changed the title fix fix: NetworkList resets after spawn on client-server when using owner write Jan 21, 2026
updating comment in area updated for further clarity on the requirements to resetting the dirty and last sent time after the associated NetworkObject has been spawned.
Adding change log entry.
Rephrasing change log entry.
One last adjustment to the comment over the area fixed.
@michalChrobot
Copy link
Member

LGTM beside the fact that we should add a test for this edge case

Updating NetworkListTests to include an owner write test scenario that validates initial spawn, late join with spawn, and then changes to the owner write NetworkLists.
Removing trailing space from comment.
This resolves an issue discovered after peer review where  using just `HasAuthority` as part of the check within `NetworkList.OnSpawned` while using a distributed authority topology and spawning with ownership (i.e. Client-A spawns with ownership where Client-B is the owner) would result in any changes made on the authority side during spawn would not be synchronized.

The solution was to add `NetworkObject.IsSpawnAuthority` (internal) that is only set on the spawn authority side (i.e. the side that generates the `CreateObjectMessage`).
Removing single trailing whitespace from comment.
@NoelStephensUnity NoelStephensUnity enabled auto-merge (squash) January 23, 2026 00:09
NoelStephensUnity and others added 2 commits January 22, 2026 18:52
Only populate the owner write NetworkList values when running the owner write tests.
@NoelStephensUnity NoelStephensUnity merged commit eb9de17 into develop-2.0.0 Jan 23, 2026
23 of 24 checks passed
@NoelStephensUnity NoelStephensUnity deleted the fix/3848-networklist-not-updating-on-player-instances branch January 23, 2026 14:10
NoelStephensUnity added a commit that referenced this pull request Jan 23, 2026
… write (#3850)

* fix

Only the spawn authority should reset the sent time and reset the dirty flag for NetworkList changes to avoid sending both the CreateObjectMessage (which would contain the changes) plus the NetworkVariableDeltaMessage.

* style

updating comment in area updated for further clarity on the requirements to resetting the dirty and last sent time after the associated NetworkObject has been spawned.

* update

Adding change log entry.

* style

Rephrasing change log entry.

* style

One last adjustment to the comment over the area fixed.

* test

Updating NetworkListTests to include an owner write test scenario that validates initial spawn, late join with spawn, and then changes to the owner write NetworkLists.

* style - PVP

Removing trailing space from comment.

* update & test

This resolves an issue discovered after peer review where  using just `HasAuthority` as part of the check within `NetworkList.OnSpawned` while using a distributed authority topology and spawning with ownership (i.e. Client-A spawns with ownership where Client-B is the owner) would result in any changes made on the authority side during spawn would not be synchronized.

The solution was to add `NetworkObject.IsSpawnAuthority` (internal) that is only set on the spawn authority side (i.e. the side that generates the `CreateObjectMessage`).

* style - PVP

Removing single trailing whitespace from comment.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NetworkList with Owner write permission doesn't sync values set in OnNetworkSpawn

4 participants