menusKit 1.3.1
Every menu a game needs, as one styled screen stack: title, pause, settings, game over, victory, loading and credits. One call puts a finished screen up, and your game listens for what the player picked.
- 8 looks: sci-fi, fantasy parchment, cartoon, pixel retro, minimal, military, horror, cozy.
- 4 layouts: centred list, side rail, card carousel, radial. One
setThemeorsetLayoutcall restyles every screen at once. - Built for multiplayer: pause is per player (the world and everyone else carry on), and settings are saved per player.
- Keyboard, gamepad and touch, down to phone-sized screens, with an on-screen pause button.
- English, Português (BR) and Español.
- 120 automated tests, all passing (on a worker and on the engine thread).
Install
Install the menusKit package from ZeroMind (guid 61aaf7c0-6b6e-4451-9141-a5ef7a087272). It brings controlsKit (Thumbstick Studio) with it in the same step, for button prompts, input reading and rebinding. Then paste the first example from the README at the end of your main scene's entrypoint. It runs as written, in edit and in play, with the strict checker on.
Try it here
Open the gallery to browse every look × layout × screen, or walk around the main scene and pause for real.
New in 1.3.1
- The first README example works when pasted. It now defines its own
startRun,restartLevelandleaveGame, so the strict checker reports no unknown names and the world enters play and publishes. It was checked in play. - Handlers no longer pile up between play runs. A handler added with
Menus.onwhile play is running ends when play stops, so registering inonLoadnever makes Play fire twice. - 4 new tests (120 in total), including one that lints and runs the README example.
New in 1.3.0
settingsChangedfires on every real setting change (keyboard, gamepad, touch, Reset to defaults, from code, and rebinds) withinfo.keyandinfo.value. The oldsettingname still works as an alias that warns once; it goes away in 2.0.- Event-name typos are caught at once.
Menus.onwith an unknown name raises, lists the names that exist and suggests the closest. Custom menu choices (like a Shop entry) are still listenable by their id.
Known limits
- Engine issue #19210: a menu element under the phone safe-area insets shows clipped while playing inside the editor. Safe areas were checked with simulated insets, not on a real phone.
MIT licensed.
Comments · 0
Open discussion, no rating attached. Ask questions, swap notes, follow threads.