Randomly, we receive reports of data loss (verse persist) in our maps.
We believe we already cover all the possible scenarios to avoid data purge in the code logic, so it might be an issue with the persist itself or how the weak_map access works.
Please select what you are reporting on:
Verse
What Type of Bug are you experiencing?
Verse
Steps to Reproduce
Since this is very rare, and it never happens in the UEFN local session, we’re not sure how to reproduce
Expected Result
Never Purge Existent player verse persist data unless specified
Observed Result
In the public sessions, sometimes players report data purge
Platform(s)
All
Island Code
8039-8238-9814
Additional Notes
Once in a while we receive reports complaining about progress loss, Ill add some additional notes in the comment session
This is an example of report in our Pet Heroes Adventure map.
We are already used to see data loss reports in our Blade Ball map, and then for Pet Heroes Adventure we discussed in the verse community on discord some way to avoid it.
It was said that accessing the persist weak_map may fail to find the player sometimes or that the Player instance that spawns after joining the match is different from what it really is after a tick.
And the way they found that one way to avoid this, was to always make sure to load the player data only when the player moves, and not in the spawn event.
Thus, we made this solution which should be very safe for Pet Heroes Adventure:
The block on line 23 is the only part of the whole code where a clean data could be loaded for a player, which means that clean data should only be set for a player that is not found in the PlayerDataPersistMap, which means that if a purge is happening, its something not in our control that is causing it.