Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Meta-Thread: Enhancing Plugin/AddOn Documentation #10529

Open
betalars opened this issue Jan 20, 2025 · 13 comments
Open

Meta-Thread: Enhancing Plugin/AddOn Documentation #10529

betalars opened this issue Jan 20, 2025 · 13 comments
Labels
area:manual Issues and PRs related to the Manual/Tutorials section of the documentation enhancement

Comments

@betalars
Copy link
Contributor

betalars commented Jan 20, 2025

This is a thread I create to gather issues with the documentation around Creating more Complex Editor Plugins, as a lot of it is really hidden and obscure knowledge and/or really counter-intuitive.

I will do my best to not try and tackle anything that is just about @tools in general to limit the scope.

This thread is intended for me to keep track of what are available resources both inside and outside the official documentation, what are known issues that involve documentation and editors so I can brainstorm ideas for fixes.

If you want to contribute to this, feel free to drop in comments following my examples.

The permanent links:
The branch I will be working from
Query of all issues in this repo about plugins
Query of all issues in the godot repo around documentation and plugins/extensions

Root of the current Plugin Documentation

This is the place where text drafts will be edited (a markdown instance hosted by a friend)

No, I don't want to nessecarily solve all the issues at once, but I just want a good overview of what could use enhancement and what not.

@betalars
Copy link
Contributor Author

betalars commented Jan 20, 2025

@betalars
Copy link
Contributor Author

@betalars
Copy link
Contributor Author

betalars commented Jan 20, 2025

This being required to create a plugin that allows you to both add new Objects and some UI for those:

if Engine.is_editor_hint():
	caption_inspector_plugin = (CaptionInspectorPlugin as Variant).new()

TODO: find an issue that mentions this

@betalars
Copy link
Contributor Author

betalars commented Jan 20, 2025

How to properly create and load custom user settings.

Creating and Reading User Settings for AddOns right now is kind of counter-intuitive, as they need to be created when the AddOn is activated, but also each time the game is loaded due to godot not saving settings that still have their default value.

This is an issue I raised because of that
A godot forum user asked about that

I did not find anything in the official documentation about it.

@betalars
Copy link
Contributor Author

Passing a selected resource to a panel (similar to how selecting an AnimationPlayer will make the Animation Panel usable)

TODO: find an issue that mentions this

@betalars
Copy link
Contributor Author

@betalars
Copy link
Contributor Author

Will go trough all the issues not from other users next, but soon ™

@tetrapod00 tetrapod00 added enhancement area:manual Issues and PRs related to the Manual/Tutorials section of the documentation labels Jan 21, 2025
@betalars
Copy link
Contributor Author

Referencing from within the Plugin Base Script can be quite cumbersome, as some keywords are loaded after the AddOn has initialized but will prevent the AddOn from initializing because they cause errors in the parser before the AddOn is loaded.

TODO: find an issue that mentions this

@betalars
Copy link
Contributor Author

betalars commented Jan 21, 2025

Tiny confusion in the inspector plugin page about naming the base script: #9430

Resolution: replace plugin.gd with my_inspector_plugin.gd

@betalars betalars changed the title Meta-Thread: Enhancing Editor Tool Documentation Meta-Thread: Enhancing Plugin/AddOn Documentation Jan 21, 2025
@betalars
Copy link
Contributor Author

I've just realized that due to scope I really do not want to tackle things revolving around just the @tool scripts that are not specific to Plugins/AddOns to limit the scope.
So I will not be enhancing Issues like #9784 right now.

@betalars
Copy link
Contributor Author

betalars commented Jan 21, 2025

Disambiguation:
What is a / when to use an AddOns, Plugins, gdextensions, modulse, tool and so on.

ALSO, and most critically: what is the difference between a plugin and an addon and what is the reasons all plugins reside in the addon folder?

A big question for it would be: where to best put it? My gut feeling would say it may need it's own section under Manual. This would then 100% be a seperate issue, that I am gooing to open for discussion.

Would address:

@betalars
Copy link
Contributor Author

I've just realized that due to scope I really do not want to tackle things revolving around just the @tool scripts that are not specific to Plugins/AddOns to limit the scope.

Okay, I may make exceptions for really small tool-specific changes like this one:

@tetrapod00
Copy link
Contributor

Just a general comment, if you have multiple small self-contained PRs it's usually preferred to send them in separately. But if you are writing a new page or large section that closes multiple issues, one large PR is also fine.

Multiple smaller PRs maximizes the chances that each one gets through without getting stuck in review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:manual Issues and PRs related to the Manual/Tutorials section of the documentation enhancement
Projects
None yet
Development

No branches or pull requests

2 participants