-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
Better root path for assetlib unzipping #6023
Comments
In case the |
I disagree, if we do this the paths inside scenes would be totally broken. |
I don't see why they should be more broken than with |
If you are arguing about what to do if many plugins have the same folder name... then well, when it comes to asset Store we could not allow to update plugin with exactly the same name as any other plugin that's already in a store. When it comes to manually installed plugins via Godot UI maybe just throw an informational error that plugin cant be installed, together with reason? |
On Wed, Aug 3, 2016 at 9:29 AM, kubecz3k [email protected] wrote:
|
So what's the point of the Still, it's fully unmanageable to unzip the contents of github zip archives in |
Which also means that people will choose not to install the README.md or LICENSE file to avoid overwriting their own/that of another plugin, and thus miss potentially important info in the README.md, and potentially violate the license if it's one that requires to distribute the full license text and it's not hardcoded in the plugin's files. |
As mentioned initially, I think there's no better solution than to unzip each asset in its own folder, and let the users manage their filesystem themselves. There's nothing I dislike more than self-extracting archives that pollute my project trees. I'd be for installing all assets to |
I'd be for letting the user choosing his own target folder, with probably some per-asset default. |
The problem is that there is a lot of things you want to download that:
So the limitation of README.md files being polluted is unavoidable, and On Wed, Aug 3, 2016 at 1:44 PM, Rémi Verschelde [email protected]
|
We can just harcode a list of files and document it. On Wed, Aug 3, 2016 at 2:05 PM, Juan Linietsky [email protected] wrote:
|
That won't work because assets use absolute paths, and you won't be able to On Wed, Aug 3, 2016 at 1:57 PM, Bojidar Marinov [email protected]
|
What about a "res://assetlib" directory created with the project and set as default assetlib install location? (or add an option to set the default location when creating a project) ps: Also, give the option to create a folder (or two) when installing, I would like to put my downloaded tools in assetlib/tools, scripts on assetlib/scripts, etc., if possible. |
nope, Godot uses absolute paths so it's simply not possible to unzip into a On Wed, Aug 3, 2016 at 10:39 PM, eon-s [email protected] wrote:
|
You can do this in Unity because files are referenced by a metadata ID, but On Wed, Aug 3, 2016 at 10:52 PM, Juan Linietsky [email protected] wrote:
|
@reduz What about doing dependency fixation after/while the unzip happens? |
@reduz I can't argue against simplicity. |
Yeah, I prefer we fix this with docs than code On Aug 4, 2016 3:28 PM, "eon-s" [email protected] wrote:
|
So for example, my terrain plugin would be installed at: By the way, this issue is about filesystem namespace, but there will be a similar issue with types created by plugins (we don't have any namespace system). What if two plugins have a node name conflict? (but I guess it will become a separate issue in the future) |
@Zylann I think it will be just: As it is now, the asset creator has to create the all the folders and files as she/he wants it to appear in the user project. So if you want it: For plugin problems, maybe that should be managed by the plugin enabler, showing a message if there is a conflict with an active plugin (I don't know if that is possible or already exists). |
Here is another option, though it is pretty hard to implement properly -- have each addon have its own Though that would take a week to implement properly, I'm listing it for completeness 😄 |
@eon-s the reason why I used @bojidar-bg I kinda like the idea but the fact other addons are inaccessible might be problematic if your addon can extend/communicate another. What do you mean by "exporting them"? |
I still think you guys are worrying too much about something that is not On Sat, Aug 6, 2016 at 7:21 AM, Bojidar Marinov [email protected]
|
@reduz I agree, I was just listing it as a yet another solution |
Currently plugins are looked into |
I wonder if we have more chances of the plugin name colliding than the On Sat, Aug 6, 2016 at 7:10 PM, George Marques [email protected]
|
Godot 2.1 is out, but my plugin doesn't works because my .cfg is in |
@bojidar-bg I don't like prefixing very much, given that it could be as simple as a folder in the filesystem. I can do that in the meantime but I'd like to know if it's going to stay that way? |
IMO the editor should be able to spot plugins that are a bit deeper. Actually, it already works, you can write |
I haven't read everyones comments however one thing that is important is that not all things in the asset library are actually add ons. Also changing paths can break the add on because many paths are set in the scene files. I would suggest adding a path to the meta data in the asset library itself so the person releasing the asset still has control. So in the asset library I have defined to install my add on in 'addons/myaddon' and that is where Godot downloads the repository files too. Note that depending on the type of asset you're registering in the asset library the asset library could suggest what that folder name should be. So for a demo asset, it will just be the root (empty), while for an addon it will suggest 'addons/myaddon' |
Closing in favor of godotengine/godot-proposals#554, as feature proposals are now tracked in the Godot proposals repository. |
Operating system or device - Godot version:
Arch Linux x64, Godot "master"
Issue description (what happened, and what was expected):
As I was installing the all-new GroupManager plugin (by @kubecz3k ), it failed to install it in the res://addons folder, but unzipped it in the root folder instead. With @akien-mga we discussed on IRC that
res://addons/<name>/
would be way better for an install path for non-templates. @reduz WDYT?Steps to reproduce:
Download any asset from asset lib, it would install it in res://, not in res://addons//
Link to minimal example project (optional but very welcome):
The text was updated successfully, but these errors were encountered: