Quick answer: An Include runs its events exactly at the point in the sheet where the Include sits. To control whether shared logic runs before or after local logic, move the Include up or down.

A shared “movement” event sheet is Included at the bottom of a level sheet. Local logic that reads the player’s post-movement position runs before movement — because the Include is below it.

Includes Are Inlined at Their Position

An Include isn’t a “module loaded globally” — it’s effectively the included sheet’s top-level events pasted in at the Include’s location. Events above the Include run first; events below run after.

Order Your Includes Deliberately

// level event sheet
[Include: input_handling]      ← reads input first
[Include: movement]            ← applies movement
... local level events ...     ← react to the result
[Include: rendering_helpers]   ← last

Treat Include placement like a pipeline stage. Input → simulation → reaction → presentation.

Multiple Includes of the Same Sheet

Including the same sheet twice runs its events twice. That’s rarely intended — check for accidental duplicate Includes if logic seems to double-run.

Groups for Finer Control

If you need only part of a shared sheet at a different time, split it into Groups and activate/deactivate them, rather than relying solely on Include position.

Verifying

Local logic that depends on movement now runs after the movement Include. The execution order matches the pipeline you intended.

“An Include runs where it sits. Order Includes like pipeline stages, top to bottom.”

Keep a consistent Include order across all level sheets — input, sim, reaction, render — so behavior is predictable everywhere.