Godot AdMob - Migration Guide
SkillDev toolsProvides instructions to migrate your Godot AdMob project between different plugin versions (e.g. from version 4.x to version 5.x) in GDScript and C#. Use when upgrading plugin versions.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Godot AdMob - Migration Guide skill
What this skill tells your AI
The instructions your AI receives, as published by poingstudios/godot-admob-plugin in platforms/godot_editor/addons/admob/skills/godot-admob-migrate/SKILL.md and read by ahel’s review.
Assists with migrating your Godot AdMob integration between different plugin versions in GDScript and C#.
Migrate from v4.x to v5.x
Steps
- Remove SMART_BANNER Constants: Replace any references to
AdSize.SMART_BANNERorSmartBannerwith Anchored Adaptive Banner sizes. - Update Fallbacks: Ensure that any legacy layouts using
-1, -1size fallback values are replaced with the recommended Anchored Adaptive Banner sizes. - Android App ID Migration & config.gd Removal:
- Extract Android App ID: Read the
APPLICATION_IDconstant fromres://addons/admob/android/config.gd(if upgrading an existing project). - Save to Project Settings: Transfer the Android App ID into
project.godotunder[admob]section asgeneral/android/app_id="your-app-id"(or via Project Settings > General > Admob). - Remove config.gd:
config.gdis deprecated and removed in v5; all settings are now managed via Project Settings.
- Extract Android App ID: Read the
- AdPosition Class Migration:
AdPosition.Valuesenum is replaced byAdPositionstatic instances (e.g.AdPosition.TOPorAdPosition.custom(x, y)). Update your code references. - iOS Export Cleanup & App ID Migration:
- Delete AdMob
.gdipfiles & binaries: Delete all legacypoing-godot-admob*.gdipfiles and theres://ios/plugins/poing-godot-admob/directory insideres://ios/plugins/(do not delete the outerplugins/folder if other non-AdMob plugins exist). Version 5 injects frameworks dynamically during export, so leaving old.gdipfiles and binaries will causeMultiple commands produce ...build errors in Xcode. - Transfer iOS App ID: Move the iOS App ID (formerly set in
Gad Application Identifierin Export Presets or.gdip) intoproject.godotunder[admob]section asgeneral/ios/app_id="your-app-id"(or via Project Settings > General > Admob). - Clear Export Presets: Clear the
Gad Application Identifierfield and uncheck legacy AdMob plugin checkboxes in your iOS Export Preset settings to avoid duplicate injection.
- Delete AdMob
- Update Gradle Dependencies: Clean and rebuild your Android plugin template if necessary to fetch the GMA Next-Gen SDK dependencies.
- Review Initialization Defaults: By default, initialization and ad loading optimizations are enabled. If you run into threading issues, toggle Disable Initialization Optimization and Disable Ad Loading Optimization in the Godot project settings under Admob > General > Android.
- Download v5 Platform Binaries: In the Godot Editor, open AdMob Manager and click Download & Install for both Android and iOS to download the new v5.0.0 native libraries. The export plugin will block project export if the installed native binaries are missing or legacy/v4 due to version mismatch protection.
- Asynchronous SDK Initialization: On Android (GMA Next-Gen SDK), initialization via
MobileAds.initialize()is strictly asynchronous. You must wait for the callback (usingOnInitializationCompleteListener) to fire before loading any ads. Attempting to load ads prior to initialization completion will throw an exception.
Migration References
Size Migration
| Removed Constant (v4.x) | Recommended Alternative (v5.x) |
|---|---|
AdSize.SMART_BANNER (GDScript) | AdSize.get_current_orientation_anchored_adaptive_banner_ad_size(AdSize.FULL_WIDTH) |
AdSize.SmartBanner (C#) | AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSize(AdSize.FullWidth) |
AdPosition Migration
| Removed Enum (v4.x) | Recommended Class Instance (v5.x) |
|---|---|
AdPosition.Values.TOP (GDScript) | AdPosition.TOP |
AdPosition.Values.Top (C#) | AdPosition.Top |
| Custom positions unsupported | AdPosition.custom(x, y) (GDScript) / AdPosition.Custom(x, y) (C#) |
Signals
- GitHub stars
- 616
- Forks
- 50
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
godot-admob-migrate- Source
- github.com/poingstudios/godot-admob-plugin