Is it a real-money shop? Like, I send you $1 and you give me 20 Gems kind of thing? In-app purchase, in other words?
If it’s that, then no, PlayerPrefs alone will be no good because the player will be financially incentivized to cheat (which is relatively easy). Plus in-app purchase always relies on a server; there is money-handling, the platform your on demands its cut, etc.
But if it’s strictly an in-game thing, like by grinding I collect 20 in-game coins with which I can purchase an in-game hat or whatever, then as @Ryiah says, don’t worry about it. Use PlayerPrefs because it’s nice and simple. If somebody wants to hack it, presumably they’re doing that to increase their enjoyment of your game, so what do you care?
In-app purchases. Real money is what I’m using. Thanks for clearing that up.
So would I use playerprefs for the high score, but then something else for the shop since it’s real money, correct?
If that’s the case, would I use for the shop? I heard of binary serialization (which I heard is dangerous…) and I have heard of JSON but what’s the recommended best practice?
@JoeStrout and @Ryiah , so Unity IAP will obviously handle the real money, but I still need the PlayFab server to store and save the coins correctly, Right?
And what about the inventory of said items to buy stuff with, is that also tied with PlayFab?
Should I also use a service like PlayFab for storing high scores, especially since I plan to have a leaderboard?