Introducing SabreCSG Brush Tools for Unity

Hi everyone,

I’ve been working since December on a feature I’ve always wanted in Unity, the ability to build levels using Constructive Solid Geometry. Adding and subtracting shapes together to build complex levels. You can make some pretty decent block outs in Unity with the in built cubes, but I found it frustrating not being able to carve a doorway in a wall I just made or to resize blocks with handles rather than using scale factors. So over the last ten months I’ve been beavering away at building an entire level design toolset around the core concept of boolean spaces and SabreCSG is the result!

Check out SabreCSG at the Unity Asset Store

Core Features of SabreCSG:

  • Boolean CSG technology (BSP-like) that allows you to add and subtract brushes together, allowing you easily to create complicated geometry very rapidly!
  • Built geometry uses Unity meshes and mesh renderers, so it’s no different to work with than any other mesh. Geometry is batched by material to give you built in draw call minimisation.
  • Advanced resize tools allow you to resize brushes intuitively, rotate and translate them
  • Vertex tools let you go in and adjust individual vertices, to easily make ramps or flowing archways for example
  • A set of surface tools allow you to change materials on faces and edit UVs
  • Clip planes allow you to bevel brushes, cut chunks off them or even split a brush into two!
  • Supports procedural programatic offline building of levels through editor scripting
  • Import 3D meshes from art tools for use as convex brushes
  • Export built geometry to .OBJ for use in external 3D tools

Screenshots:

Pillar is an atmospheric exploration level built in SabreCSG that gives the sense of an ancient ruin abandoned in the desert.

In this image I’ve superimposed the brushes on the left (blue are additive, orange are subtractive) with the final geometry on the right

Pillar is a multiplayer FPS map, this shot shows off one of the interior corridors

A shot of part of the exterior:

Another composite image showing some of the brushes on the left and the final geometry on the right:

Building with CSG:

Here’s a quick example of how CSG let’s you build something really quickly (as an indication of time this only took me about 2 minutes to create):


I’ve built a floor, a couple of walls and a ramp out of a few simple additive shapes. Then I’ve added subtractive shapes to cut out an arched door and a path at the top of the ramp. This then produces the following geometry:

I’ve put together an entire site with tutorial content and reference material which you can visit at sabrecsg.com/learn

Please let me know if you have any questions, either through a reply or email me direct at barnaby@sabresaurus.com

Check out SabreCSG at the Unity Asset Store

2 Likes

I’m guessing you came from Unreal. :slight_smile:
I really never liked that building approach - though some awesome levels were created using the boolean/brush additive/subtraction process in U Tournament days.

The tool looks pretty sweet - for those who like this process.

Thanks! I’ve not had a chance to work with Unreal, my background for the last 4 years has been working in Unity, before that I worked with in-house engines mainly or self-written engines.

One of the perks of CSG is it enables a bunch of different workflows, in addition to building the entire level in CSG (which of course might not be right for you), it’s very rapid for prototyping out spaces, so even if you wanted to mesh over it later you could use CSG to get the space right then add meshes in as appropriate (either as a mix of meshes and CSG or as a complete replacement), or you can even just use CSG for the collision geometry.

1 Like

This looks very interesting. For those that don’t understand what CSG is see this:

This looks nice! But is there an scripting api? Runtime support? That would be great!
Cheers
Michael

In his FAQ he says there is scripting for offline support. I don’t know about during running during your game though. Are you planning to make an in game editor, or is it for destructible environments?
http://sabrecsg.com/faqs/

I am interested in this asset, but I’d like to know:
-can I control the tiling texture size like in Probuilder?
-are the subtractions destructive or do they work as a modifier?

Also, a bit off-topic, but I see the template of your website used a lot recently?
Care sharing how is it called and where can it be found/adquired? :smile:

1 Like

Yes. See the section 2. Applying Materials over here:
http://sabrecsg.com/learn/reference/brush-tools/

I just bought it recently and can tell you there is a list of brushes that produce a final mesh. You can change the order of the brushes at any time, which changes the mesh that’s produced.

If you want better answers, you might like to email him. From what he says on his assets store, that’s the way he prefers to be contacted.

This asset intrigues me. I suspect that the reason I haven’t bought it yet may be down to marketing - the available videos are detailed but they plod along. A short video that showed something cool being made very quickly, without explaining every part of the system as you go along, is what I’m missing.

