Release Notes

  • Summary

    • NEW STORES: Facebook (Unity IAP), Oculus (Rift & GearVR), PayPal
        (via PlayFab). See the store guides on our forums for instructions.
    • added VR example scene (VerticalVR) for in-game purchasing on Oculus
    • PlayFab integration brings cloud sync support for online games:
        memory only mode, meaning no IAP data is stored on the device.
        This requires an active internet connection at all times!
    • added server side receipt validation using PlayFab: "lite" mode
        supports validation only (no other PlayFab features required)
    • added automatic tracking of consumable products in PlayerData
    • added usageCount for consumable products to define custom use count
    • added currency product type that adds the defined amount on purchase
    • added ShowDatabaseEditor for displaying currently stored player data
    • added possibility of "standalone" IAPItem without using shop prefabs:
        you can drag an IAPItem in the scene and give it a productId manually
    • rewrote shop item updating to be more performant, adding automatic
        shop updating e.g. for single-scene apps with shop in background
    • replaced downloadable RemoteConfig with PlayFab's item catalog:
        introduce product sales without app update, works on all platforms
    • replaced 'restore' product with separate button in each shop scene:
        there is a new 'Button - Restore' prefab and UIButtonRestore script
    • fixed ClearDatabaseEditor not working without entering runtime
    • fixed shop items duplicating with IAPManager & ShopManager in scene
    • renaming of some DBManager methods for consistency
    • restructure of billing plugins: all plugins are written on top of
        Unity IAP - therefore Unity IAP is now a required plugin. No more
        separate billing plugin packages to import, this is being handled
        with platform defines instead, allowing for several combinations
        of billing plugins on different platforms.
    • removed support for SmartLocalization as it has been abandoned
    • removed support for Prime31 billing plugins
    • minimum required Unity version: 5.6.x

    Upgrade notes:

    • Export your products in the IAP Settings Editor before upgrading. Re-check your currency products for the new currency type and also your platform overrides since their format has changed.
        Remove any custom code that can now be handled with the currency type (adding currency on purchase) and usage (adding PlayerData on purchase).

    Detailed release notes:

    • Restructure of our Plugin Setup window to make the installation process more easy. You do not need to import any other billing packages anymore. Instead, choose the store you would like to use per platform and the correct store defines will be added to your Scripting Define Symbols. You still have to uncheck our IAPListener script (if you did changes there) and IAPManager prefab when upgrading to keep your changes though!

    • We now fully support Facebook payments with Unity IAP, when selecting the Facebook build platform available on Unity 5.6 and above.

    • We've also added Oculus as a new store implementation, supporting in-app purchases in VR for both Rift and GearVR. The example scene VerticalVR has been added to showcase the implementation (when running the VR example you still have to start from the AllSelection scene, the VR scene is then loaded automatically). You can choose the Oculus platform in our new Plugin Setup window.

    • PayPal payments have been added to Standalone & WebGL build targets as a new store, available when integrating PlayFab (see below).

    • Adding PlayFab to your app brings support for player management, receipt validation on iOS & Android as well as cloud save. The implementation for PlayFab is not fully done yet, as the more advanced features will be implemented in two additional phases. Please see our seperate PlayFab integration guide for details on current limitations and supported features.

    • Removed our own remote config feature (for updating virtual IAP prices without requiring an app update) and replaced it with PlayFab's item catalog. This means when using PlayFab, and enabling "Fetch" for virtual products in the IAP Settings editor, the current price will get fetched directly from PlayFab's dashboard.

    • Simple IAP System now tracks consumable products automatically (in PlayerData). You can define the amount that should be granted when buying the product in the IAP Settings editor: a new variable, usage count, has been introduced there. For example, you could grant the player 3 "bullets" when purchasing the "bullets" product. You can then query the current amount of bullets like usual, via DBManager.GetPlayerData("bullets").AsInt. Make sure to remove your custom code granting these things to avoid duplicates. This works for both virtual and real-money consumables. If the usage count is set to 0, it is assumed that the product gets consumed immediately, so in that case the usage is not tracked.

    • Currency is now added automatically when purchasing a product of type "Currency". You can define the amount of currency that should be added in the Cost/Earnings field in the IAP Settings editor. Make sure to remove your custom code granting these things to avoid duplicates.

    • Show Database editor added under Window > Simple IAP System > Show Database. In order to support the features above, the internal database format has changed for in app purchase entries from booleans (i.e. no_ads = true) to integer counts (no_ads = 1). Your data will be upgraded to the new format automatically. Player data is not affected.

    • IAPItem prefabs can now also be standalone items in the scene, not instantiated by a ShopManager. For this reason, the product id on the IAPItem component was exposed - drag your IAPItem prefab in the scene and overwrite the product id (do not do this on the prefab!). The ShopManager prefab still needs to be in the scene though, for updating the IAPItem with the correct purchase state. Standalone IAPItems can be useful in very customized UIs, or if you only need one or two of them placed manually. Fetching and displaying localized details on the IAPItem works like it would have been instantiated as usual.

    • A restore product is no longer needed - please remove it in your IAP Settings editor. Instead, we've added the UIButtonRestore script, that can be added to any UI button in the scene. This script automatically disables itself on non-supported platforms, i.e. where restoring transactions is not necessary. The restore button has also been added to all sample scenes for you to check out.

    • added VRGraphicRaycaster script for fixing Unity VR UI raycasting
    • added isPurchased method to DBManager for backwards compatibility
    • fixed ReceiptValidatorClient script throwing errors without tangles
        (added comment blocks again, which you have to remove before using it)

    • Unity 2017.2+ compatibility (incorporated namespace changes)

    • added support for Steam game IAPs: see the guide on our forums
    • added shop message when trying to purchase but billing init failed
    • removed support for Tizen since Unity stopped supporting it

  • v4.2

    • added native Steam IAP support via Steam Inventory Service
    • readded OculusStore class (went missing in previous version)
    • added group collapse/expand in IAP Settings editor for performance
    • added product foldout coloring if there are platform overrides for it
    • added ShopManager.RefreshGroup convenience method for more control
    • fixed NRE when getting items from PlayFab without VirtualCurrencyPrice

  • v4.3

    • added functionality for option "Validation Only" when using PayPal
    • added Unity IAP Status checks in Plugin Setup window
    • added SIS_IAP defines for using Unity IAP on specific platforms only
    • updated Getting Started section in documentation
    • fixed double PlayFab login call when running on non-mobile platforms
    • Unity 2019.1+ compatibility
    • minimum required Unity version: 2017.3.0

    Upgrade notes: make sure to run the Plugin Setup again.

  • v4.3.1

    • added checkbox on the IAPManager to allow for manual initialization
    • added fetching product data and price from PlayFab on PayPal & Steam
    • fixed missing API error on PlayFab's JSONWrapper replacement
    • fixed granting currency locally too when using PlayFab Bundles
    • fixed PayPal internal order ID could go lost when switching scenes
    • fixed ignoring Unity IAP fake data on shop items when in test mode

  • v4.3.2

    • added button to log in with device ID to UserLogin scene as a sample
    • fixed critical bug on PlayFab not granting items introduced in 4.3.1

  • v4.3.3

    • fixed switching currencies in IAPEditor settings window
    • fixed local receipt validation skipping over receipts when first receipt is empty
    • fixed local receipt validation simulating test mode when running in editor
    • fixed JSON exporter for PlayFab not parsing real money decimals correctly

  • v4.3.4

    • added initializedEvent to the IAPManager, invoked after Unity IAP initialized
    • removed Facebook build target options since it was removed in Unity 2019.3
    • removed OnEnable/Disable in IAPListener. IAPManager will now initialize it
    • fixed a deprecated AppStore call (renamed) in ReceiptValidatorService
    • minimum required Unity version: 2017.4.16

Log in to reply