Skip to content

Audio and VFX

Sound and effects make graph behavior readable. A pickup should ping, a hit should shake or flash, and important actions should have visible feedback.

Import audio

Use Add -> Sounds to import sound effects or music. You can also record clips from the Sounds modal or from a Mic node in Sound Canvas.

Good sound names:

WeakBetter
sound1sfx_coin_pickup
hitsfx_slime_hit
musicmusic_level_1_loop

Short clips work best for repeated actions. Keep music separate from effects so you can control it at scene level.

Shape sounds in Sound Canvas

Importing is only the first step. Use the Sound workspace when a clip needs trimming, layering, normalization, or synth/noise design before gameplay.

Typical uses:

  • Trim silence and normalize a raw recording.
  • Mix impact + noise layers into one pickup sound.
  • Bake blips and UI tones from Tone presets.
  • Record through Mic, then save a cleaned WAV.
  • Bake multiple Variation takes from one graph.

Sound Canvas produces ordinary WAV library assets. After saving, trigger them with Play audio in Flow or assign them as scene music. The canvas itself never runs in the exported player.

See Sound Canvas for board basics, node reference, and step-by-step tutorials.

Play audio from Flow

Use Play Audio in Object Flow or Scene Flow.

Common examples:

text
Coin / On Tap
  -> Add Counter / Add to variable (score +1)   # writes GameState
  -> Play Audio sfx_coin_pickup
  -> Destroy
text
Enemy / On Collision
  -> Health.damage
  -> Play Audio sfx_hit

Put sound close to the event that caused it. If a sound is global, such as victory music, Scene Flow is usually the better home.

Scene music

Use scene-level audio settings when one track belongs to an entire level or menu.

Good uses:

  • Menu music
  • Level background music
  • Victory/lose screen track
  • Ambient loop

If a track should change based on game state, trigger that transition from Scene Flow.

Speech and text feedback

The Say action displays runtime text near an object.

Use it for:

  • Quick tutorial prompts
  • NPC barks
  • Damage or status callouts
  • Debug messages while prototyping

Example:

text
On Tap
  -> Say "Locked!"

For persistent interface text, use the UI workspace instead of Say.

Spawn visual effects

Use Spawn VFX for short visual feedback.

Common presets include sparkle, smoke, bubbles, magic, confetti, fire, and splash.

Good patterns:

MomentVFX
Pickup collectedSparkle or confetti
Enemy defeatedSmoke or magic burst
Fire hazardFire
Water interactionSplash or bubbles
Reward unlockedConfetti

Keep effects brief and readable. If every action triggers a large effect, important feedback becomes harder to see.

Camera feedback

Flow includes camera actions such as focus, follow, reset, and shake. Use them sparingly.

Good uses:

  • Small camera shake on heavy hits
  • Focus camera on a discovered object
  • Restore camera after a cutscene beat
  • Follow the main player target

Avoid using camera shake for common tiny actions; it becomes tiring quickly.

Feedback recipe

For an important interaction, combine one visual, one audio, and one state change:

text
On Tap
  -> Add Counter score +1   # GameState variable
  -> Spawn VFX sparkle
  -> Play Audio sfx_coin_pickup
  -> Destroy

For damage:

text
On Collision
  -> health.damage
  -> Spawn VFX smoke
  -> Play Audio sfx_hit
  -> Camera Shake

Troubleshooting

ProblemCheck
No soundThe clip is imported, the node field points to it, and browser audio is allowed after user input
Wrong soundRename clips and verify the node field after duplicating graphs
VFX appears in wrong placeCheck object target and offset fields
Too much visual clutterLower VFX count or duration, or reserve effects for important events

Opal Engine — MIT licensed