Open Brush Unity SDK
Using Open Brush with Unity
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 remove Audio Reactivity to fix errors related to "CSCore".
Getting the code
Download the latest version of the toolkit from: https://github.com/icosa-foundation/open-brush-toolkit/releases
The SDK comes in the form of a Unity Package. To import:
Open Unity
Create a project or open an existing one
Double click the downloaded .unitypackage file, or go to Assets > Import Package > Custom Package.
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:
Open Tilt Brush, load your sketch
Click the [...] icon in the settings area of your hand menu
Click the **Labs **icon
Hit Export in the floating window that pops up
To import a sketch into your scene:
Find the exported files:
On a PC or Mac look in Documents/Open Brush/Exports
If you created the sketch on a standalone Quest thenconnect it to your PC/Mac by following these instructions and then browse to the Quest in Explorer/Finder and look in Internal Shared Storage/Open Brush/Exports
Copy the .glb file into your Unity project
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:
The folder ThirdParty\CSCore
The folder ThirdParty\Reaktion
These files:
TiltBrush\Scripts\VisualizerManager
TiltBrush\Scripts\VisualizerAudioInput
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:
The v11 toolkit shaders support both sRGB (Gamma) and Linear color spaces. 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 fundamental differences between linear and gamma rendering, brushes may still not exactly replicate the look of their gamma counterparts.
Audio Reactivity
You can make the brushes wiggle to the audio in your scene:
Drag the** [Tilt Brush Audio Reactivity] prefab** into your scene
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
Import the Standard Assets “Effects” package (Assets menu / Import Package / Effects)
Internally, Open Brush uses a modified version of Sonic Ether bloom, which has been released as open source.
Last updated