Godot version:
3.2, 4.0
Issue description:
There are some existing issues related to module dependencies which may cause run-time and compile-time errors, or need better user-friendly interface to ensure that certain modules cannot be disabled, or whether the usage of modules may reveal hidden built-in bugs (which can be either workaround on the module level or fixed on the core level, so these are not necessarily the responsibility of module authors, but which nonetheless worth to link).
Bugs
- [ ] #36091 Crash on startup with
gdnavigation module disabled.
- [x] #32217 HeightMapShape error with disabled Bullet module on project startup.
- [ ] #32216 CylinderShape GodotPhysics error with disabled Bullet module on project startup.
- [x] #39186 New Lightmapper denoising library doesn't support MSVC 14.1 (visual studio 2017).
- [x] #38759 New Lightmapper denoising library includes deep neural network library that does not support 32 bits.
- [ ] #37301 Extra suffix is not appended at the end of a binary name with
mono module enabled.
- [ ] #37234 Custom C++ module and XCode dSYM fail.
- [ ] #36582 server: pure virtual method called with --gdnative-generate-json-api.
- [ ] #35788 Oculus VR Module causes white screen on Windows 10.
- [ ] #35740 If an error happens during ClassDB binding, the Mono module crashes the engine.
- [ ] #33659 Cannot build module with a reference to an int.
- [ ] #33641 Array overflow in svg module.
- [ ] #33336 Websockets: Restarting server project causes rpcp error spam that hangs the process.
- [ ] #33279 Websocket server crashes when client disconnects (50% of the time)..
- [ ] #32265 Disabled modules shouldn't call pkg-config if they are set to be non-builtin.
- [ ] #31123 Can't compile Godot with asan, lsan, ubsan and disabled vorbis.
- [ ] #30333 Build error on FreeBSD related to libvpx.
- [x] #30629 BMP loader fails to import images.
- [x] #28949 Godot doesn麓t compile for win x86.
- [ ] #28650 Can't compile Godot with module_freetype_enabled=false.
- [ ] #25448 Editor crashes with custom C++ DLL module built under MSVC.
- [ ] #13272 webm module doesn't compile for iOS arm64.
- [x] #39219 Link errors with different configuration of
theora, ogg, vorbis, opus modules.
- [x] #41710 Compiling without GDScript fails again.
Documentation
- [ ] #15675 Building the summator module from docs as shared module results in error.
- [x] #11766 Having Trouble Compiling a module .dll.
- [ ] #9949 Module Question: How to write a module that replaces a core piece of the engine?
Proposals
Some issues remain in Limbo due to indecision regarding the philosophical principles of module development (what's deemed as a module now should be core, for instance see attempted fixes #32272), so it may not worth fixing some of the bugs at the moment (raising awareness for contributors).
- Godot's C++ modules should be self-contained godotengine/godot-proposals#569.
List of modules which cannot be disabled without...
... compile-time errors
with target=debug tools=yes:
regex: rename dialog: https://github.com/godotengine/godot/pull/31290#issuecomment-520227369)
freetype: font rendering
svg: editor icons scaling
gdscript #41710 (3.2)
with platform=windows tools=yes bits=32:
... run-time errors
with target=debug tools=yes:
gdnavigation: #36091
bullet: #32217, #32216
mbedtls: asset library (requires SSL), crash on project startup.
glslang: shader compilation (?) numerous errors spam on startup.
bug
documentation
core
tracker
Most helpful comment
Created a script to generate a random modules configuration to "fuzzy test" compiling Godot that way, if you want to burn your CPU cycles. 馃檪