Merged
Conversation
Upgraded Godot version from 4.4 to 4.5 Various changes have been made to PandoraSettings, PropertyBar, PropertyButton, Array, Type, Property, and Entity to implement new logic that allows you to add custom properties through the pandora/extensions folder. This change will facilitate Pandora customization, avoiding direct changes to the addon code.
Added an example of extensions adding test_property (String, Int) Changed the checks of compare_with_extensions_models and get_lookup_property_name of PandoraSettings
Owner
|
Thank you so much for this @trobugno. Phenomenal work, truly. Before we can merge this, I have a few favours to ask:
|
Contributor
Author
|
Thank you for the detailed feedback! I've updated the CI to 4.5.1, added a test to check if the new custom property has been added through settings, and documented the feature under the Mastery section (‘Custom Extensions’). Let me know if anything else needs refinement. |
- Added a new tests for Custom Extensions - Done a fix to getter and setter of extensions_dir inside PandoraSettings and changed the check of two methods inside it. - Added an inizialization of PandoraSettings inside api.gd::_enter_tree()
bitbrain
approved these changes
Nov 6, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Godot 4.5 + Pandora Extensions
Various changes have been made to PandoraSettings, PropertyBar, PropertyButton, Array, Type, Property, and Entity to implement new logic that allows you to add custom properties through the pandora/extensions folder.
This change will facilitate Pandora customization, avoiding direct changes to the addon code.
Example
You can find an example inside pandora/extensions folder named TestProperty
Motivation
While working on my RPG project Arkaruh’s Tale, I’ve been relying heavily on Pandora for data handling and serialization.
During development, I encountered several scenarios where extending Pandora’s built-in properties would have provided a cleaner and more modular solution.
This PR introduces support for custom extensions, allowing developers to define and register their own property types without modifying Pandora’s core.
Benefits:
Example use case:
I’m currently developing an external add-on — Pandora+ — which extends Pandora with a set of ready-to-use RPG-oriented properties.
These include serialized stats, inventory, and quest data, all seamlessly integrated with Pandora’s data layer.
This PR is a small but essential step to make Pandora more open, flexible, and adaptable for advanced workflows.
Thank you for your work on this amazing plugin — it’s become a foundational piece of my development toolkit.
I’d be happy to help document or showcase how to build custom extensions once this feature is merged.