Using SIS in Oculus

  • Re: oculus store.

    I’m creating a VR app for the Oculus Rift in Unity ver. 2019.1.4f1 and purchased Simple IAP System (SIS). I wish to enable the user to pay real currency to play a bonus scene in my app through the Oculus IAP system during app play. In the Unity Asset Store, one of SIS’s listed features is “Virtual Reality sample scene for Oculus” and there is an image of an Oculus “Purchase confirmation” popup. However, I have not been able to implement SIS to effectuate Oculus purchases. Here are all the steps I’ve taken and the results:

    1. Before purchasing SIS I had set up a product in Oculus, e.g., by uploading a .tsv file with the product info.

    2. I imported and enabled Unity IAP (i.e., the In-App Purchasing service) in a Unity test project and get “OKs” in all three of the Unity IAP Status items in the SIS Plugin Setup.

    3. In the SIS Plugin Setup, under Unity IAP Activation, I set the Billing Platforms to Standalone and checked the Activate Unity IAP box. Under Store Plugin Setup I set Standalone to Oculus Rift and left everything else as the default. I then clicked Apply and after a few seconds Billing Platforms switched to Everything, the Activate Unity IAP box became unchecked, and the Store Plugin Setup became greyed out although the Standalone setting remained Oculus Rift.

    4. I ran the SIS VerticalVR demo scene (which I assume is the “Virtual Reality sample scene for Oculus”) in Unity, and when I clicked on the price button of one of the for-sale items I got a message in the Game window saying, “Billing is not available.” Also, there was a Console message saying, “Unity IAP is not initialized correctly! Please check your billing settings.” However, I could not determine how to modify the billing settings in Window/Simple IAP System, in Window/Unity IAP, or in In-App Purchasing in the Services tab. I have also not been able to find a solution in the SIS manual or in its online forum, including the Mar. 21, 2019 entry by Baroni here:

    I hope Baroni or someone else can provide guidance in resolving these issues so I can use SIS for my objective.

  • Hello,

    regarding 1., did you upload a build to the Oculus dashboard as well? I do not know if it is necessary, but my dashboard shows one build under "Alpha" in addition to one test user assigned to that release cycle.

    3.: Is normal: topic

    Please also check if you've added Oculus to the Unity platform settings. Under Player Settings > XR Settings "Virtual Reality Supported" should be enabled, and Oculus added to the SDK section.

    4.: The message just means that billing can't initialize - "check your billing settings" means checking your bundle identifier, Oculus dashboard and other related settings in this case. There is no "billing settings" tab or something like that.

    Please do not start the VerticalVR shop scene directly. As always, launch the AllSelection scene first (or your own first scene containing the IAPManager prefab). The manual says:

    Additional note: if “Virtual Reality Supported” is checked under Player Settings and you > are starting the app from the “AllSelection” scene, then the VR shop scene loads automatically.

    Do you see any other related warnings/errors when debugging?

  • I ran the AllSelection scene which in turn loaded the VerticalVR scene. I get the same “Billing is not available” Game window message and the same Console "check your billing settings" error message, which has a red flag, and which only appears when I click on the price button of one of the for-sale items. I can send you a screenshot of that if you provide an e-mail address. I get no other red-flagged Console error messages although there are several yellow-flagged messages such as "Unavailable product coins - coins", which appear before I press the price button.

    The Oculus SDK, etc., is set up in my Unity project.

    I have a project build in my Oculus Alpha Channel, but at this point it doesn't contain SIS, which I've been trying to use in a separate test project. I'll upload a build of the first project with SIS to the Alpha Channel in about a month. If I still can't get SIS to run I'll add a post to this forum thread. In the meantime, please let me know if you have any other suggestions.

  • You can link screenshots here, you just can't upload them to this forum. I know the error message, it is coming from Unity IAP > Simple IAP System meaning that billing could not initialize with your target platform i.e. the connection could not be made.

    It is difficult for me to remotely debug the exact cause, since I can't look into your Oculus nor Unity settings. I cannot access my Oculus Rift right now, but I am planning to create a guide (similar to the other store guides) within the next two weeks which will hopefully shed a light into the configuration and help you in finding the issue.

  • Excellent, thanks! I won't bother creating a link to a screen shot of the error message I get since you're already familiar with it, but let me know if you'd still like to see it. I look forward to the guide you'll prepare.

  • Hello again!

    I spent a lot of time creating a fresh app within Oculus and wrote everything down. You can find the guide here:

    Please let me know if you experience any issues following it, or if you think any information is missing.


  • Thanks so much, Baroni! I'll check your guide out this week and let you know how the process works on my end.

  • Thanks for your concise step-by-step guide. I followed the instructions carefully and among other things created a new test app in Oculus and used its App ID in my Unity test project. Also, in Unity in the SIS IAP Settings I deleted all demo products and created my own product. In Unity's OculusPlatformSettings I enabled Use Standalone Platform and entered my test user credentials. Here's what happened:

    1. When I use the IAP product ID from my Oculus account as the product Identifier in the SIS IAP Settings, play the test app in Unity, and try to purchase my product I get the same “Billing is not available.” message in the Game window and the same Console message I mentioned in my first post.

    2. When I use the IAP SKU from my Oculus account as the product Identifier in SIS IAP Settings, play the test app in Unity, and try to purchase my product I don't get the error messages, but I also don't see the Purchase Confirmation window you include a screenshot of in the guidance.

    Hopefully you can provide further guidance or clarification.

  • Honestly I do not have a clue, as I've found the process to be working when creating a new app.

    Regarding 1., I specifically left that part out (OculusPlatformSettings - Standalone Platform enabled) in the initial guide, since testing in the Unity editor for a specific platform was never that reliable (for Android and iOS it's not even possible at all). If you're having issues with the base workflow, I would recommend not testing in the editor, but getting the platform tools to work first. This means uploading a build, logging in with your test user in the Oculus app and downloading/starting your app from there.

    2: As I said in 1, the Unity editor cannot display a native purchase popup. You can check the debug messages of Unity IAP and Simple IAP System with "Development Build" enabled in the editor: if the products are received correctly, if the product price or product description in-game is updating to what you've set on the Oculus dashboard (which means the connection works and product data is fetched), but the initial testing needs to be done in VR.

  • Thanks for getting back to me, Baroni. I'll proceed to upload a build to Oculus to test further. Actually, I had already done that before my last post but for some reason couldn't replace it with an updated build in Oculus, which is why I used Unity Standalone Platform as previously described.

    I do have a simple question before I do further testing: Was I correct to use the IAP SKU from my Oculus account as the product Identifier in SIS IAP Settings, i.e., as opposed to using the IAP product ID from my Oculus account?

  • Correct. From the guide:

    Double check that the product identifier (called SKU in Oculus‘ template) match with what you’ve entered in the IAP Settings.

Log in to reply