TerraBrush C# Based Terrain Add-On For Godot

One of the major missing features of the Godot game engine compared to it’s peers is the complete lack of a Terrain system. Thankfully there are several add-ons and extension to address this shortcoming. Today we are looking at TerraBrush, a heightmap based terrain system for Godot 4.x created using C#. These means you will have to use the C#/Mono version of the Godot game engine to run it.

Key Features of TerraBrush include:

  • Sculpt – Sculpt your terrain with a heightmap
    • Increase the terrain
    • Decrease the terrain
    • Smooth the terrain
    • Flattern the terrain
    • Set height (paint to a specific height)
  • Paint textures – Add colors to your terrain with the textures painting tool
    • Normal map and roughness texture are supported
  • Foliage – Add foliage to your terrain (ex. Grass)
    • The foliage follows the main camera with a given maximum distance
  • Packed scenes – Scatter packed scenes to the terrain
    • Multiple objects can be scattered with one brush
    • Random Y rotation is supported
    • The packed scenes will always follow the terrain
    • Live adjustment of the position while the terrain is sculpting
  • Water – Add water to your terrain
    • The water will make the terrain go lower for the painted area
    • The packed scenes and the foliage will also get lower with the water
    • Support for custom shader
  • Water flow – Paint the direction of the water
  • Snow – Add thick snow to your terrain
    • The texture of the snow is configurable so it’s easy to make something like sand
    • Support for custom shader
  • Multiple brushes
    • Custom brushes are also available
  • Pie menu
  • Shortcuts
    • The plugin has been made so it’s really easy to use. A lot of shortcuts are available.
      • LShift – Reverse the tool. Usually, this option will go from “Add” to “Remove”. For the sculpting option, this does the “Smooth” option.
      • V – Show the PieMenu for the current tool
      • B – Show the PieMenu for the current brush
      • N – Show the PieMenu for the current tool option (ex. While painting the textures, the PieMenu will show textures)
      • G – Show a quick select for the brush size
      • H – Show a quick select for the brush strength
      • K – Toggle “Auto add zones”
      • X – Lock on X axis
      • Z – Lock on Z axis
    • Shortcuts can be Re-Assigned. To Access them, Goto ‘Project->Tools->TerraBrush Key bindings‘ to access the keymap, and ability to re-assign keys.
  • Settings – Some settings are available in the “ProjectSettings->TerraBrush” (ex. The decal color)
  • LOD – The terrain is created using a custom clipmap mesh so less vertices are needed.
  • MultiZones – The terrain support creates multiple zones (or chunks or regions) to improve performances on bigger terrain. 
  • Heightmap based blending – Textures can be blended with heightmaps/bumpmaps with custom intensity.

TerraBrush is free and open source under the MIT license.

Key Links

TerraBrush on GitHub

Terrain3D (another Terrain System for Godot)

You can learn more about TerraBrush and see it in action in the video below.

Scroll to Top