Create a Studio plugin
Studio plugins extend the Studio map renderer without replacing the map component. Use them for client-side Studio tools such as debug overlays, editor helpers, visual diagnostics, or custom map rendering aids. Studio plugins are client-side rendering extensions. They do not create gameplay authority and they do not replace server-side map, event, or collision logic.Built-in debug plugin
The simplest way to display Studio collision overlays is the compatibility shortcut:hitbox() width and height. This can differ from the visible sprite bounds when
the sprite is larger than its collision box.
Player hitboxes are displayed by default with the same overlay. Set
players: false to hide the player collision box while keeping event collision
boxes visible.
You can also attach it explicitly:
Create a plugin
A Studio plugin is an object with anid and optional renderer hooks.
studioPlugins:
Renderer hooks
UseterrainOptions(ctx) to add options to the Studio terrain renderer:
elementRenderOptions(ctx) to add options to Studio element rendering:
eventLayerPixiChildren(ctx) to add Pixi objects to the event layer. The returned objects are mounted next to Studio events, players, low elements, and wall occlusion sprites.
__studioMapPluginUpdate, Studio calls it every frame while the child is mounted.
Plugin context
Each hook receives:engine: the active client engine.mapanddata: the current Studio map render data.