Import the SDK
1
Download the ZBD SDK
Reach out to your ZBD Customer Success Manager to get access to the Unity SDK package.
2
Import the .unitypackage
To import a package, right-click the assets folder in Unity Editor and choose
"Import Package...".3
Drag and drop the ZBDSDK into your scene
Navigate to the newly imported ZBD folder
Prefabs and drag and drop the ZBDSDK prefab into your scene.4
Adjust UI elements (Optional)
Due to your specific scene resolution settings and orientation you may need to resize/adjust the included UI elements. We will explain how to do this in more detail later in this documentation, but for now we are assuming the UI element has imported correctly.
Add your App ID
You should have received yourApp ID from your ZBD Customer Success Manager. You’ll need to set this in the ZBDController script which is attached to the ZBDSDK game object in the ZBDSDK prefab.

Initialize the SDK
Pass a
userId during initialization — your own internal identifier for the player. The SDK works without it, but it’s the key that joins your players to ZBD, so it’s required for analytics, user linking, and for raising withdrawal limits from MMP revenue data. See Increasing Limits with MMP Data. If you can’t supply it at Init, set it later with SetUserId.Initializing SDK without userId
You can also set the userId at any time after initialization by calling:
This will allow the user to start earning. To withdraw, they open the ZBD modal, where they see their balance and the cashout options configured for your app — gift cards, Cash App, ZBD, and others depending on their region. A linked ZBD account is only needed if they choose to cash out to ZBD; the other options don’t require one.Timing matters: present the modal when the player taps their rewards balance or a claim prompt — once there’s a balance worth claiming — never at cold launch or before they’ve earned anything. See the Player Communication Guide.
Handling Maintenance Mode
The ZBD platform may occasionally enter maintenance mode. When this happens, the SDK response will include amaintenance flag set to true. Check for this flag during initialization and respond based on the player: hide rewards UI entirely for players who haven’t started earning, and show a brief, ZBD-free message (e.g. “Rewards are temporarily unavailable”) for players who already have a balance. See Error Handling for the full guidance.
The Init response object contains the following fields:
maintenance is true:
- The SDK will not be fully operational
- Reward sending will be unavailable
- You should display a user-friendly message (e.g. “Rewards are temporarily unavailable. Please try again later.”)
- You should not treat this as an error — maintenance periods are temporary
maintenance flag:
Presenting SDK Modal
ShowModal() presents the ZBD modal, showing the player their balance and the cashout options configured for your app.
Users can view their balance and initiate a withdrawal from this modal. Cashing out to ZBD requires a linked ZBD account, and the modal guides the player through that if they pick it; other payout options don’t need one.
Detecting Modal Visibility
You may want to stop the gameplay or trigger some other event when the SDK modal becomes visible. You can detect when the modal is visible via 2 methods: Subscribe to theModalIsVisible event
IsModalVisible()
You can also call IsModalVisible() to check the status of the modal.