Making an interactable menu (some_kid & đť•‚or's version)

Intro

'Ello there, đť•‚or here! Welcome to another guide by one of your fellow gimkitters.

So, while I was working on my new game, I decided, why not make a menu? It shouldn’t be too hard, right? And that’s exactly what I found out - it’s easy!

Ahead of time, yes, I searched before I posted. There are only TWO other guides on this topic, one without pictures by @Anonymous and the other with pictures by @JoeTheChicken, which uses a different system than mine (I think it’s more complicated, to be honest). This uses no block code, similar to his system.

Well, let’s not get onto the guide!

Materials

3x zones – depends on how many menu options you want, i’m doing three here

10x text boxes - 3 per menu option, depends on how many you want + the title

1x teleporter

2x popup (2nd is optional)

1x end game (optional)

1x barrier

1x camera point

Guide

Part 1 - Background & Title

First, grab a barrier. Set the alpha (a.k.a. transparency) to 1.00, and make sure it’s a rectangle. Make it MASSIVE as big as you need it to be. Normally, I’d suggest black, because it looks the best – but of course, it’s your choice.

Whenever you add a prop or device to the main menu, make sure you set it to the “above” layer. Keep the barrier on the bottom layer for now.

Add the text in any color you want, whatever suits you. I used orange, AND it might look weird because I also used barrier art (thank you @Heliolatry for the tree!).

’

Part 2 - Menu Options

Grab some text (remember, 3 per option), and edit them to say what you want. One could be “Start Game,” another “Options,” and another “Quit,” or whatever you want.

Then, add another text device for each option. Insert these arrows (🢖🢔) and add spaces between them so that they point inwards at each option.

Now, grab some zones. Don’t do anything to them yet, just put them in the similar area as the text.

Here is the example:

Part 3 - Camera Setting

Add a camera point to the center of your title screen. Set it to activate when recieving on gameStartAll and deactivate when recieving on select.

place 2 lifecycles and a relay off to the side.

Set one lifecycle to transmit on gameStart when the game starts. Set the other to transmit on gameStartAll when a player joins late. Set the relay to transmit on gameStartAll as all players when recieving on gameStart.

Part 4 - Placing the Player

Place a spawn pad that only takes effect during the game phase where the first option is on top of the first option. Make sure this is the only game phase spawn pad on your map.

Place barriers around the buttons such that the player can’t leave the button selection zone by simply walking away. Make sure the barriers aren’t visible in-game.

Respawning System

If you have a respawning system in your game, like, if the player dies during the game or has to go back to the start, add a checkpoint to wherever you need it to be, and have it activate on select (we’ll use this later). Now, if you respawn/die, you’ll just respawn back to where you want it to.

Let’s go onto the next section.

Part 5 - Button Selection

Now, we’re onto the mechanics section.

Give each zone these settings:

  • When player enters zone, transmit on highlight1

  • When player leaves zone, transmit on unhighlight1

Give each of the arrow texts these settings:

  • Show text when recieving on highlight1

  • Hide text when recieving on unhighlight1

  • Content scope player

For the settings in the menu options past the first one, change 1 to the number of the option. For the arrow texts past the first option change the following setting:

Visible on game start no

Part 6 - Choosing an Option

Place down a counter for each option. Give each of them the following settings:

  • Starting value 1

  • Reset when recieving on highlight1

  • Count scope player

For the settings in the counters past the first one, change 1 to the number of the option.

Place down 3 checkers and give them the following settings (Note: DO NOT copy the checkers. Copying checkers causes a bug where they behave as though they don’t exist.):

  • Check when recieving on select

  • When check passes, transmit on selectOption1

  • Check type value of property

  • Property highlightedButton

  • Comparison Equal To

  • Value 1

For the settings in the checkers past the first one, change 1 to the number of the option.

Create a number property with player scope and a default value of 1 named highlightedButton.

Place a button where the option zones are, and change the size so it’s big enough to encompass all 3 options. Change the following settings:

  • Button message Select

  • When button pressed, transmit on select

  • Visible in-game no

Finally, move the huge barrier you made at the start to the above layer, but below everything else, and you’re done!

Finished Product Examples

This system will transmit on selectOptionX, with X being the number of the option the player selected.

Optional Design Suggestions

Riff suggested this, and it’s to have specific designs for games. For example, in a space game, you could have a shooting star or a moon in a night sky as a menu background. For maybe winter, you could have small trees, a snow globe or maybe a santa hat.

Outro

Well, that’s all from us, folks! You can thank me (𝕂or) and your local gimgineer, @some_kid. If you need any help with this, just ask us!

Guide Credits

@some_kid
@Kormorant
@RiFF_NickZ for design suggestions

Give this guide a like :heart: if you enjoyed it, and we’ll see you in the next guide!

Happy gimkitting (thanks @here_to_help),
Kiddo & Kor

20 Likes

Thanks for posting the guide, Kor!
Like it says, I’ll be able to help with any questions you all have about the mechanics.

4 Likes

do the barriers have to stay visible?

Also, what’ll happen if you walk while teleporting to the menu? [1]


How did you 2 make an ENTIRE GUIDE without me knowing.


  1. I leave boxes when I do that ↩︎

4 Likes

It’s spawning you in, so you’re not being teleported. There should be no issue.
Barriers won’t be visible because they’ll either be invisible in settings or just will be under the black barrier.

hehe.

That was @some_kid’s part - he wrote that section. Ask him!

4 Likes

Great guide, both of y’all! :DD

You might wanna add the top-down tag in, since this wouldn’t be able to be used for a platformer.

Why do you need all the checkers and properties, though?
Is it 'cause it would bug out in multiplayer without?

(I swear I read the guide ;-;)

That makes some sense, but why couldn’t you just have buttons activate/deactivate when you leave/enter the zone? Then have those transport you to where ya need to be?

4 Likes

The counter resets so it sets the property to its value when you move over the zone assigned to that counter. This way, the property is always set to the number of the option you have selected. Then, when the button is pressed, it checks what the property is set to and broadcasts on the channel the currently selected option is meant to broadcast on.

Does that make any sense?

Just like the guide fellas!

1 Like

Eh. That probably would’ve been a better way to do it.
That would’ve made the select button momentarily disappear then reappear for a second though, so I’ll just say that’s why I did it that way.
I also didn’t wanna use overlays because those are small and easy-to-miss. Games also like to use those for a lot of other things as well.

1 Like

Very nice guide!

If you’re making some kind of space main menu, maybe add like sh0oting star effects that moves. You know, the white long-lines everywhere around your main menu. (It’s optional tho).

And when you’re making a winter game that looks like the main menu, it’s best to add cool effects too, like lava game, sunny, game, etc.

Overall, I rate this a

10/10

1 Like

Thank you! I don’t fully understand by what you’re saying: are you asking a question or making a suggestion? Because if it’s a suggestion, I can add it to the guide as a new section.

1 Like

Yayyy kormy guide

The layout is very neat, very useful to players

Nice one kormo and someo

1 Like

Yea, it is a suggestion, but it is optional.

[1]


  1. Idk why I was flagged. ↩︎

hehe

Anyway great work guys, I like that you featured multiple simple examples of finished products! It would be great if you had in-game images of them, though (without the devices and whatnot).

Grammatically, pretty good! One thing that could be improved would be explaining why 'things work and why they’re necessary. It could help people better comprehend the instructions and encourage thought about possible simpler or more memory-efficient workarounds.

Overall, 7.5/10! [1]


  1. my ratings are pretty austere though lol so 7.5 is really good in my book ↩︎

3 Likes

Hi! To find out what I can do, say @discobot display help.

1 Like

You’ve disabled me in your preferences. You need to allow new user onboarding tips to interact with me.

1 Like

Please stop pinging discobot or posting off-topic things on this guide.

1 Like

bump!
enjoy the guide!

4 Likes