Skip to content

Custom GDExtension binding crashes caused by Extension API hash mismatch #14

@tanlethanh

Description

@tanlethanh

Hi Migeran team,

I am working on a game project that uses React Native for launcher and Godot as the core game scene. Our architecture has a core logic engine written in Rust integrated to Godot via GDExtension.

On Android, when the libgodot runtime loads our extension, It crashes due to mismatching signature of RenderingServer:set_boot_image between standard godot vs Migeran godot extension API.

From my finding, the signature change is required as libgodot's embedded mode needs specifying the new WindowID parameter. I've successfully integrated our extension by a custom patch that overrides hash signature, but the build pipeline is bit more complex than expected.

From downstream perspective, I think libgodot should extend the extension API via a new method like RenderingServer:set_boot_image_with_window instead of overriding the original function. This will help other integration being more seamless like our usecase.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions