GMC HUD display

33 views
Skip to first unread message

Phillip Moore

unread,
Nov 18, 2025, 2:04:15 PM (11 days ago) Nov 18
to mpf-...@googlegroups.com

Just getting started with MPF and GMC slides.

My modes have info like mode timer, mode icon and status as well as a background video.

When I stack modes with a multi ball it will take priority and display its background video but I want to combine the multi ball HUD items with my mode HUD items.  Additionally when they hit a mode shot I want to display that animation and score but its behind the multiball slide

What's the best way to do something like this?

I was reading the link below and felt like the special overlay slide was heading the right direction but this seemed like a general thing modes do and maybe not the right way.  It seems things like score should almost always be on top of everything vs swapping out slides that all have player scores duplicated on them.
https://missionpinball.org/latest/gmc/slides/



Anthony van Winkle

unread,
Nov 18, 2025, 9:22:23 PM (11 days ago) Nov 18
to MPF Users
Welcome to MPF!

The best way would be to use multiple slides at different priorities. Every slide currently being played is on a stack with highest-priority ones on top. Each slide by default has the priority of the mode that played it, but you can customize the priority in your slide player. (Note that custom priority values will be _added_ to the mode priority; they are not absolute values).

So for your situation you'd want to make your base slide just the stuff that would exist at the very bottom, and have a separate HUD slide that runs at a very high priority (to be higher than your multiball and other modes' slides). If you want an extra multiball HUD slide, add that too! Godot scenes can have transparent backgrounds, so it's no problem to have your text and such on the UI slide on top of another slide for background.

# Base mode: priority 200
slide_player:
  mode_base_started:
    base_slide:
      action: play  # will play at priority 200
    hud_slide:
      action: play
      priority: 1000  # will play at priority 1200
  mode_shot_hit:
    mode_advance_slide:
      action: play
      expire: 8s
      priority: 900  # will play at priority 1100

# Multiball mode: priority 800
slide_player:
  mode_multiball_started:
    multiball_slide:
      action: play  # will play at priority 800
    multiball_hud_slide:
      action: play
      priority: 399  # will play at priority 1199
  jackpot_hit:
    jackpot_slide:
      action: play
      expire: 5s
      priority: 20  # will play at priority 820

In that above example, you'll start with the base and hud slides. The multiball slide will cover the base slide but not the hud, and the multiball hud will be right next to the main hud. A mode advance slide will be higher than the multiball slide but still below the hud slides.

Hope that helps!
Reply all
Reply to author
Forward
0 new messages