Quick answer: Add a System → Pick all Array action before Set Array X, Y. Confirm the Array’s Global property is Yes if you need cross-layout persistence.

Inventory event sets array X=0 to 5. Next tick reads X=0 and gets back the old value. Picking from a previous condition narrowed which array instance was modified.

The Fix

Event:
  On player picked up coin
    System: Pick all Array              // reset picking
    Array: Set value at (0, 0) to 5     // targets THE Array
    Browser: Log "set, now=" & Array.At(0, 0)

Object property:
  Array (right-click) → Properties:
    Global: Yes

Pick all Array clears any prior pick narrowing the instance set. Global ensures the array survives layout changes.

Verifying

Set then read on the next tick: value matches. Without Pick all: value reverts. Browser console logs make the cause obvious.

“Pick all. Set. Persists. Global for cross-layout.”

Related Issues

For Construct 3 family pick, see browse the blog index for more Construct 3 fixes.

Pick all first. Array sticks.