Search Issue Tracker
Fixed in 5.4.2
Votes
3
Found in
5.3.3p1
Issue ID
774970
Regression
Yes
[SyncList] Callback called by SyncList value change still has old value inside Callback function
Steps to reproduce:
1. Open attached project
2. Open scene "test"
3. Run scene and host server
4. In console, notice Debug.Log printed by callback: OnListChanged value: 0
Expected result: Debug.Log: OnListChanged value: 1
Not reproducible: 5.2.4f1
Regression introduced in: 5.3.2p4
Reproduced with: 5.3.3p1, 5.4.0b8
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Lightmaps are baked incorrectly for GameObjects when their Position is <=-2048 or >=2048 on any of the coordinates
- Sahder errors in Player when "Strict shader variant matching" is enabled and the rendering path is set to "Deferred"
- NullReferenceExceptions are being thrown when saving a ScriptableObject with an array of a type with a CustomPropertyDrawer that uses TrackPropertyValue
- Applied velocity is inconsistent when using Rigidbody AddForce() with ForceMode.VelocityChange
- Crash on AudioUtil_CUSTOM_HasAudioCallback when exiting Play Mode while the Inspector is displaying a GameObject with an empty script attached
RikuTheFuffs
Sep 08, 2017 16:40
Looks like this bug came back in unity 5.6 and 2017...
Zullar
Jun 09, 2016 21:06
This is not really a bug as much as a design issue. The SyncList callback needs to somehow have access to both oldValue and newValue, but it doesn't... you only have access to the newValue.
I made a post here better explaining why this design issue will make SyncList unusable in some cases.
http://forum.unity3d.com/threads/synclist-behaviour-has-been-changed-in-5-3-2p4.387914/