Setup Reference
Detailed configuration reference for Board SDK projects.
Looking for the quick path? See Quick Start to get running in 5 minutes.
Developer Access
The Board SDK and deployment tools are provided separately to developers in the program. If you don’t have access yet, request access here.
Once approved, you’ll receive:
- Board SDK - Unity package (.tgz) for touch input, session management, save games, and pause screen integration
- Board Developer Bridge (
bdb) - Command-line tool for deploying to Board hardware - Piece Set Models - Machine learning models (.tflite) for Piece recognition
Prerequisites
Before installing the SDK:
- Unity 2022.3 LTS or later (Unity 6 also supported)
- Android Build Support module installed via Unity Hub
- Unity Input System package (1.7.0+)
Windows Users: You may need to run Unity as Administrator for the first build if you encounter “SDK directory is not writable” errors.
Create a New Unity Project
If starting fresh:
- Open Unity Hub and click New Project
- Select a template (2D or 3D, both work with Board)
- Both the Built-in Render Pipeline and Universal Render Pipeline (URP) are supported.
Note: The High Definition Render Pipeline (HDRP) is not supported on Android and is not compatible with Board.
Install the SDK
Step 1: Open Package Manager
In Unity, select Window > Package Manager from the menu bar.
Step 2: Add Package from Tarball
Click the + button in the top-left of the Package Manager window and select Add package from tarball….
Step 3: Select the SDK Package
Navigate to your downloaded SDK file (the .tgz file you received) and click Open.
The package will install as “Board SDK” in your project.
Collaborative Projects: If you’re sharing your project via source control, consider storing the SDK tarball inside your project directory (but not inside the
Assetsfolder or Unity’s cache folders). This ensures collaborators can locate the package without needing the original download. This is general Unity best practice for any tarball-based package, not specific to the Board SDK.
Install Board Developer Bridge
Board Developer Bridge (bdb) is a command-line tool for deploying your builds to Board hardware.
Requirement:
bdbrequires Board OS 1.3.8 or later.
bdb is available for:
- macOS (universal binary - Intel and Apple Silicon)
- Linux (amd64)
- Windows (Windows 11)
macOS
- Download the
bdbbinary from your developer package - Move it to a directory in your PATH (e.g.,
/usr/local/bin) - Make it executable:
chmod +x /usr/local/bin/bdb - Verify installation by running
bdb help
Linux
- Download the
bdbbinary from your developer package - Move it to a directory in your PATH (e.g.,
/usr/local/bin) - Make it executable:
chmod +x /usr/local/bin/bdb - Verify installation by running
bdb help
Windows
- Download the
bdb.exebinary from your developer package - Add its directory to your system PATH, or place it in a directory already in PATH
Verify Installation
Open a terminal and run:
bdb help
You should see the bdb help output listing available commands.
Project Setup Wizard
The SDK includes a setup wizard that configures your Unity project automatically.
- Open Board > Configure Unity Project…
- Review the settings (all should be checked by default)
- Click Apply Selected Settings
The wizard configures platform settings, API levels, scripting backend, and Input System. Settings already configured correctly show [OK] and are skipped.
Note: Enabling the Input System requires an editor restart. The wizard will prompt you when this is needed.
Platform Settings Reference
The setup wizard configures these settings automatically. This section documents the required values for reference.
Android Platform
Board requires Android as the build target:
- Platform: Android
- Minimum API Level: Android 13.0 (API Level 33)
- Target API Level: Android 13.0 (API Level 33)
- Scripting Backend: IL2CPP
- Target Architectures: ARM64 (required; ARMv7/x86 optional)
Unity 6 Only: Application Entry Point must be set to Activity (not “Game Activity”).
Screen Orientation
Board is a landscape tabletop device. Apps must use Landscape Left orientation:
- Default Orientation: Landscape Left (required)
Important: Other orientations cause touch input to not register correctly. The build will fail if the default orientation is not set to Landscape Left.
Input System
Board requires Unity’s Input System package (version 1.7.0 or higher). The setup wizard enables this automatically.
To verify manually:
- Open Window > Package Manager
- Confirm Input System is installed
- In Edit > Project Settings > Player > Other Settings, verify Active Input Handling is set to Input System Package (New)
Board SDK Settings
The SDK uses two settings assets that are created automatically on first import.
Application ID (BoardGeneralSettings)
Your application needs a unique identifier for Board platform services including session management and save games.
The SDK automatically creates a BoardGeneralSettings asset with a generated UUID when first imported. To view or modify:
- Open Edit > Project Settings > Board > General Settings
- The Application ID is displayed
- Click Regenerate to generate a new UUID if needed
Important: The build will fail if the Application ID is empty. This ID identifies your application for player sessions and save game data. Changing the Application ID will make existing save games inaccessible.
Input Settings (BoardInputSettings)
The SDK automatically creates a BoardInputSettings asset at Assets/Board/Settings/BoardInputSettings.asset when first imported.
To view or modify:
- Open Edit > Project Settings > Board > Input Settings
- Configure the settings as needed
| Setting | Description |
|---|---|
| Piece Set Model | The model file (.tflite) used for Piece recognition |
| Translation Smoothing | Smoothing applied to Piece position changes (0–1) |
| Rotation Smoothing | Smoothing applied to Piece rotation changes (0–1) |
| Persistence | How long Pieces remain tracked after losing contact |
For detailed information on these parameters, see the Touch Input guide.
Piece Set Models
Piece Set Models are machine learning models (.tflite files) that enable the SDK to recognize specific Piece Sets. Each Piece Set (e.g., Board Arcade, Mushka) has its own model.
Downloading Models
You can download Piece Set Models directly from the Unity Editor:
- Open Edit > Project Settings > Board > Input Settings
- Click Load Available Models to fetch the list of available models
- Select a model from the dropdown
- Click Select to download and configure it
The model is downloaded to Assets/StreamingAssets/ and automatically configured in your active BoardInputSettings.
Tip: Models can also be downloaded manually from the Developer Portal. Place the
.tflitefile inAssets/StreamingAssets/and enter the filename in yourBoardInputSettings.
For using multiple input settings assets and switching between them at runtime, see Touch Input Guide: Multiple Input Settings.
Scene Setup
Using BoardUIInputModule
Board’s SDK blocks system-level touch events, so Unity’s standard InputSystemUIInputModule will not receive touch input on Board hardware. Add BoardUIInputModule to enable UI interaction.
Quick Setup: Use Board > Input > Add BoardUIInputModule to EventSystems to automatically add the module to all EventSystems in your open scenes.
Manual Setup:
- Find your EventSystem GameObject in the scene hierarchy
- Add a
BoardUIInputModulecomponent
BoardUIInputModule processes finger touches for UI while ignoring Piece contacts, preventing accidental button presses from Pieces.
Module Coexistence: {#ui-input}
Important: Unity’s EventSystem only uses one input module at a time—whichever initializes first. Having both
BoardUIInputModuleandInputSystemUIInputModuleenabled can cause unpredictable behavior.Recommendation: Use platform conditionals to enable the appropriate module:
void Awake() { #if UNITY_ANDROID && !UNITY_EDITOR GetComponent<BoardUIInputModule>().enabled = true; GetComponent<InputSystemUIInputModule>().enabled = false; #else GetComponent<BoardUIInputModule>().enabled = false; GetComponent<InputSystemUIInputModule>().enabled = true; #endif }This ensures
InputSystemUIInputModulehandles input in the Editor (mouse/keyboard) whileBoardUIInputModulehandles input on Board hardware.
Build Warning: The SDK warns during Android builds if any EventSystem is missing
BoardUIInputModule. This is a warning (not an error) because some projects add the module at runtime.
Initializing the SDK
The Board SDK initializes automatically when your app starts. No explicit initialization call is required for basic input functionality.
For session management and save games, see:
Build Validation
The SDK validates your project configuration when building for Android. Errors will fail the build; warnings are informational.
Errors (build fails):
- Missing Application ID
- Minimum API Level below 33
- ARM64 not enabled in Target Architectures
- Application Entry Point not set to Activity (Unity 6 only)
- Default Screen Orientation not set to Landscape Left
Warnings:
- Target API Level below 33
- Scripting Backend not set to IL2CPP
- Input System not enabled
- EventSystem missing
BoardUIInputModule - Both
BoardUIInputModuleand InputSystemUIInputModule enabled
Run Board > Configure Unity Project… to fix configuration issues.
Project Checklist
Before building, verify:
- Setup wizard run (Board > Configure Unity Project…)
- Application ID configured (auto-generated on import)
- Screen orientation set to Landscape Left
- Piece Set Model downloaded and configured
BoardUIInputModuleadded to EventSystems
Verify SDK Installation
To confirm the SDK installed correctly:
- Open Window > Package Manager
- Find “Board SDK” in the list of installed packages
- Check that the version matches what you downloaded
The SDK package includes:
- Runtime libraries for Board input, sessions, and save games
- Editor tools including the Simulator
- Sample scenes demonstrating SDK features
Next Steps
- Build & Deploy - Build your project and deploy to Board
- Sample Scene - See working examples
- Simulator - Test input without hardware