{"id":13526022,"url":"https://github.com/goostengine/goost","last_synced_at":"2025-10-25T10:42:20.317Z","repository":{"id":37410303,"uuid":"269350727","full_name":"goostengine/goost","owner":"goostengine","description":"A general-purpose, extensible and customizable C++ extension for Godot Engine.","archived":false,"fork":false,"pushed_at":"2022-09-30T11:41:22.000Z","size":6170,"stargazers_count":494,"open_issues_count":10,"forks_count":18,"subscribers_count":11,"default_branch":"gd3","last_synced_at":"2025-05-25T08:07:05.171Z","etag":null,"topics":["godot-module","godotengine"],"latest_commit_sha":null,"homepage":"https://goostengine.github.io/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/goostengine.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-04T12:14:49.000Z","updated_at":"2025-04-27T23:59:44.000Z","dependencies_parsed_at":"2022-07-08T01:30:32.869Z","dependency_job_id":null,"html_url":"https://github.com/goostengine/goost","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/goostengine/goost","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goostengine%2Fgoost","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goostengine%2Fgoost/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goostengine%2Fgoost/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goostengine%2Fgoost/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goostengine","download_url":"https://codeload.github.com/goostengine/goost/tar.gz/refs/heads/gd3","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goostengine%2Fgoost/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276929680,"owners_count":25730226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-25T02:00:09.612Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["godot-module","godotengine"],"created_at":"2024-08-01T06:01:24.415Z","updated_at":"2025-09-25T14:14:04.103Z","avatar_url":"https://github.com/goostengine.png","language":"C++","funding_links":[],"categories":["Modules","C++"],"sub_categories":["3D"],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/goostengine\"\u003e\n    \u003cimg src=\"logo.svg\" width=\"400\" alt=\"Goost Logo\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"right\"\u003e\n  \u003ci\u003eIf it's not in Godot, let it be in Goost.\u003c/i\u003e\n\u003c/p\u003e\n\n# **Goost**: Godot Engine Extension\n\n![🐧 Linux](https://github.com/goostengine/goost/workflows/%F0%9F%90%A7%20Linux/badge.svg)\n![🍎 macOS](https://github.com/goostengine/goost/workflows/%F0%9F%8D%8E%20macOS/badge.svg)\n![🎨 Windows](https://github.com/goostengine/goost/workflows/%F0%9F%8E%A8%20Windows/badge.svg)\n![🤖 Android](https://github.com/goostengine/goost/workflows/%F0%9F%A4%96%20Android/badge.svg)\n![🍏 iOS](https://github.com/goostengine/goost/workflows/%F0%9F%8D%8F%20iOS/badge.svg)\n![🌐 JavaScript](https://github.com/goostengine/goost/workflows/%F0%9F%8C%90%20JavaScript/badge.svg)\n\nGoost is a [Godot Engine](https://github.com/godotengine/godot) extension\nimplemented as a\n[C++ module](https://docs.godotengine.org/en/latest/development/cpp/custom_modules_in_cpp.html).\nThe extension consists of functional components and other modules, most of which\nshould be optional to build.\n\nSee [Goost official documentation](https://goost.readthedocs.io/en/gd3/) for\ndetailed instructions on how to use the extension and the list of currently\nimplemented components. For a complete list of currently implemented classes,\nrefer to [Goost API](https://goost.readthedocs.io/en/gd3/classes/index.html).\n\nWe strongly recommend to familiarize yourself with our\n[development philosophy](https://goost.readthedocs.io/en/latest/development/general_principles.html).\n\n## 🔽 Binary downloads\n\nOfficial binaries for the Godot + Goost editor and the export templates can be\nfound on the [Download](https://goostengine.github.io/download.html) page.\n\n-----\n\n### Goals 🎯\n- ***Complement*** the engine by implementing missing or not-yet-implemented\n  functionality as seen useful by the Godot community, helping to prevent\n  further engine bloat to a reasonable extent;\n- Provide additional core data structures, classes and methods to optimize\n  performance-critical tasks in a general-purpose way for when GDScript or other\n  languages are too slow, or when better integration is desired with existing\n  libraries;\n- Expose, reuse, and build upon the engine's hidden built-in functionality\n  typically unavailable to scripting;\n- Overcome engine limitations which may be difficult to do via script,\n  especially when those limitations can be mitigated on the module level without\n  having to maintain a custom version of the engine.\n\n### Non-goals 🌒\n- Solving project-specific problems. Consider alternative projects such as\n  [Godot Node Extensions](https://github.com/godot-extended-libraries/godot-next)\n  instead.\n- Collecting arbitrary community C++ modules for the sake of it. Goost provides\n  a separate project for this purpose in the\n  [goostengine/godot-modules](https://github.com/goostengine/godot-modules)\n  repository, which also includes this extension as a `git` submodule.\n\n-----\n\n### Community channels 🎭\n\nJoin [#goost](https://discord.gg/w6jBZnG) Discord channel at the\n[GEL](https://github.com/godot-extended-libraries) Discord server for discussion\nand development updates.\n\n-----\n\n## Building 🏗\n\nFor testing and debugging purposes, build artifacts are uploaded for Linux,\nmacOS, and Windows builds which can be downloaded manually for each recently\nbuilt commit:\n\n- [🐧 `Linux`: Editor](https://nightly.link/goostengine/goost/workflows/linux_builds/gd3/godot.x11.opt.tools.64.goost.zip)\n- [🐧 `Linux`: Server Headless + Sanitizers](https://nightly.link/goostengine/goost/workflows/linux_builds/gd3/godot_server.x11.tools.64.goosts.zip)\n- [🍎 `macOS`: Editor](https://nightly.link/goostengine/goost/workflows/macos_builds/gd3/godot.osx.opt.tools.64.goost.zip)\n- [🎨 `Windows`: Editor](https://nightly.link/goostengine/goost/workflows/windows_builds/gd3/godot.windows.opt.tools.64.goost.zip)\n\nIf the links provided by [nightly.link](https://nightly.link/) above don't work,\nproceed to [GitHub Actions tab](https://github.com/goostengine/goost/actions) (have to be logged in).\n\n### Compiling\n\n```sh\ngit clone https://github.com/goostengine/goost --recurse-submodules\ncd goost\npython goost.py config # Optional, pick components to build.\nscons\n```\n\nThis will clone the Godot Engine repository and compile the engine with Goost.\nYou'll find the resulting binaries at `godot/bin` directory relative to the\nGoost repository.\n\nFor more advanced compilation options, refer to\n[Goost Installation](https://goost.readthedocs.io/en/gd3/usage/installation.html)\ndocumentation pages.\n\n## Development 🧱\n\nSee [Contributing](CONTRIBUTING.md) if you are interested in development and to\nfind out what kind of features are accepted.\n\n### Writing and running tests\n\nWhile not mandatory, developers are encouraged to write unit tests (or any tests\nfor that matter) for any existing or new features. See [tests](tests/README.md)\nfor details.\n\nAfter build, run tests with the following command:\n\n```\npython run.py tests\n```\n\n### Writing and generating documentation\n\nThe documentation can be generated for new classes, and updated for existing\nones. See the following official documentation pages for further instructions:\n\n- [Contribute to the Class Reference](https://docs.godotengine.org/en/latest/community/contributing/updating_the_class_reference.html)\n- [Writing custom documentation](https://docs.godotengine.org/en/latest/development/cpp/custom_modules_in_cpp.html#writing-custom-documentation)\n\nTo easily generate new or update existing documentation, run:\n\n```\npython run.py doc\n```\n\nThe `editor` command is also useful for manually checking and proof-reading the\nbuilt-in documentation from within the editor, especially when you want to make\nsure that all references work as expected:\n\n```\npython run.py editor\n```\n\n### Versioning and compatibility\n\nThere are separate branches which are targeted for specific Godot Engine's major\nversion.\n\nRegarding latest extension development version, switch to\n* [`gd3`](https://github.com/goostengine/goost/tree/gd3) branch for Godot 3.x\n* [`gd4`](https://github.com/goostengine/goost/tree/gd4) branch for Godot 4.x (does not exist yet).\n\nSimilarly, you may use any of the stable branches with a similar branch\nencoding, such as `1.0-gd3` or `1.0-gd4`, if available.\n\nAny new features are encouraged to be developed against the latest Godot\nEngine's *stable* version, which may be optionally ported to the latest engine's\n*development* version (independently or in sync, depending on priorities).\n\n## License 📝\n\nUnless otherwise specified, the extension is released under the\n[MIT license](LICENSE.txt).\n\nSee the full list of third-party libraries with their licenses used by this\nextension at [thirdparty/README.md](thirdparty/README.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoostengine%2Fgoost","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoostengine%2Fgoost","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoostengine%2Fgoost/lists"}