Raymarch Voxel Engine is a GPU-driven voxel rendering system for Unity URP. Instead of
meshing voxels into triangles, it stores voxel data in a 3D texture and marches rays through it per pixel, trading polygon count for pure fragment work.
Raymarch voxels in one paragraph
A raymarched voxel volume is a 3D texture where each texel is a voxel. For every screen pixel, a ray enters the volume's bounding box and steps through the texture using DDA (grid traversal) until it hits a non-empty voxel. That voxel's palette index looks up a material, and lighting runs from there. No mesh generation, no greedy meshing, no chunk remeshing on edit — writes are direct texture updates.
Key features
- GPU raymarching via a URP ScriptableRendererFeature (VoxelRaymarchFeature).
- DDA traversal with a macro-grid empty-space skipping structure for large sparse volumes.
- Voxel Cone Tracing GI (VCTGlobalIllumination) for diffuse indirect lighting and reflections.
- Volumetric lighting renderer feature with froxel-based accumulation.
- Real-time editing: add/remove/paint voxels at runtime with undo/redo history.
- Physics collision: per-chunk mesh colliders that rebuild only touched regions.
- Procedural generation: heightmap, 3D-noise, biome, and structure generators.
- Palette materials: 256-entry VoxelMaterialPalette with PBR + emissive fields.
- MagicaVoxel import: drop .vox files into the project.
- Optional volumetric explosions tied to the edit system.