From Godot Skills
Export a Godot project — C# (.NET) or GDScript — as a debug APK for Android. Use when the user wants an Android build.
How this skill is triggered — by the user, by Claude, or both
Slash command
/godot:godot-android-exportThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Export a Godot project (C# / .NET or GDScript) as a debug APK for Android.
Export a Godot project (C# / .NET or GDScript) as a debug APK for Android.
This skill covers both. Most of it is shared: the ETC2/ASTC texture compression step and the entire export_presets.cfg block are identical for both languages.
The differences are isolated to the toolchain:
dotnet build before export. Sections marked [C# only] apply only here.dotnet build, and scripts ship as .gd inside the .pck. Follow the (GDScript) blocks.Read both prerequisite lists below and pick the one matching your project.
Shared (both languages):
setup.md Android section[C# only] additionally:
setup.md(GDScript):
(Shared — applies to both C# and GDScript.)
Add to project.godot under [rendering]:
[rendering]
textures/vram_compression/import_etc2_astc=true
Without this, Android export silently fails with a blank configuration error.
export_presets.cfg(Shared — this entire preset is language-agnostic and identical for C# and GDScript projects.)
Place in the project root. Minimal working preset:
[preset.0]
name="Android"
platform="Android"
runnable=true
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path=""
patches=[]
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
custom_template/debug=""
custom_template/release=""
gradle_build/use_gradle_build=false
gradle_build/gradle_build_directory=""
gradle_build/android_source_template=""
gradle_build/export_format=0
architectures/armeabi-v7a=false
architectures/arm64-v8a=true
architectures/x86=false
architectures/x86_64=false
keystore/debug=""
keystore/debug_user=""
keystore/debug_password=""
keystore/release=""
keystore/release_user=""
keystore/release_password=""
version/code=1
version/name="1.0"
package/unique_name="com.example.PROJECTNAME"
package/name=""
package/signed=true
package/app_category=2
package/retain_data_on_uninstall=false
package/exclude_from_recents=false
package/show_in_android_tv=false
package/show_in_app_library=true
package/show_as_launcher_app=false
launcher_icons/main_192x192=""
launcher_icons/adaptive_foreground_432x432=""
launcher_icons/adaptive_background_432x432=""
launcher_icons/adaptive_monochrome_432x432=""
graphics/opengl_debug=false
xr_features/xr_mode=0
screen/immersive_mode=true
screen/support_small=true
screen/support_normal=true
screen/support_large=true
screen/support_xlarge=true
user_data_backup/allow=false
command_line/extra_args=""
apk_expansion/enable=false
apk_expansion/SALT=""
apk_expansion/public_key=""
permissions/custom_permissions=PackedStringArray()
permissions/internet=false
Replace PROJECTNAME in package/unique_name with the actual project name (lowercase, no spaces).
Empty keystore/* fields fall back to the debug keystore in editor settings — this is correct for debug builds.
Do NOT set gradle_build/min_sdk, gradle_build/target_sdk, or gradle_build/compress_native_libraries when use_gradle_build=false — Godot rejects them.
The preset name ("Android") must match name= in export_presets.cfg.
[C# only] — Build .NET, then export:
dotnet build
mkdir -p build
godot --headless --export-debug "Android" build/game.apk
dotnet build must run first so Godot embeds the freshly compiled DLL from bin/.
(GDScript) — export directly, no build step:
mkdir -p build
godot --headless --export-debug "Android" build/game.apk
There is no dotnet build — skip it entirely. No Mono overhead, no assembly trimming, no DLL embedding; your .gd scripts ship inside the .pck.
[C# only](GDScript projects can skip this section — none of it applies.)
dotnet build must succeed before export — Godot embeds the compiled DLL from bin/.[DynamicallyAccessedMembers] or disable trimming if needed.textures/vram_compression/import_etc2_astc=true in project.godotdebug_keystore, debug_keystore_user, debug_keystore_pass) must be set together or nonecannot connect to daemon — benign, just means no adb server is running (no device connected)min_sdk, target_sdk, compress_native_libraries cause errors when gradle build is disabled[C# only] — if game crashes on launch with TypeLoadException, a required type was trimmed. Rebuild with trimming disabled or add preserve attributes.[C# only] — export silently uses stale DLLs from bin/. Always rebuild before exporting. (Not applicable to GDScript — there is no build step.)npx claudepluginhub cnqdztp/godot-skills --plugin godotProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.