Raymarching Toolkit for Unity

A Unity add-on for editing raymarched scenes live
from Kevin Watters and Fernando Ramallo

Raymarching is a way to render using solid shapes instead of polygons.

In raymarching, a scene is made out of a series of algorithms and mathematical operations.

With raymarching you can do amazing things, like blend objects together or repeat them infinitely.

Amazing demos and shadertoys use raymarching, but usually you need lots of shader know-how to work with this technique.

Raymarching Toolkit generates shaders for you and lets you create raymarched scenes in Unity without any shader programming and in realtime.

Raymarching Toolkit is a Unity add-on to create raymarched scenes, without coding.

Raymarching Toolkit is a set of Components for manipulating raymarched objects right inside the Unity Editor.

When you add these to your scene, a shader is automatically generated in the background based on your scene's hierarchy, and seamlessly rendered to your camera.

Setting up a scene is easy:

Add a Raymarched Object component, choose a shape and edit its parameters.

Add a Raymarched Blend component to join shapes together in interesting ways.

Add a Raymarched Modifier component to effectively bend space, and do things like mirroring and repeating.

Raymarching Toolkit is designed to be as seamless as possible and let you explore the possibilities of this new technology in a playful way.

Advanced users can also make their own shape functions and control the shader generation easily.

An editable snippet system lets you make your own signed distance function objects, modifiers and materials inside Unity.
Shader Templates allow you to override core functions of the generated shader and add your own techniques.

Features

Ready to Start
Dozens of ready-made objects primitives, blends and modifiers.
Lots of Examples
Fractals, terrain, a character editor, and more.
Scene View preview
Lets you fly through your scene.
Tweakable parameters
Ambient Occlusion, Fog, and settings to balance image quality and framerate.
Shared Depth
Raymarched objects coexist with regular geometry.
WebGL support
Runs on WebGL as well as standalone builds.
VR Support
High-end GPU required.

Raymarching opens up amazing possibilities

We made Raymarching Toolkit because we were struck by how beautiful and fascinating the possibilities are.

We are immensely inspired by the artists and programmers that share these techniques. We want to contribute by inspiring non-programmers to play with this type of rendering and see it applied in interactive applications.

Manipulating objects in completely different ways than traditional polygon-based scenes is really exciting and feels like unexplored territory in videogames.

We can’t wait to see what you create!

Limitations

Since raymarching is very perfomance-heavy, note that the Raymarching Toolkit requires a gaming-grade GPU, and the resulting framerate can be limited:

  • Complex scenes are perfomance-heavy and might cause slow-downs in the Unity Editor when adding or removing objects.
  • The scene’s structure remains static at runtime. Objects and parameters can be moved and changed, but can’t be added or deleted during Play mode.

Raymarching Toolkit includes several optimizations and settings to counteract the limitations. For more details, see Limitations.

Learn More

Download

Unity 2017+ is required.
Includes a Unity package with core components, renderer and examples.
See limitations.