godotengine / webrtc-native

The official GDNative WebRTC implementation for non-html exports.
MIT License
198 stars 27 forks source link

Plugin is available in the AssetLib but installs wrongly. #118

Closed EhoNo1 closed 7 months ago

EhoNo1 commented 9 months ago

Godot version

v4.1.1.stable.mono.official [bd6af8e0e]

Plugin version

Version 1.02

System information

Windows 10, WebRTC Plugin - Godot 4.1+

Issue description

When downloading the plugin from the AssetLib on Godot 4.1 Mono, the plugin installs and fails to load, presenting errors. The errors imply that the plugin expects to be stored in a webrtc folder, however the contents of what would be in said folder are simply dumped into the root of the project folder.

This can be fixed easily by moving the plugin's files into a new webrtc folder, but do not have this default feels like a bug, as the plugin itself expects to be installed there out-of-the-box.

Steps to reproduce

In a new Godot 4.1.1 project, open the AssetLib, search for this plugin let the editor download and install the plugin. (Specifically the version for Godot 4.1+.)

The editor download's and installs, but dumps the entire contents of the repository directly into project folder instead of into a webrtc folder like the plugin is expecting. The editor reports immediate errors went trying to enable the extension.

It is fixed by creating a webrtc folder. dragging the contents of the plugin into it, and restarting the editor.

Minimal reproduction project

Not necessary, simply create an empty project and attempt to install the plugin through the AssetLib as described above.

Faless commented 9 months ago

Thanks for reporting this issue.

I've confirmed it, but after some tests I've noticed that if I instead download the addon from the asset library website, and then Import the ZIP via the dedicated button the editor asset library, the folder structure is properly setup.

This might be an upstream issue, but I'd like to investigate a bit more before opening one.

Faless commented 8 months ago

There is indeed a discrepancy between how plugins are installed depending if it's done manually or via the asset library. This has been in part addressed in Godot 4.2 via https://github.com/godotengine/godot/pull/81620 which allows users to customize the install path.

Additionally, since #121, the extension will use relative paths to the .gdextension file to find the shared libraries (but we'll need a different solution for the 3.x gdnative version).

Faless commented 7 months ago

Fixed via #121 included in version 1.0.3 and now published in the asset library.