In contrast to event driven scripting like Roblox, games on All Out use a frame lifecycle model that allows you to run code when the game starts, each frame, and at the end of a session.
All Out games run on a simple lifecycle: some callbacks happen once at startup, and some happen every frame.
You’ll implement these callbacks either:
Globally (top-level ao_* procs in main.csl), or
On components (methods like ao_update inside Player or your own Component subclasses)