Cactoidal / GodotEthersV3

Ethers for Godot 4.3
MIT License
7 stars 2 forks source link

Can't load extension #1

Open punto- opened 1 week ago

punto- commented 1 week ago

Hello, I'd like to try this extension, but I'm getting some errors when the engine loads, I'm using engine version 4.3.stable.custom_build.77dcf97d8 on windows (downloaded from here https://github.com/Zylann/godot_voxel/releases).

This is the output in the console:

ERROR: Method 'PhysicsDirectBodyState2D.apply_impulse' has changed and no compatibility fallback has been provided. Please open an issue.
   at: gdextension_classdb_get_method_bind (core\extension\gdextension_interface.cpp:1511)
ERROR: Rust function panicked at C:\Users\David\.cargo\registry\src\index.crates.io-6f17d22bba15001f\godot-ffi-0.1.3\src\toolbox.rs:277.
  Context: failed to initialize GDExtension level `Servers`
   at: godot_core::private::handle_panic_with_print (C:\Users\David\.cargo\registry\src\index.crates.io-6f17d22bba15001f\godot-core-0.1.3\src\private.rs:364)
ERROR: [panic]
  Failed to load class method PhysicsDirectBodyState2D::apply_impulse (hash 4288681949).
  Make sure gdext and Godot are compatible: https://godot-rust.github.io/book/gdext/advanced/compatibility.html
   at: godot_core::private::handle_panic_with_print (C:\Users\David\.cargo\registry\src\index.crates.io-6f17d22bba15001f\godot-core-0.1.3\src\private.rs:377)
ERROR: Method 'Animation.bezier_track_insert_key' has changed and no compatibility fallback has been provided. Please open an issue.
   at: gdextension_classdb_get_method_bind (core\extension\gdextension_interface.cpp:1511)
ERROR: Rust function panicked at C:\Users\David\.cargo\registry\src\index.crates.io-6f17d22bba15001f\godot-ffi-0.1.3\src\toolbox.rs:277.
  Context: failed to initialize GDExtension level `Scene`
   at: godot_core::private::handle_panic_with_print (C:\Users\David\.cargo\registry\src\index.crates.io-6f17d22bba15001f\godot-core-0.1.3\src\private.rs:364)
ERROR: [panic]
  Failed to load class method Animation::bezier_track_insert_key (hash 3656773645).
  Make sure gdext and Godot are compatible: https://godot-rust.github.io/book/gdext/advanced/compatibility.html
   at: godot_core::private::handle_panic_with_print (C:\Users\David\.cargo\registry\src\index.crates.io-6f17d22bba15001f\godot-core-0.1.3\src\private.rs:377)
ERROR: Method 'EditorNode3DGizmo.add_mesh' has changed and no compatibility fallback has been provided. Please open an issue.
   at: gdextension_classdb_get_method_bind (core\extension\gdextension_interface.cpp:1511)
ERROR: Rust function panicked at C:\Users\David\.cargo\registry\src\index.crates.io-6f17d22bba15001f\godot-ffi-0.1.3\src\toolbox.rs:277.
  Context: failed to initialize GDExtension level `Editor`
   at: godot_core::private::handle_panic_with_print (C:\Users\David\.cargo\registry\src\index.crates.io-6f17d22bba15001f\godot-core-0.1.3\src\private.rs:364)
ERROR: [panic]
  Failed to load class method EditorNode3DGizmo::add_mesh (hash 1579955111).
  Make sure gdext and Godot are compatible: https://godot-rust.github.io/book/gdext/advanced/compatibility.html
   at: godot_core::private::handle_panic_with_print (C:\Users\David\.cargo\registry\src\index.crates.io-6f17d22bba15001f\godot-core-0.1.3\src\private.rs:377)

Thanks

Cactoidal commented 1 week ago

Hi, I'll have some time to check this out myself next week. Because the problems are coming from things like the PhysicsDirectBodyState and EditorNode3DGizmo, I suspect there is some incompatibility between the Rust library and custom build you're using. Does the plugin load correctly for you when using the standard Godot build?

Cactoidal commented 1 week ago

I tried today to replicate this error, but after downloading the custom build (godot.windows.editor.x86_64.exe.zip) I was able to successfully load the GodotEthers plugin from the Asset Library.

Given the error messages, I would expect there to be a mismatch between methods defined in the VoxelTools fork and the Godot Rust crate. However, according to https://github.com/Zylann/godot_voxel/tree/master/util/godot/classes, the Animation, EditorNode3DGizmo, and PhysicsDirectBodyState2D classes don't appear to have been altered by the fork. Could there be a different addon that's causing the conflict?