Open Brush Docs
  • Home
  • How to get Open Brush
  • Differences between Open Brush and Tilt Brush
  • User Guide
    • Get started with Open Brush
    • Painting with Open Brush
    • The Open Brush UI
      • Admin Panel
        • Settings Panel
        • Labs Panel
      • Tools Panel
        • Selection Options
        • Repaint Options
      • Brushes Panel
      • Extras Panel
        • Environment Panel
        • Lights Panel
        • Backdrop Panel
        • Guides Panel
        • Media Library
        • Camera Paths Panel
        • Snap Settings Panel
        • Transform Panel
        • Layers Panel
      • Experimental Panel
      • UI Differences Between Basic Mode and Advanced Mode
    • Grid and Angle Snapping
    • Repaint Tool and Jitter
    • Selection/Erase Filter
    • Lazy Input
    • Bimanual Input and Revolver
    • World Axis Unlock
    • Saving and sharing your Open Brush sketches
    • Troubleshooting issues with Open Brush
    • Check out Labs features
    • Importing Images, Videos and 3D Models
    • Experimental Mode
    • Make moving creations using audio reactive brushes
    • Using Reference Images on Oculus Quest
    • Remixing and Creative Commons
    • Accessing Autosave Files
    • The Open Brush config file
    • Exporting Open Brush sketches to other apps
      • Exporting to Unreal Engine 5
      • Exporting to Snapchat Lens Studio
      • Configuring Export
    • Plugins
      • Example Plugins
        • Example Pointer Plugins
        • Example Symmetry Plugins
        • Example Tool Plugins
        • Example Background Plugins
      • Writing Plugins
        • Getting Started
        • Tweaking existing plugins
        • Writing a Pointer Plugin
        • Writing a Symmetry Plugin
        • Writing a Tool Plugin
        • Writing a Background Plugin
        • Defining and Drawing Brush Strokes
      • Plugin API Scripting Reference
    • Open Brush Unity SDK
    • Open Brush API
      • Retrieving a preview image
      • API Commands List
    • Cameras and Exporting Video
    • Brushes
      • Brush List
      • Memory limits and brush costs
      • Experimental Brushes
      • Hiding Brushes with Brush Tags
    • Using Open Brush without a VR headset
    • Command Line Arguments
    • Tilt Brush Version 23 Release Notes
  • Get Involved!
    • How to help with Testing
  • Pre-release and Experimental Builds
    • Installing the Beta Release
    • "Experimental Mode" Builds
    • Feature: 3D Shapes Tool
    • Feature: Animation Timeline
    • Feature: Icosa Gallery Support
    • Feature: Brush Editing
    • Feature: Plugin Scripting
    • Feature: Sculpting
    • Combined Testing Build
    • Old or Completed Feature Builds
      • Feature: Polyhedra
      • Feature: Snip Tool
      • Feature: Layers
      • Insominx's (michael-g) Experimental Build
      • XR Framework Beta
      • Feature: Transform Panel and Snap Enhancements
      • Feature: Improved GLTF Importer
      • Feature: Multi-Mirror
      • Feature: New Monoscopic Mode
      • Feature: Improved Import/Export
      • Feature: Multiplayer
  • Case Studies
  • Other Resources
  • Developer Notes
    • UI Elements
    • Unity shader examples
    • Setting up CI for Open Brush using Github Actions
    • Open Brush File Format
    • Previous Github Wiki
      • Brushes
      • BuildingOpenBrush
      • BurstCompiler
      • Comparison
      • MonoscopicMode
      • PseudoCode
      • UserInterface
    • Differences between Standard and Experimental Mode
    • Open Brush AsCanvas Notes
    • Unity Versions
  • Release History
    • v2.10 Multiplayer
    • v2.9 (Maintenance)
    • v2.8 Import/Export
    • v2.7 (Maintenance)
    • v2.6 (Maintenance)
    • v2.5 (Maintenance)
    • v2.4 "Prismatic"
    • v2.2: Settings and Sketches
    • v2.1 Hotfix
    • 🚀v2.0: XR Update
    • v1.0: Happy Birthday to Us!
    • Current Beta Release Notes
  • Docs TODO
  • Contacting Us
Powered by GitBook
On this page
  • About
  • Requirements
  • Getting the code
  • Importing a sketch
  • Tips
  • Fixing CSCore errors (or other errors related to Audio Reactivity)
  • "My brushes look different to Open Brush" (Linear vs Gamma)
  • Audio Reactivity
  • Bloom
