Skip to content

A collection of community C++ modules for Godot Engine curated by the Goost project.

License

Notifications You must be signed in to change notification settings

goostengine/godot-modules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Godot Modules

🐧 Linux 🍎 macOS 🎨 Windows

A collection of various community Godot Engine C++ modules curated by the Goost project.

Trying out

If available, you can download nighty builds of the modules listed below for Linux, macOS, Windows integrated into Godot editor builds for testing purposes:

Otherwise you'll have to build Godot with custom modules yourself, see Building section.

Purpose

The goal of this repository is to collect C++ modules for the purpose of accessibility and the ease of discovery. This allows to try out various modules conveniently from within a single, centralized place. Note that only editor builds are provided via build artifacts.

Each module represents a git submodule versioned as part of this repository.

It's recommended that you manually clone modules of interest which you intend to use in your project, it's not recommended to use this repository in production as it may not be actively updated.

List of modules

Note that some modules may not be able to be built properly, or they are temporarily disabled due to other reasons as denoted in "Build status" column:

  • 🟢 Build success in latest stable version of Godot.
  • 🟡 Can build only for some editor platforms, or require certain workarounds.
  • 🔴 Cannot build due to direct compilation errors. Please report such bugs upstream.
Module name Short description Build status
anl Accidental Noise Library in Godot. 🟢
box2d Integrates Box2D physics library in Godot. 🟡
goost A general-purpose C++ extension for Godot. 🟢
json Import JSON files as resources. 🟢
llightmap Soft shadows with high performance at runtime. 🔴
lua Adds external Lua support via GDScript. 🟢
luascript Lua language support for Godot Engine. 🟡
qurobullet Design 2D projectile system. 🔴
smooth Fixed timestep interpolation helper nodes. 🔴
sqlite SQLite for Godot based on gdsqlite-native. 🟢
tabletop_club Import resources at run-time. 🔴
terrain_generator Create planet meshes with OpenSimplexNoise terrain. 🟢
voronoi Compute Voronoi diagrams. 🟢
voxel Create volumetric worlds. 🟡

Building

There are two ways to build all modules listed above.

Using scons command:

git clone https://github.com/goostengine/godot-modules --recurse-submodules
cd godot-modules
scons

The process is similar to compiling the Goost Godot Engine extension. This will clone the Godot Engine repository to compile all modules as part of it.

Using custom_modules build option

Alternatively, you can compile all the modules by using the custom_modules build options directly from within the existing engine source code:

git clone https://github.com/goostengine/godot-modules --recurse-submodules
cd godot
scons custom_modules="../godot-modules/modules"

Some modules may not compile on some platforms and/or targets as seen in the list above, so using scons is preferable in those cases as it automatically disables modules which cannot be compiled.

To update submodules, run:

git submodule update --remote

Contributing

Only add modules which don't require manual installation of additional external dependencies (various software development kits etc.)

The following command must be used from within the root of this repository:

git submodule add --name <NAME> --branch <BRANCH> <URL> modules/<NAME>

Make sure that the added modules do compile, commit the changes and then feel free to open a pull request.

Also, consider supporting this Godot proposal:

License

Unless otherwise specified, all files in this repository are released under the terms of the MIT license, except for the modules which may have a license not compatible with the MIT license, see .gitmodules file for a complete list of modules with respective URL pointing to other projects.

About

A collection of community C++ modules for Godot Engine curated by the Goost project.

Topics

Resources

License

Stars

Watchers

Forks