; Copy to export_presets.cfg in the project root (or merge the preset ; into your existing file). The "Web" preset name is what the Makefile ; passes to `godot --headless --export-release`. ; ; `variant/thread_support=false` keeps the build runnable without ; COOP/COEP (cross-origin isolation) headers, which the game hosting ; does not send. Requires Godot 4.3+. [preset.0] name="Web" platform="Web" runnable=true advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" export_path="dist/web/index.html" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" seed=0 encrypt_pck=false encrypt_directory=false script_export_mode=2 [preset.0.options] custom_template/debug="" custom_template/release="" variant/extensions_support=false variant/thread_support=false vram_texture_compression/for_desktop=true vram_texture_compression/for_mobile=false html/export_icon=true html/custom_html_shell="" html/head_include="" html/canvas_resize_policy=2 html/focus_canvas_on_start=true html/experimental_virtual_keyboard=false progressive_web_app/enabled=false ; Desktop presets: the preset names match the Makefile's binary-* targets ; and the resulting zips follow the ReleaseAsset naming ; (--.zip). Windows/Linux embed the .pck into ; the executable (single-file builds); `modify_resources=false` because ; the CI image has no rcedit. [preset.1] name="Windows x64" platform="Windows Desktop" runnable=true advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" export_path="" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" seed=0 encrypt_pck=false encrypt_directory=false script_export_mode=2 [preset.1.options] binary_format/architecture="x86_64" binary_format/embed_pck=true application/modify_resources=false codesign/enable=false [preset.2] name="Windows x86" platform="Windows Desktop" runnable=true advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" export_path="" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" seed=0 encrypt_pck=false encrypt_directory=false script_export_mode=2 [preset.2.options] binary_format/architecture="x86_32" binary_format/embed_pck=true application/modify_resources=false codesign/enable=false [preset.3] name="Linux x64" platform="Linux" runnable=true advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" export_path="" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" seed=0 encrypt_pck=false encrypt_directory=false script_export_mode=2 [preset.3.options] binary_format/architecture="x86_64" binary_format/embed_pck=true ; macOS: a single universal (x86_64 + arm64) build — the official export ; templates only ship a universal binary, per-arch export would need ; custom-built templates. Exported as .zip (the only option when ; exporting from Linux), signed with Godot's built-in ad-hoc codesign ; (codesign/codesign=1), which works on any host platform. arm64 macOS ; refuses to run completely unsigned binaries, so signing is required. ; The universal export also requires ETC2 ASTC texture import in ; project.godot ([rendering] textures/vram_compression/import_etc2_astc=true), ; the arm64 slice refuses to export without it. [preset.4] name="Mac universal" platform="macOS" runnable=true advanced_options=false dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" export_path="" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" seed=0 encrypt_pck=false encrypt_directory=false script_export_mode=2 [preset.4.options] export/distribution_type=1 binary_format/architecture="universal" application/bundle_identifier="org.teletypegames.godotdemo" codesign/codesign=1 notarization/notarization=0