Skip to content

Replace complex Project Settings with a plug-in API #35

Description

@RedMser

Many project settings are too complex for their own good, using RegEx or Dictionary for very complex lookups and string manipulation.

Instead it would be good to have a plug-in API that allows the user to implement virtual methods like func _compute_locale(path: String) -> String which could in the end just do a RegEx lookup, but also anything else.

Not sure about the registration mechanism, since it would need to be available as soon as ResourceLoader is ready (during project startup). Maybe refer to plug-in classes by path or by class_name in ProjectSettings?

May depend on godot-rust/gdext#426 OR we implement the interface via GDScript and dynamically instantiate and calls things without Rust typing
Might also be blocked by godotengine/godot#91336 (not sure how early GDScript is ready to be executed)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestupstreamDepends on an upstream issue or PR, can't be solved immediately

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions