Quick answer: Construct 3 Touch plugin not registering a third or fourth simultaneous finger? Use TouchCount and the indexed event variants — the “Is touching” condition only inspects the primary touch.

A four-button on-screen controller drops inputs when the player presses three buttons at once. The condition reads only touch 0.

Per-Touch Conditions

The Touch plugin exposes For Each Touch. Inside the loop, conditions like Is touching X,Y evaluate against that touch — iterate to register all fingers.

Hit-Test Each Touch

For each Touch:
  -> If Touch.X,Y over Button A: trigger A
  -> If Touch.X,Y over Button B: trigger B
  ...

Each finger hits at most one button per frame.

TouchCount

Use Touch.TouchCount to know how many fingers are down. Touch.XForID(id) reads a specific finger.

Verifying

Pressing four buttons simultaneously triggers all four — no dropped fingers on touchscreen tests.

“Iterate touches with For Each. The default condition only sees touch 0.”

Confirm your test device supports the number of simultaneous touches you expect — some panels cap at 5 or 10 regardless of code.