Sandbox Logo
09 June 2023

Game Menus

Games can now make their own menu system
Garry Newman
We've been fighting the game menu system for a while now. The challenge is to make a system that every game fits in. 

What I mean by that is, we need a menu that works for single player games, multiplayer games, games with saves, games with leaderboards. games where you choose a map, games where you don't choose a map, games where there is no map, games that need lobbies, games that don't need lobbies.

That's a lot to consider.. and ultimately when trying to make everyone happy, you're going to make no-one happy.
The solution is obvious. Don't bother. Just let each game define its own menu system.
Just to emphasise here.. we're not just letting you define your menu background and stylesheet. This is 100% created by the game - in c#. The game has full control over how these menus look and work.
We've been careful to try to avoid situations where you could become trapped in a game menu. There are windows style buttons on the top right that allow you to minimize and close the current game.
When you're editing your menu you get a couple of extra buttons, to reload and switch between modes.
Since we're letting you control the menu screen, it makes sense to let you make your own loading screens too!
Since the menus are just code.. for some games it doesn't even make sense to start a server. You can create the game right in the menu instance.

Of course, it doesn't have to be a game. We moved our UI tests, which used to be a part of the main menu, to a game project.

This only went live earlier this week and everyone is already having a lot of fun with it. It's unblocked a bunch of stuff in the whole menu system that was previously blocked.

There are still a ton of opportunities to be explored here, a lot more stuff we can expose.. so I'm looking forward to spending more time with it and seeing what people come up with.