You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[godot-iap] Avoid repeated Windows editor errors for Apple-only GDExtension #366
When using godot-iap on Windows for Android development, Godot repeatedly logs errors because the bundled .gdextension file only provides iOS/macOS libraries.
The plugin itself works for Android: the Android AAR loads correctly and an Android App Bundle can be exported successfully. However, the Godot Windows editor repeatedly attempts to load the Apple-only GDExtension during project startup and development.
ERROR: core/extension/gdextension_library_loader.cpp:369 - No GDExtension library found for current OS and architecture (windows.x86_64) in configuration file: res://addons/godot-iap/bin/godot_iap.gdextension
ERROR: GDExtension dynamic library not found: 'res://addons/godot-iap/bin/godot_iap.gdextension'.
These messages appear repeatedly when opening and developing the project under Windows.
Expected behavior
Because the GDExtension explicitly declares only ios and macos, the Windows editor should ignore it without logging repeated errors.
The Android integration should continue to use the Android .gdap configuration and AAR files.
Workaround
For an Android-only development phase, renaming:
godot_iap.gdextension
to:
godot_iap.gdextension.disabled
removes the errors and does not prevent Android AAR exports.
However, this workaround requires manually restoring the file before starting iOS/macOS integration.
Possible improvement
Could the plugin package avoid loading the Apple-only .gdextension on non-Apple development platforms, or provide a platform-safe packaging mechanism that prevents these editor errors while preserving iOS/macOS support?
Confirmed, and the cause is on our side: supported_platforms is not a key Godot reads. The .gdextension format only defines entry_symbol, compatibility_minimum, compatibility_maximum, reloadable, and android_aar_plugin, so that line never gated anything — the loader went straight to the library search and printed the errors you saw.
The real key is include_tags, which the loader checks before searching [libraries], returning ERR_SKIP so the extension is skipped without logging. #367 ships that.
One caveat worth being upfront about: include_tags exists only in Godot master (4.8-dev). It is absent from 4.3 through 4.7 — your log line gdextension_library_loader.cpp:369 matches the 4.7 branch exactly — and godotengine/godot#105615 is still open, so nothing we put in the config file can silence 4.7 today. The change is inert on your version and starts working when you move to 4.8.
Until then your rename is the right workaround, and it is now documented in the Godot setup guide with the reason it is safe: iOS and macOS builds require a Mac, so nothing in bin/ is usable from Windows, and Android keeps loading the AAR from addons/godot-iap/android/.
Thanks for the precise report — the version, the exact log lines, and the upstream link made this quick to pin down.
To be clear about what this does and does not fix on your setup: include_tags is only implemented in Godot 4.8. On 4.7 the key is ignored, so the errors will persist for you until you move to 4.8 — the rename remains the working answer in the meantime, and it is now documented in the Godot setup guide.
Nothing else changes: Android still loads the AAR plugin, and iOS and macOS still load their frameworks. Verified on device before release — Android fetched its Play catalog and iOS fetched the StoreKit catalog with the new config.
Thanks again for the report. The supported_platforms line was ours, and it never did anything.
Expected on that exact build, unfortunately — my earlier "Godot 4.8" wording was too loose. Sorry for the confusion.
Engine support for include_tags (godotengine/godot#121575) merged into master on Aug 11 — four days after 4.8-dev3 was built (Aug 7, from godotengine/godot@51105cc). No downloadable Godot build reads the key yet; the next 4.8 snapshot will be the first that skips the extension silently. On dev3 the loader behaves exactly like 4.7 here — your error line gdextension_library_loader.cpp:369 matches the pre-filter source.
The errors remain cosmetic: your log shows [GodotIap] Plugin enabled, Android loads the AAR plugin independently, and iOS/macOS exports are unaffected. To silence the editor today:
Keeping this closed since the addon side is complete — once a 4.8 build newer than dev3 ships, updating Godot alone silences it. If it does not, ping here and I will reopen.
Hi, the docs suggest this is only an issue on Windows and linux - is it expected that I'm getting same errors and engine freeze on Mac?
ERROR: core/extension/gdextension_library_loader.cpp:369 - No GDExtension library found for current OS and architecture (macos.arm64) in configuration file: res://addons/godot-iap/bin/godot_iap.gdextension ERROR: GDExtension dynamic library not found: 'res://addons/godot-iap/bin/godot_iap.gdextension'.
The zip ships an iOS-only GDExtension (include_tags = ["ios"], a single ios.arm64 library, no bin/macos), so a macOS editor hits the same "no library for macos.arm64" path a Windows one does. Your line number, gdextension_library_loader.cpp:369, is the 4.7 / 4.8-dev3 loader, which does not read include_tags. 4.8-dev4 is the first build that does; on it the extension is skipped silently on every desktop OS. Until then the rename in the docs silences it — restore the name before an iOS export.
The freeze is not something this path explains: the loader logs and returns. Which Godot build is it, and does the editor recover after the project scan or stay stuck? If your addon folder has a bin/macos/ directory (3.3.2 and 3.3.3 shipped one; a source build can too), that is a different problem — Gatekeeper — and the "Damaged Framework Warning" section on the same page covers it.
Which Godot build is it, and does the editor recover after the project scan or stay stuck?
Godot 4.7.2 stable. It freezes for a second or two and then recovers. I do not have addons/godot-iap/bin/macos (installed 3.5.0) but the freeze is definitely from this addon since removing it or doing the rename workaround resolves it.
Activity
hyochan commentedon Aug 20, 2026
Confirmed, and the cause is on our side:
supported_platformsis not a key Godot reads. The.gdextensionformat only definesentry_symbol,compatibility_minimum,compatibility_maximum,reloadable, andandroid_aar_plugin, so that line never gated anything — the loader went straight to the library search and printed the errors you saw.The real key is
include_tags, which the loader checks before searching[libraries], returningERR_SKIPso the extension is skipped without logging. #367 ships that.One caveat worth being upfront about:
include_tagsexists only in Godot master (4.8-dev). It is absent from 4.3 through 4.7 — your log linegdextension_library_loader.cpp:369matches the 4.7 branch exactly — and godotengine/godot#105615 is still open, so nothing we put in the config file can silence 4.7 today. The change is inert on your version and starts working when you move to 4.8.Until then your rename is the right workaround, and it is now documented in the Godot setup guide with the reason it is safe: iOS and macOS builds require a Mac, so nothing in
bin/is usable from Windows, and Android keeps loading the AAR fromaddons/godot-iap/android/.Thanks for the precise report — the version, the exact log lines, and the upstream link made this quick to pin down.
hyochan commentedon Aug 20, 2026
Released in godot-iap 3.3.3. The shipped
.gdextensionnow reads:To be clear about what this does and does not fix on your setup:
include_tagsis only implemented in Godot 4.8. On 4.7 the key is ignored, so the errors will persist for you until you move to 4.8 — the rename remains the working answer in the meantime, and it is now documented in the Godot setup guide.Nothing else changes: Android still loads the AAR plugin, and iOS and macOS still load their frameworks. Verified on device before release — Android fetched its Play catalog and iOS fetched the StoreKit catalog with the new config.
Thanks again for the report. The
supported_platformsline was ours, and it never did anything.BriceN commentedon Aug 20, 2026
Hey @hyochan
I updated both Godot to
4.8 dev3and godot-iap to3.3.3, and I still get the output errors :docs: state the exact Godot build that honors include_tags
hyochan commentedon Aug 20, 2026
Expected on that exact build, unfortunately — my earlier "Godot 4.8" wording was too loose. Sorry for the confusion.
Engine support for
include_tags(godotengine/godot#121575) merged into master on Aug 11 — four days after 4.8-dev3 was built (Aug 7, from godotengine/godot@51105cc). No downloadable Godot build reads the key yet; the next 4.8 snapshot will be the first that skips the extension silently. On dev3 the loader behaves exactly like 4.7 here — your error linegdextension_library_loader.cpp:369matches the pre-filter source.The errors remain cosmetic: your log shows
[GodotIap] Plugin enabled, Android loads the AAR plugin independently, and iOS/macOS exports are unaffected. To silence the editor today:(restore the name before an iOS/macOS build).
Docs now state the exact boundary: https://www.openiap.dev/docs/setup/godot#gdextension-non-apple-editor
Keeping this closed since the addon side is complete — once a 4.8 build newer than dev3 ships, updating Godot alone silences it. If it does not, ping here and I will reopen.
fix(godot): declare Apple-only GDExtension with include_tags (hyodotd…
djrain commentedon Sep 8, 2026
Hi, the docs suggest this is only an issue on Windows and linux - is it expected that I'm getting same errors and engine freeze on Mac?
ERROR: core/extension/gdextension_library_loader.cpp:369 - No GDExtension library found for current OS and architecture (macos.arm64) in configuration file: res://addons/godot-iap/bin/godot_iap.gdextension ERROR: GDExtension dynamic library not found: 'res://addons/godot-iap/bin/godot_iap.gdextension'.If so, the docs should be updated.
docs(godot): the GDExtension editor errors also appear on macOS
docs(godot): the GDExtension editor errors also appear on macOS (#443)
hyochan commentedon Sep 9, 2026
Expected with the release zip, and the docs were wrong to say Windows and Linux only — fixed: https://www.openiap.dev/docs/setup/godot#gdextension-non-apple-editor
The zip ships an iOS-only GDExtension (
include_tags = ["ios"], a singleios.arm64library, nobin/macos), so a macOS editor hits the same "no library for macos.arm64" path a Windows one does. Your line number,gdextension_library_loader.cpp:369, is the 4.7 / 4.8-dev3 loader, which does not readinclude_tags. 4.8-dev4 is the first build that does; on it the extension is skipped silently on every desktop OS. Until then the rename in the docs silences it — restore the name before an iOS export.The freeze is not something this path explains: the loader logs and returns. Which Godot build is it, and does the editor recover after the project scan or stay stuck? If your addon folder has a
bin/macos/directory (3.3.2 and 3.3.3 shipped one; a source build can too), that is a different problem — Gatekeeper — and the "Damaged Framework Warning" section on the same page covers it.djrain commentedon Sep 9, 2026
Godot 4.7.2 stable. It freezes for a second or two and then recovers. I do not have addons/godot-iap/bin/macos (installed 3.5.0) but the freeze is definitely from this addon since removing it or doing the rename workaround resolves it.