Giter VIP home page Giter VIP logo

gde_test_cases's Introduction

gdextension

GDExtension template that automatically builds into a self-contained addon for the Godot Asset Library.

Getting started:

  1. Clone this repository (or a new repository with this template) with submodules.
    • git clone --recurse-submodules https://github.com/nathanfranke/gdextension.git
    • cd gdextension
  2. Update to the latest godot-cpp.
    • git submodule update --remote
  3. Build a debug binary for the current platform.
    • scons
  4. Import, edit, and play project/ using Godot Engine 4+.
    • godot --path project/
  5. Check the output:
    Hello GDScript!
    Hello GDExtension Node!
    Hello GDExtension Singleton!
    

Repository structure:

  • project/ - Godot project boilerplate.
    • addons/example/ - Files to be distributed to other projects.¹
    • demo/ - Scenes and scripts for internal testing. Not strictly necessary.
  • src/ - Source code of this extension.
  • godot-cpp/ - Submodule needed for GDExtension compilation.

¹ Before distributing as an addon, all binaries for all platforms must be built and copied to the bin/ directory. This is done automatically by GitHub Actions.

Make it your own:

  1. Rename project/addons/example/ and project/addons/example/example.gdextension.
  2. Replace LICENSE, README.md, and your code in src/.
  3. Not required, but consider leaving a note about this template if you found it helpful!

Distributing your extension on the Godot Asset Library with GitHub Actions:

  1. Go to Repository→Actions and download the latest artifact.
  2. Test the artifact by extracting the addon into a project.
  3. Create a new release on GitHub, uploading the artifact as an asset.
  4. On the asset, Right Click→Copy Link to get a direct file URL. Don't use the artifacts directly from GitHub Actions, as they expire.
  5. When submitting/updating on the Godot Asset Library, Change "Repository host" to Custom and "Download URL" to the one you copied.

gde_test_cases's People

Contributors

dmitriysalnikov avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.