Godot plugin

The plugin links your Godot project to Gomo Sounds: it sends your game's scenes to the site, lets you generate and pick sounds right in the editor, and installs the chosen ones into the project, ready to play by sound name. It comes with every plan, free included; generating sounds uses credits, same as on the site.

What it does

  • Each scene in your game (unit, enemy, building) reaches the site with a thumbnail and becomes the label (image and name) on the cards of its sounds.
  • You generate, listen to and pick sounds in the Gomo Sounds dock inside the editor, or on the site.
  • The chosen ones come down to the project as .wav files, with looping already set on import.
  • In the game, one line plays the sound: the plugin picks among the chosen versions and nudges the pitch so it never sounds repetitive.

You need Godot 4 (4.3 or newer) and a Gomo Sounds account.

Install

Download the plugin (.zip)Current version: 0.7.2

  1. Download the plugin and extract the .zip into the project root: it goes to addons/gomo_sounds.
  2. In Godot: Project → Project Settings → Plugins and enable Gomo Sounds.
  3. The Gomo Sounds dock shows up on the right, and the plugin registers the SfxLibrary autoload (that's what plays sounds in the game).

With an AI assistant connected to the MCP (Claude Code, Cursor...), ask it to "install the Gomo Sounds plugin in the project": it downloads and extracts the .zip for you (after your ok, deleting nothing) and tells you what is left to do in the editor: enable, connect and sync. Never delete the addons folder with the editor open: the loaded plugin loses its own files and the site refuses the sync.

Connect

In the dock, click Connect. The browser opens the site with a code (like ABCD-EFGH): check it matches the dock and approve. The editor never asks for your password, and the key is stored only on your computer (in the editor settings, outside the repository). The code lasts 10 minutes.

The project links to a game on the site that you pick in the dock's Game list. The dock opens with no game picked and never picks one on its own; no game yet? Click Create the game in the dock (it takes the project's name) or create it on the site and click reload. The game id is saved in project.godot, so anyone who clones the repository lands on the same game.

1. Send scenes

The plugin looks for scenes (.tscn) in folders like units, characters, enemies, buildings and entities (the whole project if none exists). Tick the ones to send and click Sync selected. New scenes land in the game's Inbox on the site (the Godot badge at the top of the game screen), for you to place in folders.

Left out: the addons folder, effect, part and UI folders (effects, vfx, components, models, ui...), "base" scenes other scenes inherit from and, by default, scenes that already have sound (an AudioStreamPlayer or an audio file).

2. Make the sounds

With the scenes on the site, create each one's sounds (Attack, Die, Footsteps...) and generate them: from the dock in the editor (pick the sound, describe it and click Generate) or on the site, where you can also edit, trim and hear everything together in the Studio. Generating costs credits; picking and installing don't.

3. Install into the project

Click Install chosen sounds. The plugin shows what will change (new, updated, moved, deleted) before touching any file. Where the sounds go:

Gomo folder (recommended) res://gomosounds/<entity>/<event>.wav
A sounds folder next to the scene <scene folder>/sounds/<scene>_<event>.wav
Next to the scene <scene folder>/<scene>_<event>.wav
Custom location <chosen folder>/<entity>/<event>.wav
  • More than one chosen version: the first has no number and the others get _2, _3...
  • Sounds with no scene (Interface, Ambience, folder sounds) always go to the main folder.
  • The plugin never deletes or overwrites a file it didn't write, or one you edited (unless you tick replace).
  • A catalog (gomo_sounds.tres) records what was installed; moving files inside Godot doesn't break anything.

Play in the game

The SfxLibrary autoload finds the sound from the node's scene and the event name (ignoring case and accents). On a Node3D the sound is 3D, on a Node2D it's 2D, otherwise it plays as a UI sound. The sound keeps playing even if the node is freed (a death, for example).

# the "Attack" event of this node's scene
SfxLibrary.play_event(self, "Attack")

# the first one that exists
SfxLibrary.play_first(self, ["Gun Shot", "Attack"])

