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