As Ariegos said right now there’s support for editor scripting, but as soon as SabreCSG 1.2 is submitted we’ll start looking at run-time support in 1.3 to allow CSG to be used for destructible environments, in-game level editing and other things.

We’ll be releasing a beta for 1.3 in the next couple of weeks hopefully, right now you can download a beta of 1.2 at the SabreCSG Download Centre

Again thanks to Ariegos for answering this, SabreCSG allows you to change UVs and materials through it’s Face mode. This has been upgraded in 1.1 with new alignment tools, along with new adjacency selection helpers coming in 1.2

None of the CSG operations are destructive, meaning you’re free to reorder, duplicate and move whole chunks of level very rapidly without worrying about fixing up underlying meshes yourself, which is one of the big perks of CSG.

Thanks, I’ll record a couple of shorter new videos next week, one giving an overview of the asset and the other showing the new 1.2 features that are coming.

In case you’ve not seen it, this is the video showing the features that were introduced in 1.1:

https://www.youtube.com/watch?v=nLesMmLXPEk

We’ve just released a new update for SabreCSG - 1.2, full blog post is available here including a breakdown of changes with gifs showing most of them in action.

1 Like

I am very intrigued by this, but can anyone who has tried this compare this to Probuilder?

Any more info on runtime in 1.3?

thanks

1.3 has just been submitted and includes support for auto-rebuilding in the Editor (as well as a huge number of other improvements). From 1.2 to 1.3 the entire build engine has been rewritten, making a lot of new features possible that will be introduced over the next couple of releases. One of these new features will be support for using SabreCSG for CSG calculations at run-time in deployed builds and is the main feature coming in 1.4.

Most of the groundwork for run-time usage is now complete, the main thing for 1.4 is exposing a good API for programatic use and creating documentation and examples. There should be betas available in the next couple of weeks and aiming to submit 1.4 mid-April.

You can see the features in 1.3 and download the submitted build (if you have bought a license from the Asset Store) at the SabreCSG Download Centre. The 1.4 betas will also be available from the Download Centre soon.

If you’ve like to get emails when new betas become available please send me an email at barnaby@sabresaurus.com and I’ll add you to the distribution list.

excellent. Thanks very much for the info.

Tony

I bought it and like it so far but there are some oddities, for example, if I clone a brush, move it to the side of the old one so that their edges perfectly line up, then rotate and move it around a little and then rotate and move it back in the old position, the edges suddenly do not line up anymore and are off by a smaller distance than the grid snap setting. Is it me doing something wrong or an actual bug?

Also it would be really helpful to get a tutorial on creating a whole level, just like ProBuilder did, just to get a feel of how to approach level geometry efficiently with the brush philosophy.

I suspect what’s happening here is related to having a centre point of brush off grid, if you could post some screenshots or send me them in an email at barnaby@sabresaurus.com that would be great. If a brush does go off grid you can press Snap To Grid to bring it back. We’re also going to be introducing pivots for rotation which should help situations where the centre point is off grid and also make certain rotations quicker.

There’s a video recorded with an earlier version of SabreCSG of building an arena here:

We’re currently in the process of updating the tutorial videos, but all of what’s in the previous videos will still be transferable it’s just there may be easier ways to certain things subsequently introduced.


Our biggest new update is now out, there’s a full blog post detailing all the new features here

Check out SabreCSG on the Asset Store

I am really torn between knowing which is better: ProBuilder or SabreCSG. Both look good but for me, being a developer, it’s difficult for me to know which has the easiest and most efficient level creation approach and process…

Hi Steven,
I agree, picking the right tools for your workflow is really important. Personally I’ve always believed in building levels spatially (by representing spaces as brushes) and non-destructively, so that levels can be tweaked in small ways and huge ways without worrying about breaking/joining and fixing meshes manually. The main reason I created SabreCSG was as a games developer I was frustrated by the existing methods of level design in Unity and wanted to create tools to make it quicker and more natural to build levels in.

I recommend you check out the videos on our Youtube channel and also the reviews on our Asset Store page.

Please let me know if you have any questions, either by posting on here or sending me an email at barnaby@sabresaurus.com

Thanks,
Barnaby