# Godot build options generator

Last updated for Godot 4.2.x . This generator may work with other Godot versions, but certain options may not have an effect.

This tool generates SCons custom option files to build smaller export templates. After downloading a `custom.py` file, place it at the root of your Godot source repository and compile export templates for the platforms you need. Once this is done, you'll only have to specify the `platform=<platform> target=release` options on the SCons command line. See Optimizing a build for size in the Godot documentation for more information.

Note: Since this tool is dedicated to building smaller export templates, it doesn't list modules that are only compiled in editor builds.

## Select options and modules

Extra suffix Changes the "custom_build" suffix. Useful for adding your "game_title" to a build. Production Set defaults to build Godot for use in production. Disable 3D Disable 3D nodes for a smaller binary. Optimize for size Optimize the compiled binary for size instead of speed. Enable double-precision floats Increase precision for large-scale worlds. This has a performance impact and requires GDExtensions specifically compiled for it (i.e. Disable advanced GUI Disable advanced GUI nodes and behaviors such as Tree and GraphEdit. Enable deprecated features Disabling deprecated features can make the binary slightly smaller. Enable Minizip Required to use the ZIPReader and ZIPWriter classes. Also required to run projects that use data packed in a ZIP archive instead of a PCK. Enable Brotli Required to use Brotli (de)compression. Also required to use fonts in the WOFF2 format. Enable Vulkan Required to use the Forward+ and Mobile rendering methods with Vulkan. Enable OpenGL Required to use the Compatibility rendering method with OpenGL 3.3/OpenGL ES 3.0/WebGL 2.0. Enable module: Basis Universal Required to load textures imported as Basis Universal. Enable module: BMP Required to load BMP images. Enable module: Camera Required for webcam support (unrelated to the Camera2D/Camera3D nodes). Enable module: CSG Required to use Constructive Solid Geometry nodes. Enable module: DDS Required to load DirectDraw Surface images. Enable module: ENet Required to use NetworkedMultiplayerENet and NetworkedMultiplayerPeer. Enable module: FreeType Required to render DynamicFonts. Bitmap fonts can still be used without FreeType. Enable module: GDScript Required to run scripts written in GDScript. Enable module: GLTF Required to load non-imported 3D scenes in the glTF format. Enable module: GridMap Required to use GridMap nodes. Enable module: HDR Required to load Radiance HDR images. Enable module: JPG Required to load JPEG images. Enable module: JSON-RPC Required to use the JSONRPC class. Enable module: KTX Required to load Khronos KTX images. Enable module: mbedTLS Required to make secure requests with HTTPClient, HTTPRequest and WebSocket classes. Enable module: meshoptimizer Required for optimized SurfaceTool usage, including automatic LOD generation. Enable module: minimp3 Required to play back MP3 sounds in AudioStreamPlayer. Enable module: Mobile VR Required to use VR on Android and iOS. Enable module: Mono Required to run scripts written in C#. (Godot uses .NET in 4.x, despite the option name mentioning Mono.) Enable module: MSDFGen Required to use Multichannel Signed Distance Fields on fonts. Enable module: Multiplayer Required to use the multiplayer replication system (RPCs). Enable module: Navigation Required to use NavigationServer. Enable module: Noise Required to use Noise, FastNoiseLite and NoiseTextures that rely on it. Enable module: OGG Required by `vorbis` for Ogg Vorbis audio playback. See also `stb_vorbis`. Enable module: OpenXR Required to use virtual reality and augmented reality with OpenXR. Enable module: Raycast Required to use occlusion culling. (This option is disabled by default in web exports to reduce binary size.) Enable module: RegEx Required to parse regular expressions with the RegEx class. Enable module: Squish Required to decompress images compressed with Squish (including S3TC VRAM compression). Enable module: SVG Required to load non-imported SVG images. Enable module: Text Server Advanced Required to use TextServerAdvanced, which is the default TextServer. Supports right-to-left typesetting and complex scripts. Enable module: Text Server Fallback Required to use TextServerFallback. Does not support right-to-left typesetting or complex scripts. Enable module: TGA Required to load TrueVision Targa images. Enable module: Theora Required to play back Ogg Theora videos in VideoStreamPlayer/VideoPlayer. Enable module: UPnP Required to use the UPNP classes for network discovery and automatic port forwarding. Enable module: V-HACD Required to create convex collision shapes in Mesh at runtime. (Not required if convex shapes were created on import.) Enable module: Vorbis Required to play back Ogg Vorbis sounds in AudioStreamPlayer. See also `ogg`. Enable module: WebRTC Required to use WebRTC connections. Enable module: WebSocket Required to use WebSocket connections. Enable module: WebXR Required to run AR/VR on browsers. Enable module: ZIP Required to use the ZIPReader and ZIPPacker classes (also requires Minizip to be enabled). Custom modules path Specifies a path to a folder containing custom C++ modules to build. Useful for keeping custom modules separate from the Godot repository.

## Resulting `custom.py`

# Generated using https://godot-build-options-generator.github.io