godotengine/godot
Other modules
A condensed map of the remaining modules. Each is small enough that a paragraph captures the role; full source lives under modules/<name>/.
Format support — images and textures
| Module | Class added | Notes |
|---|---|---|
webp |
ImageLoaderWebP |
WebP decode/encode via libwebp |
svg |
ImageLoaderSVG |
SVG rasterization via thorvg |
jpg |
ImageLoaderJPG |
JPEG decode |
bmp |
ImageLoaderBMP |
BMP decode |
dds |
ImageLoaderDDS |
DirectDraw Surface compressed textures |
hdr |
ImageLoaderHDR |
Radiance HDR |
ktx |
ImageLoaderKTX |
Khronos Texture Format |
tga |
ImageLoaderTGA |
Truevision TGA |
tinyexr |
ImageLoaderTinyEXR |
OpenEXR decode (HDR floats) |
basis_universal |
Texture2D compressed via Basis Universal |
Universal GPU texture compression |
astcenc |
ASTC compressor | High-quality ASTC encoding |
betsy |
GPU compute texture compressor | Compresses BC1/BC3/BC4/BC5/BC7 on the GPU |
bcdec |
BC* decoder | Software fallback for BC compressed textures |
cvtt |
High-quality BC compressor | Microsoft Convection Texture Tools |
etcpak |
ETC/EAC compressor | Mobile-friendly compressed formats |
Format support — audio and video
| Module | Adds | Notes |
|---|---|---|
mp3 |
AudioStreamMP3 |
Decoder via minimp3 |
vorbis |
AudioStreamOggVorbis |
Ogg Vorbis decode |
ogg |
OGG container | Used by Vorbis + Theora |
theora |
VideoStreamTheora |
Theora video decode (VideoStreamPlayer back-end) |
interactive_music |
AudioStreamInteractive, AudioStreamSynchronized, AudioStreamPlaybackSynchronized |
Layered + clip-transition playback |
Networking
| Module | Class | Notes |
|---|---|---|
enet |
ENetConnection, ENetMultiplayerPeer, ENetPacketPeer |
Reliable + unreliable UDP transport |
websocket |
WebSocketPeer, WebSocketMultiplayerPeer |
WS / WSS via wslay |
webrtc |
WebRTCDataChannel, WebRTCPeerConnection, WebRTCMultiplayerPeer |
WebRTC peer-to-peer |
mbedtls |
TLS implementation under StreamPeerTLS, Crypto, HMACContext |
Built on Mbed TLS |
upnp |
UPNP |
UPnP device discovery / NAT traversal |
Scripting + tooling
| Module | Adds | Notes |
|---|---|---|
regex |
RegEx, RegExMatch |
PCRE2 |
jsonrpc |
JSONRPC server/client utilities |
Used by GDScript LSP + remote tools |
objectdb_profiler |
Editor profiler panel | Shows live Object instance counts (editor-only) |
accesskit |
AccessibilityServer integration |
Cross-platform accessibility tree via AccessKit |
Geometry / mesh tools
| Module | Adds | Notes |
|---|---|---|
meshoptimizer |
Mesh post-processing | Vertex/index optimization, LOD generation |
xatlas_unwrap |
UV atlas baker | Used by lightmap baking + texture atlas tools |
vhacd |
Convex decomposition | Splits a concave mesh into convex hulls (for collision) |
csg |
CSGShape3D family |
Constructive solid geometry — boolean operations between primitives |
gridmap |
GridMap node + MeshLibrary resource |
3D tile-based level building |
noise |
FastNoiseLite, NoiseTexture2D, NoiseTexture3D |
Procedural noise (Perlin, Simplex, Worley, Cellular) |
Rendering and shaders
| Module | Adds | Notes |
|---|---|---|
lightmapper_rd |
LightmapperRD |
Lightmap baking via RenderingDevice (GPU path tracing) |
glslang |
GLSL → SPIR-V | Wraps Khronos glslang (for runtime shader compile) |
raycast |
Raycast (Embree-backed) |
Used by lightmapper + nav baking + occlusion |
visual_shader |
VisualShader, VisualShaderNode* (~300+ subclasses) |
Visual shader editor backend |
Physics + navigation backends
| Module | Adds | Notes |
|---|---|---|
godot_physics_2d, godot_physics_3d |
Built-in physics backends | Default 2D, fallback 3D |
jolt_physics |
Jolt 3D backend | Recommended 3D engine — see Jolt Physics |
navigation_2d, navigation_3d |
NavigationServer backends | Recast + RVO2 |
Text servers
| Module | Adds | Notes |
|---|---|---|
text_server_adv |
TextServerAdvanced | Default — HarfBuzz + ICU + FreeType + msdfgen |
text_server_fb |
TextServerFallback | FreeType only, smaller binary |
XR
| Module | Adds | Notes |
|---|---|---|
openxr |
OpenXR runtime | Primary XR — see OpenXR |
mobile_vr |
MobileVRInterface |
Cardboard-style stereo |
webxr |
WebXRInterface |
Web platform only |
Library wrappers
| Module | Wraps | Why |
|---|---|---|
freetype |
FreeType library | Both text servers depend on it |
msdfgen |
msdfgen + msdf-atlas-gen | MSDF font generation |
mbedtls |
Mbed TLS | TLS for HTTP, websockets, file encryption |
zip |
minizip | Read + write zip archives |
mono |
hostfxr | C# scripting — see Mono / C# |
gdscript |
(in-tree) | See GDScript |
gltf |
(in-tree) | See glTF |
fbx |
converts FBX→glTF then reuses gltf | First-party FBX support |
How to add one
A typical module looks like:
modules/my_module/
├── config.py # describes options + can_build()
├── SCsub # adds sources to the build
├── register_types.{cpp,h} # registers classes with ClassDB
├── my_module.{cpp,h} # the implementation
└── doc_classes/MyModule.xml # class referenceThe build system picks it up automatically when module_my_module_enabled=yes (or simply when it appears under modules/). External modules are added via custom_modules=path/to/dir.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.