Skip to main content

DigHoleIt documentation

Documentation version: 0.6.1 · Release notes

DigHoleIt turns part of a Unity Terrain into diggable voxel terrain. You place a Dig Zone over the terrain and bake it. Players can then dig holes, tunnels and caves, add soil back, and paint terrain layers onto the voxel surface. In VRChat, every edit syncs to all players, including late joiners.

What's new in 0.6.1​

  • Undo and redo now restore chunk objects and meshes correctly after baking, resizing, moving, or creating a chunk through sculpting.
  • Hole Overlap extends the zone surface 0.1 m under the terrain edge by default, closing visible seams as terrain detail changes with distance.
  • Grass inside zones now matches the terrain's healthy/dry colours, darker roots, wind tint and wind phase; terrain-layer Diffuse Remap is only used with terrain shaders that support it.
  • Zero-area triangles at the hole edge are removed before collision meshes are built.

DigHoleIt terrain and dig zone

Dug pitTunnel through terrain
A dug pit in a Unity TerrainA voxel tunnel through a Unity Terrain
PageWhat it covers
Getting startedInstalling the package, the included example scenes, and setting up a zone on your own terrain
Dig ZonesZone settings, baking, zone height, trees and details, moving and resizing, terrain holes, following terrain edits, terrain layers and baked lighting
Editor brushesSculpting and painting zones in the editor
VRChat runtimeDigZoneRuntime, DigTool and DigSync (UdonSharp)
Standalone runtimeDigZoneRuntimeStandalone and DigToolStandalone (plain C#), with saves and multiplayer
How it worksGrid format and compression, edit packing, meshing, shading, lighting and networking
Performance and limitsRecommended settings for PC and Quest, memory use, and known limits
TroubleshootingCommon problems and how to fix them

Which runtime do I get?​

The package detects the project type:

  • VRChat project (the VRChat SDK defines VRC_SDK_VRCSDK3): only the UdonSharp runtime (Runtime/Udon, Editor/Udon) compiles. The standalone runtime and its demo menu are hidden.
  • Any other project: only the standalone runtime (Runtime/Standalone) compiles.
  • To keep the standalone runtime in a VRChat project, add DIGHOLEIT_STANDALONE under Project Settings > Player > Scripting Define Symbols.

The authoring side (DigZone, the baker, the brushes) and the shared mesher and brush code (Runtime/Core, Runtime/Shared) are always compiled.

Package layout​

Runtime/Core DigZone (authoring, editor only in builds), DigZoneData, ChunkMesher, DigChunkPacker, DigRleEncoder
Runtime/Shared DigBrush, DigFormat, DigFoliage, DigRle, SurfaceNets: compiled into both Udon and C#
Runtime/Udon DigZoneRuntime, DigTool, DigSync (VRChat only)
Runtime/Standalone DigZoneRuntimeStandalone, DigToolStandalone (non-VRChat only)
Editor Baker, trees and details (DigFoliageBaker, DigFoliageSync), inspectors, handles, brushes, terrain tools, terrain sync
Editor/Udon Bridge that copies baked data into the Udon runtime, Udon inspectors, VRChat demo builder
Shaders DigHoleIt/DigTerrain (Standard), DigHoleIt/DigTerrain Lite (Quest), DigHoleIt/DigDetail (terrain details in zones)
Tests/Editor EditMode tests
Example VRChat demo, standalone demo and showcase scenes, each with its own terrain, zone data and materials

Source and support​

DigHoleIt is made by LogicCuteGuy. Source, releases and issues: github.com/LogicCuteGuy/DigHoleIt.