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

Ability to put plugins in gitignore and download them after cloning #2263

Open
Jummit opened this issue Feb 8, 2021 · 2 comments
Open

Ability to put plugins in gitignore and download them after cloning #2263

Jummit opened this issue Feb 8, 2021 · 2 comments

Comments

@Jummit
Copy link

Jummit commented Feb 8, 2021

Part II of the "make plugins usable" series: #2262 #2091

Describe the project you are working on

A plugin with downloaded plugins

Describe the problem or limitation you are having in your project

When using downloaded plugins they have to be committed to the git project, even though they could be downloaded when first opening a cloned project, similar to git submodules or other package managers.

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Downloaded plugins should be put in their own folder (#2091) and it should be stored which plugins have been downloaded (#2262). When a project is opened and not all plugins have been downloaded, plugins should be installed before opening the main scene. This is crucial because things break otherwise.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

When opening a project for the first time:

bitmap

If this enhancement will not be used often, can it be worked around with a few lines of script?

No.

Is there a reason why this should be core and not an add-on in the asset library?

Since the plugin system is core, it makes sense to improve it in core.

@Calinou
Copy link
Member

Calinou commented Feb 8, 2021

See also #554.

That said, how is this proposal supposed to work in practice? Other than making the editor run git submodule --update --recursive init and displaying a progress bar for it, I'm not sure how this can work without hardcoding a reliance on the asset library of some kind.

@Jummit
Copy link
Author

Jummit commented Feb 8, 2021

See also #554.

This proposal actually doesn't depend on #554, as plugins in subfolders are already detected, you just can't specify where they are installed in the download dialog. This is not necessary, as the download path could simply be changed to res://addons/thirdparty.

Other than making the editor run git submodule --update --recursive init and displaying a progress bar for it, I'm not sure how this can work without hardcoding a reliance on the asset library of some kind.

Downloading plugins would still work exactly the same, just that it is automated. Something I didn't account for was that there is some configuration for how plugins are downloaded, which has to be either stored or get rid of.

That said, how is this proposal supposed to work in practice?

You would install plugins from the asset library into a subfolder, which you put in your gitignore. The links or identifiers of the installed plugins are stored in the project settings. When you open a project with addons it downloads them before it does anything else.

The workflow is similar to Node, Rust or any other language with package manager.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants