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
      • 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
    • Multi Mirror
    • 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
  • Downloads
  • Contents
  • Unity and OpenXR
  • Passthrough (Quest)
  • Layers
  • Snip/Join strokes
  • Merged experimental support
  • Vive XR Elite and Pico
  • Advanced Camera Tools
  • New import options
  • Pressure sensitive strokes
  • Acknowledgements and Thank You!
Edit on GitHub
Export as PDF
  1. Release History

v2.0: XR Update

The Future of Open Brush is here, powered by OpenXR

Previousv2.1 HotfixNextv1.0: Happy Birthday to Us!

Last updated 1 year ago

Open Brush v2.0 is finally here! This update marks our second anniversary, and the end of a long year of work to upgrade the project to the latest and greatest in XR tech. Here's a quick sizzle reel of the new update!\

Downloads

Contents

Unity and OpenXR

The bulk of this year has been taken up with upgrading the Tilt Brush codebase to the latest version of Unity, utilising the new XR plugin framework. This was necessary to bring Open Brush to all the latest headsets and utilise the latest features, namely the OpenXR framework from Khronos. Our Desktop and Quest builds are now fully powered by OpenXR!

Additionally, it allows us to easily bring Open Brush to new platforms. Our in-progress Pico port required only a few lines of code to add basic support!

Passthrough (Quest)

Switching to the OpenXR backend means we can support some great OpenXR extensions. First up, the obvious target was Mixed Reality passthrough on Quest! It's a great feeling to be able to paint in your real world space, and augment your room. So much we can do with this going forward, including world anchors and a new occlusion brush!

Access this via the Environments button! Thanks to Mike for adding this feature.

Layers

Open Brush finally has layers support! This adds a new panel, which currently allows for 8 layers, including the main one. You can add, delete, clear, squash layers, and copy selected strokes to the currently selected layer.

We think this is a really powerful feature for larger sketches, as each component can be contained in a system larger than groups. It also works great to show or hide your drafting lines or reference material easily!

Snip/Join strokes

Two new tools have been added to the advanced tools panel, Snip and Join. This works exactly as you'd expect, allowing you to cut strokes in half via their control points, giving you very fine control over the shape of strokes.

Similarly, you can now knit different strokes together, which joins the start and end control points as if it was one stroke! This works really well with the hull brushes.\

Snip and Join are the beginning of a whole suite of control point editing tools, we've got some really cool ones in the works such as push and pull points! We can't wait to share more.

Merged experimental support

We've frequently heard from power users that we have too many builds floating around. They're not wrong! We've taken the decision to distribute experimental mode inside the main release, but we've hidden it behind a toggle that requires a restart, in settings.

Experimental means experimental! We won't be able to provide full support for users using this mode and the experimental brushes. Use at your own risk!

Vive XR Elite and Pico

As mentioned above, Unity XR framework allows us to bring Open Brush to new devices. We're pleased to say we're working on ports to Vive XR Elite and Pico devices! Look for more info in the coming months.

Advanced Camera Tools

We dug into some of the unused features of the Tilt Brush code and found a handy camera control panel! Access this by long-pressing on your camera button.

Options currently include changing the FOV, video smoothing on desktop, adding post-process effects (careful on Quest!), and removing the Open Brush watermark. This is a lot easier than manually editing the config file!

New import options

We have added support for a few new filetypes, including PLY point cloud data and WebM videos! You can add these via the media library, which is now accessible from the 'More Tools' panel.

We've also enabled the models panel for Quest, it's experimental right now, but enjoy!

This is just the beginning of our Import and Export pipeline upgrades, look for lots more file support and glTF upgrades in the coming months.

Pressure sensitive strokes

Finally, we've added support for pressure sensitive strokes. This is supported on a number of brushes, where the amount you pull the trigger will increase the thickness of your paint strokes, just like on your favourite 2D drawing tools! We're always looking for new ways to add more dimensions of expression to your creations.

Acknowledgements and Thank You!

Open Brush is nothing without it's strong community of artists, creators, developers, testers and donors. We've successfully navigated the perilous chasm of a major backend switch!

Thank you all for your amazing support throughout Open Brush's development this past year. A lot of this work has been background tooling to enable bigger and better features, securing Open Brush's continued development for many years to come.

We've had over 200,000 downloads across all currently supported platforms, and we hope it only grows from here. Thank you so much for keeping the spirit of Tilt Brush going!

Thank you all, and see you in the next update, hopefully in the next month!

Mike~

If you enjoy Open Brush, please leave a review on the store, it really helps us out!

The upgrade has also delivered a huge performance increase vs Tilt Brush and Open Brush v1.0. Highly complex sketches that previously ran at 5FPS are now hitting 50! Many thanks to and for their contributions to this huge upgrade, and for managing our ever-changing build pipelines! An extra special thank you to our power users in our for helping us debug all the small quirks of this switchover! Zandy AncientWorlds Mana 松田浩二

This mode works especially nice on the Quest Pro with full color passthrough. We're hoping to bring passthrough support to all platforms in the future, including Desktop via a lovely plugin by Rectus:

This also works really nice with exports, as hidden layers will not be included in the output files. We're hoping to do a lot more work that builds on our layers system, so look out for more soon! Thanks to and for their work on this feature.

Thanks again to for his work on this feature!

Thanks to for digging this out of the archives!

Open Brush is a free app. If you use Open Brush for commercial purposes and, we'd really appreciate it if you could contribute to development! You can find more info on our Open Collective:

Thanks to for adding these options!

Thanks to and for this!

Open Brush is primarily developed by a small team in their spare time. If you'd like to support our work financially, you can do so on our Open Collective: . Funds will go towards funding full-time development of Open Brush! Sharing our work really helps us, we're now available in many more places!

🚀
Steam
Quest
Viveport
Itch
SideQuest
Unity and OpenXR
Passthrough (Quest)
Layers
Snip/Join strokes
Merged experimental support
Vive XR Elite and Pico
Advanced camera tool
New import options
Pressure sensitive strokes
Acknowledgements and Thank You!
Bill
Mike
Mike
Discord
https://github.com/Rectus/openxr-steamvr-passthrough
Andy
Dan
Andy
Mike
https://opencollective.com/icosa
Andy
Dan
Andy
https://opencollective.com/icosa
Twitter
Discord
Instagram
TikTok
Mastodon
Reddit
YouTube
OpenXR Passthrough on Quest!
Layers support!