public static Promise <Player> GetPlayer() { var promise = new Promise <Player>(); var request = new GetPlayerCombinedInfoRequest(); var requestParams = new GetPlayerCombinedInfoRequestParams { GetPlayerStatistics = true, GetUserData = true, GetUserInventory = true, GetUserVirtualCurrency = true }; request.InfoRequestParameters = requestParams; PlayFabClientAPI.GetPlayerCombinedInfo(request, (result) => { try { Player player = new Player(); List <Currency> currencies = CurrencyService.CurrenciesFromDictionary(result.InfoResultPayload.UserVirtualCurrency); if (currencies != null) { player.SetCurrencies(currencies); } List <Statistic> statistics = StatisticService.StatisticsFromList(result.InfoResultPayload.PlayerStatistics); if (statistics != null) { player.SetStatistics(statistics); } Inventory inventory = ItemService.InventoryFromItemInstanceList(result.InfoResultPayload.UserInventory); if (inventory != null) { player.SetInventory(inventory); } PlayerData playerData = DataService.PlayerDataFromDictionary(result.InfoResultPayload.UserData); if (playerData != null) { player.SetData(playerData); } GetPlayerSuccessBallback(result); promise.Resolve(player); } catch (Exception ex) { promise.Reject(ex); } }, ErrorCallback); return(promise); }