B3 Unity SDK

Integrate your Unity games into basement with the B3 Unity SDK, which lets you easily access all of the launcher functionalities from within Unity as simple functions

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

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

Install to Unity Project

Follow the setup guide instructions on GitHub to install the SDK to your Unity Project.

Note

The GitHub repository contains detailed installation instructions and setup requirements.

Initialize the SDK

After installing the SDK and following the setup guide, you'll be able to easily call all the APIs as functions.

Check

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:

csharp
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:

csharp
// 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:

csharp
B3LauncherClient.SomeAPICall(requestData, (response) => { // Handle response Debug.Log("API call completed"); });

Modern async/await pattern for cleaner code:

csharp
public async void CallAPI() { var response = await B3LauncherClient.SomeAPICallAsync(requestData); // Handle response Debug.Log("API call completed"); }

Handle launcher events in WebGL builds:

csharp
// 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

Learn More
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

Info

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

Ask a question... ⌘I