Skip to main content
Each limit is a decision, not a gap. Knowing which one you have hit stops you designing against a wall. What does exist for the surfaces above: notify.send, asset overlays and the declarative preferences page. There is no general UI surface.

What a plugin can learn about the game

Less than the DataModel and more than nothing. A plugin holding state.read can call state.get for the place, universe, server, user id and join time. A plugin holding presence.set can hear cordial/game.presence. Three more core events arrive under lifecycle.read: a profile name, a version string and a shutdown. There is no player list, frame rate or memory figure: those need engine introspection.

A known method with no effect answers error

A method Cordial knows but has not wired an effect for answers error, not denied, so you are not sent looking for a permission that was never the problem.