API Reference › Program structure › public
keyword

public

scene Name start public { … }

public marks a scene, layer, or event as part of the game's public surface, so its lifecycle is emitted as named events other systems and mods can react to with @On. A public scene fires scene_<Name>_enter and scene_<Name>_exit; a public layer fires layer_<Name>_show / _hide. It is the declaration-level counterpart to the @Public annotation that promotes a model or handler's lifecycle hooks. Keep it off by default and add it only where the modding surface genuinely needs the hook.

Example

program Flow {
  @On(scene_Menu_enter) handler Greet { print(1) }

  scene Menu start public {
    on enter { print(10) }   # entering Menu prints 10, then fires scene_Menu_enter
    on exit  { print(20) }
  }
}
← All symbols