Skip to main content

Features

The B3 Unity SDK provides comprehensive integration capabilities for Unity developers:

Session Management

The SDK automatically and seamlessly handles user authentication.

APIs as Functions

Use all of the launcher APIs easily with support for both callback based AND async/await based calls.

Webhooks for WebGL

Handles launcher client webhooks, and parses and propagates them to your own C# Code.

Installation and Usage

1

Download the SDK

Head over to the GitHub repository and download the latest release.

Get the Unity SDK

Access the official B3 Unity SDK repository with installation instructions
2

Install to Unity Project

Follow the setup guide instructions on GitHub to install the SDK to your Unity Project.
The GitHub repository contains detailed installation instructions and setup requirements.
3

Initialize the SDK

After installing the SDK and following the setup guide, you’ll be able to easily call all the APIs as functions.
Your Unity project is now ready to integrate with the B3 launcher!

Code Examples

Trigger Rules Engine

Here’s an example of how to trigger the rules engine from within your Unity game:
Unity C# Example
B3LauncherClient.TriggerRulesEngine(new B3LauncherClient.TriggerRulesEngineBody
{
    launcherJwt = B3Instance.Instance.SessionJWT ?? jwtInput.text,
    trigger = "open-tip-modal",
    otherWallet = otherWalletInput.text,
}, null);

Session Management

The SDK automatically handles user sessions:
Session Example
// Access the current session JWT
string sessionToken = B3Instance.Instance.SessionJWT;

// Check if user is authenticated
if (B3Instance.Instance.IsAuthenticated)
{
    // User is logged in and ready to interact with B3 services
    Debug.Log("User authenticated successfully");
}

API Integration

The Unity SDK provides seamless access to all B3 launcher APIs:
Traditional callback pattern for handling API responses:
B3LauncherClient.SomeAPICall(requestData, (response) => {
    // Handle response
    Debug.Log("API call completed");
});
Modern async/await pattern for cleaner code:
public async void CallAPI()
{
    var response = await B3LauncherClient.SomeAPICallAsync(requestData);
    // Handle response
    Debug.Log("API call completed");
}
Handle launcher events in WebGL builds:
// Register webhook handlers
B3Instance.Instance.OnWebhookReceived += HandleWebhook;

private void HandleWebhook(WebhookData data)
{
    // Process incoming webhook data
    Debug.Log($"Received webhook: {data.type}");
}

Next Steps

Game Launcher Guide

Learn how to integrate with the BSMNT game launcher

BSMNT API Docs

Complete API documentation for all available endpoints

Unity Documentation

Official Unity documentation and resources

Example Projects

Sample Unity projects using the B3 SDK

Support

For technical support, bug reports, or feature requests, please visit the GitHub repository or reach out to our developer community.

Get Unity SDK Support

Report issues or get help from the developer community