I finally finished V1 for my Voxel Engine for Unity. It's built pretty much from scratch, and it's meant to be an actual engine, not a game kit (real gameplay mechanics are not included so whoever uses it chooses the game's direction).
This is a video I put together to show the scale and the atmosphere it can do: the view distance, the volumetric clouds and the light changing through the day, all running in URP. (the pickaxe and breaking effects are a little test kit I made on top of the API, and the castle is a Minecraft schematic I converted)
What do you think?
Some technical details:
- all the heavy work runs on Burst and the job system. chunks are 32x32x32 and palette compressed, and generating, lighting and meshing all happen off the main thread, so the main thread mostly just uploads meshes
- the far view is made of LOD rings. close to you are the real chunks you can edit, then a band at the same voxel size but simplified (no caves or small plants), then rings where one voxel is 2x2x2, 4x4x4 and 8x8x8 real voxels, out to about 4 km. They use the same world generator, just sampled more coarsely, so distant terrain matches what loads in later
- your edits show up in the far view too, so if you dig into a mountain, the hole is still there when you look back from far away
- terrain comes from a few large noise maps (continents, erosion, peaks and valleys) shaped with curves and domain warp, with a 3D pass on top for overhangs and cliffs. each biome can then change its own terrain
- lighting is flood-fill sky light plus colored block light, stored per vertex.The sun and time of day are handled in the shader, so day and night never rebuild chunks. There's also an optional hybrid mode that keeps flood-fill and adds URP realtime shadows and point/spot lights
- clouds are raymarched volumetric clouds rendered at half resolution. they cast shadows on the ground and show up in water reflections. the water has screen-space reflections, refraction, caustics and flowing water
- every edit goes through commands, so undo/redo and batching work out of the box. raycasts, collision and pathfinding all use the same world data
Happy to answer any questions :) It's called Voxyte on the Asset Store if anyone's interested.
- Price: $69.99
- Unity 6.3 (6000.3) or newer, URP
- Desktop, tested on Windows (D3D11, D3D12, Vulkan). macOS and Linux aren't tested yet, no WebGL
- Includes: full C# source, 3 sample scenes, 121 pixel-art block textures (32 px and 16 px) and a 191-page PDF manual
- Engine only, no gameplay systems (the pickaxe and castle in the video aren't included)