Verse Persist | Random Player Data Purge

Summary

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

Report data purge

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.

The status of FORT-793167 incident has been moved from ‘In Progress’ to ‘To Do’.

We have the same problem in 1346-0343-9599 too.

What data type do you persist? If array: Verse persistable data is not saved between games