Skip to content

[TRACKER] State of GDExtension support #1

@limbonaut

Description

@limbonaut

Goal

  • Port to GDExtension in such a way that it would be possible to compile the same codebase as either an engine module or an extension.
  • Build GDExtension artifacts using GitHub workflows in addition to custom editor artifacts.
  • User Projects should not require porting when switched from module to GDExtension.

Status

Implemented and merged, with unresolved issues documented below.

Progress

  • Core
    • Blackboard
    • BT Tasks
      • Composite
      • Decorator
      • Scene
      • Blackboard
    • BTPlayer
    • LimboUtility
    • LimboTaskDb
    • LimboStringNames
    • State Machine
      • LimboState
      • LimboHSM
      • BTState
  • Editor
    • ActionBanner
    • TaskTree
    • TaskPalette
    • ModeSwitchButton
    • LimboAI editor & plugin
    • Icons
  • Debugger
    • Behavior tree view
    • Debugger plugin
    • Data classes
    • Debugger bottom pane
  • Additional tasks
    • Add SConstruct and .gdextension to source control
    • Fix TaskPalette on "Refresh" crash
    • Fix ERROR: Condition "_instance_bindings != nullptr && _instance_bindings[0].binding != nullptr" is true.
    • Fix crash when requesting documentation page
    • Use common source for editor config file
    • Fix: Weird name showing on the tasks
    • Fix: BB params convert to "Wrapped..."
    • Fix: Create script template not working
    • Fix: Comments not getting custom styling & dialog
    • Fix: User tasks not showing in the Task Palette
    • Fix: User icons are not showing in the task palette
    • Check resources reloading for potential issues
    • Fix: Shortcuts not working
  • Verify
    • Compiles
    • Launches
    • Can run demo project
    • Test core functionality
    • Test editor functionality
    • Test debugger
    • Test on the production
  • Documentation
    • Create sphinx project
    • Set up readthedocs
    • Link to documentation in the code
    • Convert documentation pages from the GitHub
    • Add minimal task example
    • Fix introduction to BT
    • Landing page
    • Using GDExtension, limitations & setup
    • Link to documentation pages in the README
  • Integrate
    • Create a script to update icons in .gdextension
    • Fix module build errors
    • Create a script to set up new dev environment for GDExtension
    • Create GHA build workflow for GDExtension for desktop platforms
    • Call GDExtension builds in the "All Builds" workflow
  • Unresolved

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions