Reusable in-scene 3D debug drawing for Godot 4.x.
DebugDraw3D submits transient draw commands each frame and renders wire shapes, dashed and normal-aware lines, joints, filled rects, and solid primitives with MultiMeshInstance3D nodes and shaders.
Features
- Lines, rays, arrows, axes, point collections, curves, and grids.
- Wire and solid rects, boxes, spheres, cones, cylinders, and capsules.
- Dashed lines, normal-aware fading, round/bevel/miter joints, and layer filtering.
- Screen-space line widths and configurable depth bias.
- Curated example scenes for every public shape family.
- No external runtime dependencies.
Installation
Copy addons/debug_draw/ into your Godot project:
res://addons/debug_draw/
No plugin activation is required. Instance res://addons/debug_draw/debug_draw_3d.tscn in a 3D scene.
@onready var debug_draw: DebugDraw3D = $DebugDraw3D
func _process(_delta: float) -> void:
debug_draw.draw_line(Vector3.ZERO, Vector3.RIGHT, Color.WHITE, 2.0)
Documentation
docs/getting-started.md: addDebugDraw3D, submit transient draw calls, and configure common node controls.docs/concepts.md: draw-call lifetime, world-space transforms, widths, layers, suffixes, dashes, normal-aware drawing, and joints.docs/api-reference.md: publicDebugDraw3DAPI grouped by lines, helpers, collections, grids, rects, and volumes.docs/examples.md: example-scene families, camera controls, shared conventions, and API coverage.docs/rendering-architecture.md: MultiMesh renderers, shaders, frame pipeline, sorting, depth bias, and constraints.
Examples
examples/ contains the API index and curated scenes for each supported shape family. Run the project to open examples/index.tscn.
Feedback
For feature requests or feedback, please open an issue on GitHub. Iâm unable to reply to requests posted in Godot Asset Store reviews. Thank you for your feedback!
License
MIT License. See LICENSE.
Changelog for version v1.1.0
No changelog provided for this version.