Chisel is an extension for Unity that allows for rapid, iterative, non destructive level editing!
- Click here for information on how to get started
- Want to help out? We have some good first issues here
- If you have questions be sure to ask in the discord! Click here for to join the official Discord server!
Notes:
- Chisel requires Unity 2021.2.0b4 or newer
- UX is still under development
- CSG algorithm is still under development
- It is not yet ready for production, but please feel free to try it out, or better yet, help out!
Features (incomplete)
- Constructive Solid Geometry Algorithm that generates geometry in real-time
- Add and remove geometry to your level using CSG allows for fluid, interactive, non destructive workflows
- Higher level "generators" that create more complicated geometry to perform CSG with, while retaining context of what it is you're creating (if you create stairs, these will remain stairs that you can edit and tweak)
- Hierarchical Constructive Solid Geometry, allows for generators and brushes to be act as if they're one whole (composite), to perform CSG on other objects with
- Works well with prefabs, drag and drop windows onto walls including their holes
- Draw 2D shapes (possible to turn straight lines into curves) on existing CSG surfaces and extrude them
- Precise snapping to surfaces, edges, vertices and grid lines
- Rotatable & movable grid
Planned Features (incomplete, and in random order):
- Debug Visualizations to see shadow only surfaces, collider surfaces etc. (partially implemented)
- Double sided surfaces
- Extrusion from existing surface
- Subtractive Workflow
- Clip Tool
- Normal smoothing
- Node Based Generators for easy procedural content generation
- 2D shape editor
- Hotspot mapping
- Sub-Models
- Trim Decals
- Grid Objects
Packages overview:
com.chisel.core
Low-level API and functionality (based on DOTS technology)com.chisel.editor
Unity Scene Editor functionality and API, tools and UIcom.chisel.components
Unity Monobehaviour runtime API (to allow for possible ECS replacement in future)com.scene.handles.extensions
Custom scene handle extensions
Extensions:
Known issues:
- There are some cases where triangulation fails
- There are some cases where overlapping surfaces create overlapping polygons
If you find any failure cases, if possible please provide us with a reproducible scene so we can more easily fix it!
The core technology is based on the algorithm explained in this GDC 2020 talk