Hey everyone, I was hoping I could get some help with an issue we’re having retrieving the leaderboards from EOS. Based on the log file, it’s getting the records, however the game crashes every time the “Get EIK Leaderboards” query runs. From the log file it looks like it’s returning the two high score stat records we have, although the player name comes in as “Platform not supported”, which is weird, but that’s separate issue (although if anyone has any insight into that it would be greatly appreciated). It is updating stats though, so that’s working. Also login is working too, but may also be connected to the core issue.
It looks like it’s failing due to an issue with the product user ID (possibly logging in multiple times), although we’ve gone through the project and are pretty sure it’s not being called multiple times. I’ve highlighted the relevant part of the log file. The forum says I’m a new user so I can’t upload the full log but if someone needs it I’ll figure out a way a to get it to you.
Any help would amanzing, and if anyone can get this working I’d be willing to compensate you.
The crash on Get EIK Leaderboards while the records already come back is usually the widget reading a field that is null, not the query itself. “Platform not supported” on the player name is a separate EOS platform issue and will not by itself crash the query, so don’t treat that string as the root cause.
In the widget, make sure every array element is checked for Is Valid (or a null check on the entry) before you touch DisplayName, PlatformUserId, or the stat array. A common pattern is Get Leaderboard Entry from the query result, then Branch on Is Valid, and only then read the stat. If the query returns entries but the widget still crashes, it’s often because a stat name doesn’t exist on that entry and the node returns null.
Also confirm you are only calling Get EIK Leaderboards once per login. Multiple overlapping queries can leave the callback with a stale or partially built entry. If you already have a successful query result, log the stat name and the value with a string conversion before the widget touches it, and compare that with the stat names you actually created (high score vs a different key).
One more thing that shows up on packaged builds: the widget class referenced by the leaderboard UI is a different class than the one you edited, so a new property isn’t on the instance that gets spawned. Rebuild the widget, and if the crash is a null property access, the call stack should name the property. That property is the one to null-check. Login working and stats updating means the product user is fine; the crash is downstream of a successful query.