Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This version is no longer being developed but I'm keeping it around for reference and backwards-compatibility.

All future dev will happen here:


A toolkit for the procedural generation of geometric forms in Unity. The above image is from a VR piece I made using it called "Gossamer" that is currently exhibited in the Museum of Other Realities:

Getting Started

  1. Download or clone the repo.
  2. Open it via Unity Hub in an appropriate Unity version (same or slightly newer should be fine)
  3. Open any of the example scenes and have a play

Alternatively you can install just the necessary package using the Unity Package Manager and this url:

(See for more info )

Try it on the web

This is one possible UI that I started working on: Only a prototype but a quick way to get an intro into one possibly application of this toolkit. Keyboard controls listed onscreen Experimental and a bit buggy. Save often...

NOTE! - keyboard controls only in this particular web version. (It's keyboard only because it was a variation on a UI I created originally using MIDI devices which was a really nice tactile way to create - but difficult to share with people who didn't own the same MIDI controller as you - hence this version. There is a more conventional mouse+keyboard UI here: - but it's more clunky and less immediate )


Basic workflow is:

  1. Start by generating a base 3d shape
  2. Apply a Conway operator or similar modifier to some or all of the faces based on some rules
  3. Repeat
  4. Gasp in wonder at the beauty of your creation.
  • All (but one) Uniform Polyhedra using the Wythoff construction
  • Johnson(-esque) polyhedra - Prisms, pyramids, cupolae, rotundae
  • Most Conway operations are implemented and are parameterized and chainable. Can be applied to a subset of faces based on simple filters or complex rules
  • Regular tilings of the plane with various deformations
  • De Bruijn multigrids
  • A port of the Isohedral tilings from tactile.js


As far as possible I'd like to licence this under the MIT licence or similar but the code has a complex heritage.

Obviously the original work by Willem Wythoff and John Conway. And also countless other mathematicians who have formed a base for, contributed to and extended the work in this area. A special shout out to George Hart who is often co-credited with Conway due to the large amount of work he did exploring and extending Conway's original operators.

The actual Wythoff code was based on (which in turn is based on the work of Zvi Har’El: Zvi Har'El has sadly passed away. I've tried to contact all potential copyright holders to see if it's OK to make use of their work as a basis for this but I've had no luck in getting a response. Please get in touch if you're an interested party)

Conway operator code and the core halfedge mesh is based on work by Will Pearson @mcneel which can be found here:

Multigrids is ported from work by Wolthera van Hövell tot Westerflier for - they generously agreed that my version could be MIT licenced.

Portions of grids.cs is from Antiprism and is MIT but should be attributed to Adrian Rossiter and Roger Kaufman:

Isohedral tilings are from tactile.js Thanks to Craig Kaplan @TriggerLoop

Triangulation code is from

My original inspiration was 3DS Max's Hedra plugin which kept me entertained for quite a while nearly 2 decades ago. I think credit for that is due to Tom Hudson :-)



Creative geometry for Unity







No packages published