Skip to content

Latest commit

 

History

101 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chisel — real-time CSG level editor for Unity

Unity 6.6+ Universal Render Pipeline MIT license Status: work in progress GitHub stars Join the Discord

Installation · Getting started · Wiki · Roadmap · Extensions · GDC talk · Discord

Warning: Chisel is a work in progress and not yet ready for production. The UX and the CSG algorithm are still under development.

Chisel in the Unity editor

About

Chisel is a Unity extension for rapid, iterative, non-destructive level editing. Block out a level with brushes, carve it with subtractive shapes, refine it with generators and texture it with hotspots and decals — every operation stays live, so nothing is baked until you want it to be.

Every feature is documented in the wiki.

Features

Surfaces & texturing

Hotspot mapping
UVs come from the best-matching tile of a layout. Layout editor included.
Decals
Project a material over or in place of surfaces. Omni-directional, skewed, with fade distances.
Trim decals
Decals that wrap the edge between two surfaces and follow it as brushes change.
Vertex painting
Paint directly onto CSG surfaces.
Double-sided surfaces
A material can draw its surfaces from behind too.
Normal smoothing
Smooth shading across CSG surfaces.

Building geometry

Real-time CSG
Exact geometry, generated in real time, without cracks where shapes meet.
Add, remove, intersect
Fluid, interactive, non-destructive CSG operations.
Generators
Higher-level shapes keep their context: stairs stay editable as stairs.
Hierarchical CSG
Grouped brushes and generators act as one whole.
Brush contents
Solid, glass or water. Faces stay where different contents meet.
Subtractive workflow
Start from solid space and carve rooms out of it.

Editing

Prefabs
Drop a window onto a wall and its hole comes with it.
2D shapes
Draw on CSG surfaces, bend lines into curves, extrude.
Forgiving brushes
Brushes stay visible and editable while their shape is invalid.
Snapping
Snap the pivot or bounds of what you move to grid lines.
Rotatable grid
Move and rotate the grid to work at any angle.
Debug visualizations
See hidden, shadow-only, collider and CSG-discarded surfaces.

Output

Ordinary Unity meshes and colliders that work with light-mapping, occlusion culling and navigation meshes — split into a mesh per material and into spatial chunks.

Getting started

Requires Unity 6.6 or newer and the Universal Render Pipeline (URP).

  1. Open Window › Package Manager
  2. Click + and choose Install package from git URL…
  3. Paste the URL below and press Enter.
https://github.com/RadicalCSG/com.chisel.git

The first start-up takes a while: Burst compiles a lot of code. This only happens once.

Read the getting started guide →

Extensions

Extension Repository
Source Engine 2006 map importer Henry00IS/Chisel.Import.Source
↳ Decals on models that aren't Chisel geometry Henry00IS/Chisel.Decals
↳ VPK import support for the importer nukeandbeans/com.chisel.import.source.vpktools
Quake 1 importer Quixotic7/Chisel.Import.Quake1

How it works

The core algorithm is explained in the GDC 2020 talk Geometry in Milliseconds: Real-Time Constructive Solid Geometry.

Geometry in Milliseconds: Real-Time Constructive Solid Geometry — GDC 2020

Community

Reporting problems

Found a case where Chisel fails? Open an issue — a scene that reproduces it helps a lot.

License

Chisel is released under the MIT license.

Sponsor this project

Packages

Contributors

Languages