I make small games with Godot and publish them on Itch.io and other web portals. The web export was always the part that ate my time: threads switched on by accident, a wrong file name, crackling audio, no sound until you click, or the game getting cut off on the portal. Finding the right setting for each of these in the editor is a little adventure of its own.
Greenlight checks your project and your real export presets, shows a green/yellow/red list in its own dock, and fixes most problems with one click.
What it checks (and fixes)
- Web export preset exists – creates one if missing
- Thread support is off – turns threads off (most portals don't send the COOP/COEP headers threads need)
- Export file is called index.html – renames it
- Web export templates are installed
- Main scene is set – uses the scene you have open
- Stretch mode is on – sets canvas_items / expand
- Web audio – latency, "Sample" playback and browser mix rate back to Godot's web defaults
Fix all does everything in the right order. If your project has more than one web preset, every preset gets its own rows, and Fix all asks which presets it should change. With only one preset it just fixes it.
Every problem shows a Where: path to the setting, so you can also change it yourself – in your editor's language.
Godot only loads changed export presets after a restart. Greenlight asks you to restart and keeps a "Restart needed" note in the dock until you actually did.
Click to start
Browsers don't play audio before the player has clicked something. Greenlight adds a WebToolkit autoload:
func _ready() -> void:
await WebToolkit.wait_for_start()
$Music.play()
In the browser this shows a simple start screen ("Click to start" in the player's language). In the editor it just continues.
Details
- Godot 4.5, 4.6 and 4.7 (tested on all three)
- English and German
- Only touches the lines it fixes in export_presets.cfg – everything else in your presets stays as it is
- Pure GDScript, no dependencies
Coming next (work in progress)
Greenlight stays completely free. The next update is currently in development:
- CrazyGames integration – midgame and rewarded ads with one line of code. Your game is paused and muted automatically during ads, the CrazyGames sound toggle is respected, and gameplay events and adblock detection are included.
- Test in the browser with one click – Greenlight exports your web preset, starts a local server and opens the game, optionally with CrazyGames test ads.
- Pause on tab switch – the game pauses and mutes when the player switches tabs, and continues when they come back.
Further ideas on the list: a "jump to setting" button, more web portals, a build size check and a performance check for stutter and low FPS in the browser.
Found a bug or missing something? Write to [email protected]
More Projects: impact-cores.de
Changelog for version 1.1.0
2026-10-14 16:37:16
No changelog provided for this version.