Edit on GitHub
Export as PDF
  1. User Guide

Open Brush Unity SDK

Using Open Brush with Unity

PreviousDefining and Drawing Brush StrokesNextOpen Brush API

Last updated 1 year ago

About

The Open Brush Unity SDK allows you to import your Open Brush sketches into Unity. The SDK includes:

  • All of Open Brush’s brush materials

  • An importer script that automatically assigns Open Brush materials to imported .glb files

  • Open Brush’s audio reactivity functionality that make brushes react to music

Requirements

The SDK has these requirements:

  • Your project must use Unity 2019.4 or higher

  • Macs running on Apple Silicon (i.e. M1 or M2) need to to fix errors related to "CSCore".

Getting the code

Download the latest version of the toolkit from:

The SDK comes in the form of a Unity Package. To import:

  1. Open Unity

  2. Create a project or open an existing one

  3. Double click the downloaded .unitypackage file, or go to Assets > Import Package > Custom Package.

  4. Import the package

Importing a sketch

To use a Tilt Brush sketch inside of Unity, you need to export it and copy the exported .gltf file into your project. You do _not _need any of the .png files that come with the export. The SDK will use its own, Tilt Brush materials instead.

The SDK will process .glb files on import and assign the correct materials.

To export a sketch:

  1. Open Tilt Brush, load your sketch

  2. Click the [...] icon in the settings area of your hand menu

  3. Click the **Labs **icon

  4. Hit Export in the floating window that pops up

To import a sketch into your scene:

  1. Find the exported files:

    1. On a PC or Mac look in Documents/Open Brush/Exports

  2. Copy the .glb file into your Unity project

  3. Drag the file from the Project window into the Hierarchy

Notes:

  • The Open Brush Unity SDK doesn’t load .tilt files.

  • You don’t need to copy the textures included with the .glb into your project

Tips

Fixing CSCore errors (or other errors related to Audio Reactivity)

At the moment the plugin used for Audio Reactivity doesn't work on some platforms. If you see errors related to "CSCore" or anything that looks audio related deleting the following files from your project:

  1. The folder ThirdParty\CSCore

  2. The folder ThirdParty\Reaktion

  3. These files:

    1. TiltBrush\Scripts\VisualizerManager

    2. TiltBrush\Scripts\VisualizerAudioInput

    3. TiltBrush\Scripts\Editor\VisualizerManagerEditor

"My brushes look different to Open Brush" (Linear vs Gamma)

For historical reasons Open Brush uses gamma mode for color blending. We may offer the option to switch to linear in the future but it will change the appearance of sketches so gamma will always be an option when the hardware allows it.

If your Unity project is set to linear mode (Projects > Player Settings) then imported sketches may look different. For example here's some smoke brush strokes in Open Brush:

And here's the same sketch in Unity set to linear mode:

Shader.EnableKeyword("TBT_LINEAR_TARGET");

Audio Reactivity

You can make the brushes wiggle to the audio in your scene:

  1. Drag the** [Tilt Brush Audio Reactivity] prefab** into your scene

  2. Add an audio source to your scene, if there’s none

If the brushes aren’t moving, you can select the prefab in Play mode to visualize the audio data the shaders are receiving:

Bloom

  1. Import the Standard Assets “Effects” package (Assets menu / Import Package / Effects)

If you created the sketch on a standalone Quest thenconnect it to your PC/Mac by following and then browse to the Quest in Explorer/Finder and look in Internal Shared Storage/Open Brush/Exports

The v11 toolkit shaders support both sRGB (Gamma) and Linear . The shaders are set to Gamma mode by default. If you wish to use Linear, add this call somewhere in your program.

Note: while this improves the colour accuracy, due to between linear and gamma rendering, brushes may still not exactly replicate the look of their gamma counterparts.

You can achieve_ an Open Brush look_ by adding Bloom, using Unity’s built-in shaders:

**Important: **Enable your camera’s HDR checkbox

Add the Bloom post-processing effect, these are recommended settings:

Internally, Open Brush uses a modified version of Sonic Ether bloom, which has been released as .

these instructions
color spaces
fundamental differences
open source
https://github.com/icosa-foundation/open-brush-toolkit/releases
remove Audio Reactivity