We showcase a free Godot add-on to easily create terrain with CSG using paths.
Prototyping terrain in Godot often involves sculpting tools, mesh edits, or external workflows. CSG Terrain, created by SpockBauru, offers a different approach by generating terrain directly from Path3D curves using Godot’s CSG system. The tool focuses on simple, non-destructive prototyping and has recently been updated to version 1.1, which improves LightmapGI baking compatibility and optimizes how paint masks are generated.
Unlike brush-based systems, CSG Terrain shapes geometry by following paths. Developers place or duplicate Path3D nodes, adjust their parameters, and the terrain updates automatically. Terrains can then be baked into MeshInstance3D for LightmapGI or exported as glTF for refinement in external software such as Blender.
(CSG Terrain currently supports Godot 4.4 and later.)
Placing a CSGTerrain node automatically adds a Path3D at its center. The terrain follows the curve formed by the path points and updates as the path is edited. Developers can create additional Path3D nodes as children of the terrain to extend or modify regions.
Each path includes parameters such as:
- Width: how many vertices on each side of the curve are influenced
- Smoothness: curvature and falloff around the path
- Paint Width: how wide the texture is applied beneath the curve
- Paint Smoothness: blending strength for the path texture
The order of paths in the scene tree determines which effects apply first or overlap last, similar to canvas layering.
Large terrains with very high Divs are not recommended. Instead, multiple smaller terrains can be placed and synchronized when needed.
- TerraBrush: This tool is a C#-based terrain editor for Godot 4 that uses a heightmap workflow, offering sculpting, texture painting, foliage scattering, multi-zone terrain, and LOD clipmaps. It’s designed to feel like a traditional terrain tool, with brush-driven editing and large terrain support.
Differences: Compared to CSG Terrain’s CSG-and-Path workflow, TerraBrush focuses on classic heightmap sculpting and texture painting. It’s far better for artists who want brush-based control over large landscapes, while CSG Terrain excels at quick, non-destructive prototyping and shape-driven terrain creation.
- Terrain3D: This tool is a high-performance GDExtension terrain system for Godot 4, supporting sculpting, texture painting, up to 32 terrain layers, real LOD streaming, and massive terrain sizes ranging from small scenes to 65×65 km worlds. It’s aligned with production-ready environments and optimized runtime performance.
Differences: CSG Terrain is ideal for small to medium scenes or early prototyping, using CSG operations and curves to define shapes. Terrain3D, on the other hand, is built for large-scale production terrain with heavy optimization, multi-layer painting, and advanced LOD systems. It’s significantly more powerful but also heavier to set up.
- Better Terrain: Better Terrain is a tilemap terrain auto-tiling plugin for Godot 4 that improves 2D and 2.5D level design through rule-based tile transitions, multiple connection rules, and intuitive painting tools.
Differences: Unlike CSG Terrain, which generates full 3D terrain meshes, Better Terrain is focused entirely on tilemap workflows. It’s ideal for 2D/2.5D terrains and grid-based games, not for sculpted 3D landscapes. It complements CSG Terrain only if your project mixes 2D tilemaps with 3D environments.
✨
CSG Terrain is now available on
GitHub.
📘 Check out
The Godot Shaders Bible, a
complete guide to creating and optimizing shaders for
2D and
3D games, from basic functions and screen-space effects to advanced compute techniques.