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
- “[Worker0] Could not generate preview image“ error when opening macOS native plugin in the Inspector with Architecture to build for set to ARM 64-bit
- [iOS] Application.absoluteURL is empty on Awake/Start when opening via deep link with Splash Screen disabled
- Crash on MemoryManager::Deallocate when rapidly calling Addressables.LoadAssetAsync
- Crash on physx::shdfnd::atomicIncrement when adjusting values on a character controller component after entering Play mode in Prefab edit mode
- [Rendering Debugger] [NewInputSystem] Debug Overlays in Play mode throws InvalidOperationException when using New Input System
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/