# a looping sound that follows the node (footsteps, engine)
var steps := SfxLibrary.attach_event(self, "Walk")
SfxLibrary.stop(steps)

# an Interface sound, by key
SfxLibrary.play("@interface/buttons.click", self)

There's also has_event(node, name) to check whether an event has sound and reload_catalog() to reload after installing with the game running.

Exporting the game

When exporting with a preset that includes only selected scenes or resources, the plugin adds the catalog and the imported sounds by itself. With "all resources", nothing changes.

Command line

For continuous integration, the plugin runs without the editor, with the key in an environment variable:

GOMO_API_KEY=gomo_... godot --headless --path . \
  -s addons/gomo_sounds/tools/sfx_cli.gd -- sync

GOMO_API_KEY=gomo_... godot --headless --path . \
  -s addons/gomo_sounds/tools/sfx_cli.gd -- install

What leaves the project

  • Sent to the site: the name and description of each ticked scene, a small thumbnail, the scene path and the project name.
  • Never leaves the project: your sounds, scripts, models and textures, and the scenes you didn't tick.

What's new in the plugin

Current version: 0.7.2

0.7.2 2026-11-11

  • The default names the plugin creates when a name is missing are now in English: "sound" (was "som"), "folder" (was "pasta") and "sounds" (was "sons"). Files with the old names move on the next Install, which shows the change first.

0.7.1 2026-11-11

  • The plugin gets a license (MIT) and a README, and the tests run outside the website with their own sounds: it is ready to become a public repository. A console warning that came out in Portuguese is now in English.

0.7.0 2026-11-03

  • The catalog (gomo_sounds.tres) stores each track's tempo (bpm on each file, null when it is not music or the site doesn't know it): the game can sync its visuals to the beat. Existing installs get the bpm on the next Install, without downloading the audio again.

0.6.0 2026-10-30

  • Music: SfxLibrary.play_music("@music.theme") plays the chosen versions of a track in sequence, crossfading from one to the next (SfxLibrary.stop_music() stops, with a fade). The catalog stores each event's tab (section); sounds keep picking one variation per play.

0.5.2 2026-10-27

  • The dock talks like the website's new game screen: sounds and versions (before, events and variations), and scenes go into a folder (before, a "tab").

0.5.1 2026-10-19

  • Installing no longer gets stuck on "Downloading…": waiting for Godot's import has a time limit (it used to count frames, and with the editor unfocused that took minutes or never ended). The dock shows "Importing into Godot…" after the download.
  • Clicking Install with nothing new fixes what an earlier install left halfway (each file's loop and id) and tells the site the sounds are in the game.

0.5.0 2026-10-18

  • The dock opens with no game picked and only links the project to the game you pick in the list: it no longer picks by the project name or creates a game on its own (it linked to the wrong game when the account had two with the same name). With no game picked, the steps stay hidden. Projects that already had a game keep it.
  • With no game picked, the "Create the game" button creates one with the project's name and links to it. If one with that name already exists, the button says "Create another game", so nobody duplicates it by accident.

0.4.1 2026-10-18

  • The plugin version is read once and kept: if the addons folder is deleted and copied back with the editor open (a tool reinstalling), the site no longer sees "0.0.0" and refuses the sync.

0.4.0 2026-10-18

  • play_music, play_music_event, stop_music, music_key and bus_music are gone: the site's Music tab is back to "coming soon". A track lives in a regular folder and plays with play() or attach_event(), like any looping sound.

0.3.0 2026-10-17

  • Music: SfxLibrary.play_music("@music.main-theme") and play_music_event("Battle") play the track from the site's Music folder, one at a time, looping and without position; switching tracks crossfades and stop_music() stops it.
  • SfxLibrary.bus_music sends the track to its own bus (e.g. "Music"), with a volume apart from the effects.

0.2.0 2026-10-15

  • The plugin now talks only to the site's MCP: the same rules for credits, limits and plan.
  • Warns when a new version is out, with the download link.
  • The "Improve with AI" button is gone: the sound description is already improved when generating.
  • Sound duration goes up to 30 s.