/Chisel.Prototype

Work in progress prototype for the Chisel Level Editor, for Unity

Primary LanguageC#MIT LicenseMIT

Chisel is an extension for Unity that allows for rapid, iterative, non destructive level editing!

Example


Notes:

  • Chisel requires Unity 2022.1.0b5 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):

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 UI
  • com.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:

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

GDC Video