Light Shows Tutorial
This tutorial will walk you through setting up a workflow for designing pinball light shows in Godot and exporting them for use in Visual Pinball X (VPX).
By using the GMC plugin and GMC Toolbox, you’ll be able to visually lay out lights, animate shows in the Godot Editor, and export them as YAML files that can be used in your VPX table using.
Step 1: Set Up Your Godot Project
Follow the excellent guides on installing the mpf-gmc and gmc-toolkit from the above repositories.
Step 6: Position Your Lights
- Open
playfield.tscn - In the scene tree, you'll see a list of
GMCLightnodes - Use the Move Mode (crosshair icon at top) to drag and position each light over your playfield image
- The warning icons will disappear once each light is positioned
- Optionally, you can customize each light's:
- Shape
- Size (in inches)
-
Rotation
-
Save the scene
Step 7: Animate Your Show
- In the scene tree, add an
AnimationPlayernode as a child ofGMCPlayfield - Select the root
GMCPlayfieldnode -
In the Inspector, under
GMCPlayfield > Animation Player, assign yourAnimationPlayer -
Use shapes (
ColorRect,TextureRect, gradients, etc.) to design your animation - Add keyframes for:
Modulate(color)Position,Rotation,Scale(movement)- Name your animation something meaningful (e.g.,
intro_flash,sweep_left)
💡 Tip: Use the Animation panel at the bottom of Godot to set durations, create tracks, and preview your animation in real time.
Step 8: Export Your Show
- Go back to the GMC Toolbox panel
- Click Refresh Animations
- Select your animation from the dropdown list
- Set the FPS and strip options
- Click Generate Show
📝 The show will be saved to your project's
/shows/folder as a.yamlfile.
This file can now be used as a light show in your VPX project using MPF!
Step 9: Use the Show in VPX
In your MPF config (e.g., mode or show YAML), reference the show file you created:
```yaml - play_show: show: intro_flash