When I do a GetCatalogItems (with the Unity SDK), in my result, the items that are set up to have a Real Money price have the RM value show up in the VirtualCurrencyPrices node and not the RealCurrencyPrices node.
When I do a GetCatalogItems (with the Unity SDK), in my result, the items that are set up to have a Real Money price have the RM value show up in the VirtualCurrencyPrices node and not the RealCurrencyPrices node.
That's correct. This is an artifact of how everything was set up originally in our system, with the "RealCurrencyPrices" being used to specify overrides for prices in foreign currencies. This does make it a bit confusing, but we've documented it in all the pages and posts concerning the catalog to try to help with this.
Oh, I see that explanation now in the docs for GetStoreItems, but not in GetCatalogItems, which is what I'm using. Is it a better practice to define a Store and use GetStoreItems than to call GetCatalogItems from the client?
Ah, I see that. We'll get the docs updated for that. Stores were added to provide a simple way for titles to manage sets of goods they want to display to specific groups of players or during events, so that you can have sales and the like. You can use either - we have titles doing each.
I now realize that I do want to use a Store in order to mask certain items from the user. There are catalog items I want only to bundle/award and not sell, and I don't want a user to be able to see everything in the catalog (not to mention conserve a little bandwidth).
Nevermind my last realization. Doesn't look like I can filter catalog products from the client that way since GetStoreItems doesn't include all the product info like Display Name, etc. And I don't see a way to access Store data via Cloud Script. So my next plan of attack is a Cloud Script that runs GetCatalogItems and filters them by certain hardcoded criteria (in my case, Item Class). This is perfectly acceptable in my current case, just thinking out loud here.
No one has followed this question yet.