I am seeing that behavior when I call the GetRank API with the Overall scope. Essentially, I call GetLeaderboard to get a list of player names and score. When I got the list, I immediately call GetRank for the first player name of the list returned by GetLeaderboard. See code below.
GamingService.Instance.GetLeaderboard(GamingService.LeaderboardId, ls, playerName, NumberOfScoreToFetch, lb =>
{
Debug.Assert(lb.Success);
if (lb.Success && lb.Data.Scores.Count > 0)
{
string firstUserName = lb.Data.Scores[0].UserName;
GamingService.Instance.GetRank(GamingService.LeaderboardId, firstUserName, ls, rank =>
{
Debug.Assert(rank.Success);
for (int i = 0; i < lb.Data.Scores.Count; i++)
{
Debug.Assert(rank.Data != 0); <-- THIS FAIL
scoreData.Add(new ScoreData()
{
Rank = rank.Data + i,
PlayerName = lb.Data.Scores[i].UserName,
Points = lb.Data.Scores[i].Points,
});
}
callback(scoreData);
});
}
});