Thanks for watching! Hope you learned a ton. ► Learn how to make money from your indie games (free webinar): www.fulltimegamedev.com/opt-in-how-to-make-six-figures ► Enroll in my 3D workshop, free!: www.fulltimegamedev.com/opt-in-easy3d ► Make your game instantly beautiful with my free workbook: www.fulltimegamedev.com/opt-in-instant-beauty-color-workbook ► Get my 2D game kit, free: www.fulltimegamedev.com/opt-in-2D-game-kit ► Join my 2D character workshop, free: www.fulltimegamedev.com/opt-in-2d-character-art-workshop ► Wishlist Twisted Tower: store.steampowered.com/app/1575990/Twisted_Tower/ ► Learn how to make money as a RUclipsr: www.fulltimegamedev.com/opt-in-indie-game-income-workshop
Hi! How do you implement diffrent menus to the main menu? Like how to get the new game button to actually start a new game? Where should the script go? Thanks in advance!
"Because I am a smart dude, I already have this all set up". I am not a smart dude, which is why I am watching a tutorial, and I have no idea how to set this up. Please don't just skip a huge section like that without linking to another video where you already did it step-by-step.
I think you guys should re-watch the video until the end. Where he actually shows off the necessary scripting (surprisingly simple). I made the same mistake as well.
Just a little advice for everyone who wants to work along with this tutorial: Do NOT animate your UI elements using the Unity animator! Even if the animator is "stuck" on a 1 frame idle animation it will still perform a set-call on EVERY field that is animated (position, scale, rotation, etc.) on EVERY frame of your application. While that alone is reason enough never to do that, it gets even worse: Even though nothing seems to change on your canvas those set-calls trigger the ENTIRE canvas to recalculate every single element it contains. Solutions: 1) Only animate your UIs via code using coroutines. It is the only way to ensure that nothing is updated when nothing is supposed to happen. 2) If you have an element that has to be animated 24/7 -> put it on a seperate canvas. That way the rest of your UI won't have to be recalculated every frame. 3) Uncheck "raycast target" on EVERY element that isn't interacteable in your design. Only leave it checked for buttons, sliders, etc.. Otherwise you might block input + you will trigger unnecessary calls on object that aren't supposed to do anything. 4) If you fade out elements by reducing the alpha: Consinder ".SetActive(false)" whenever alpha is 0. Just because you can't see it anymore, that doesn't mean the actual mesh isn't updated/recalculated. Unitys UI system can be a real bitch and performance killer. It might not matter as much for a very small menu scene like the one in this video, but you are going to feel the impact in a game scene that renders hundreds of UI elements + the actual game big time - especially on low end and mobile devices.
@@redyellowchef8767 I haven't used that one yet because I tend to write my own coroutines, but afaik it's been made for exactly that purpose, so why not give it a try.
Thank you for commenting this! I appreciate it, but for now I'm not going to be using LeanTween or something else because I feel that it would take me too long, and I like that I can take the skills I learned from the Animation system in Unity and use that experience for animating characters and things. But like you suggested, I may make another canvas at some point to separate animated stuff (but I'm not sure, I don't know how my game is going to turn out). So, if someone else read your comment, and it scared them off from following that part of his tutorial, I want to encourage them to continue! Because I think that later on, if we need to convert over to something else for animating menus, we can, but for now I think this is OK for beginner projects, which is what I'm making. Thank you so much! I will hopefully use it in the future. I wish you luck on your projects, as well, and in likeness to what I've heard other developers say: "Don't optimize too early!!" Thank you Wayne.
Stop complaining guys... he put the full project folder in the description. There you can see where every component and script is supposed to be. Great vid, helped me a lot!
I've been polishing my skills in game dev for a little over a year now. I moved over to Unity to learn arguably the biggest game engine out right now. And I quickly learned all the basic knowledge and how to do things I've already been doing; since if you know how to learn languages moving between engines is a quick transition. I watched a ton of your videos to get quickly orientated! And even though I've watched all of your videos a hundred times; I still like to come back because they're very motivational and peaceful.
hey man, would it be possible to maybe add your discord? I need help with a small problem im having in regards to this video and your help would be appreciated :P
I really appreciate this tutorial Thomas Brush, taking this video as a guide worked perfectly for the desired main menu system I got. However, the most important thing is missing. You haven't indicated on changing the main menu to option screen or any of those script in this video since what you did was apply your animation made script to your UI elements and not on a the button component itself.
Even as an intermediate unity user I still learned something. I didn't know about the use of those green borders in the sprite editor and now I know. Thanks for sharing Thomas!
As someone just starting out with Unity and game development in general, I have to say thank you for creating these videos. They are really helping me to get started and learn Unity. Keep them coming.
Worth knowing you can resize the UI elements uniformly using Alt, but there is a bit of a trick to it: You need to only hold down Alt after you’ve selected a UI corner with the mouse, otherwise dragging with Alt will move/orbit the scene. Loving the videos, keep up the good work!
I've been watching your content for several months. Thank you very much for taking the time to put these videos out there. I've been more motivated to get a game done because of you and I can't say thank you enough!
TextMeshPro solves all those spacing issues and crisp text issues and is now part of the Unity package! And also, the "capitalized" format you mentioned is called pascal case format.
Seems like you read my mind, I've discovered your channel two days ago while searching for Unity UI tutorials, watched two (maybe three) videos, and now you release a tutorial about it. Thank you
Thanks for making the assets available!!! I had a hard time figuring out how to get the "canvas (environment)" root for my prefabs, so it was super helpful to be able to click around the sample scene.
So glad I came across this! I am doing UI design for the second time for a game jam and I really want to make sure I get down how to make a beautiful main screen
I've been an aspiring game developer for longer than you have been successful at it, really motivating to see what the correct motivation and reinforcement can do with a skill set similar to mine... I am going to stop playing games and start making them. Keep the content coming, love your videos so far!
Thank you... I have been watching your videos ever since you made that pewdiepie game. I just felt a need to thank you. I am just glad that we have game designers as cool as you are who helps new people in game design. I want to make games for years but never could find enough time to spare for it due to financial needs for other works. Your videos inspire me in many ways. When finally I start making games, hopefully soon, I will come back and watch all off your videos again and again. Not only for unity lessons but mostly for the way you talk about beginning steps from your own experiences. There are many people who make unity lesson videos online but you are the first person I have seen who is making these videos parallel to his game design career. Don't get me wrong, all those people and their games are also awesome. But as far as I know, you made much more successful games compared to others in youtube, and you are so modest about your games. And you know what a beginner would feel or think so well that you make me emotional in your guide videos. I hope more people appreciate your work and effort. Just... Thank you. PS: I don't know why I wrote this under one of your old videos ¯\_(ツ)_/¯
I'm completely new to game design and have to make a small sample of a game as my final project. My teacher suggested to look at RUclips tutorials to help learn whatever I needed to. Your video seemed like the best option for learning how to make a main menu, especially one that felt alive and better than a still image on photoshop. However, this is far from a beginner tutorial. I found myself with 10 questions by 2:32 which isn't far into the video at all. Questions like what templates to use, and how to make my screen look like yours? If I was able to do my own while using your video as a guide? How does one make flourishes? Why are we changing pixels? and so on. Regardless of all that, it still stands that you're my best option considering I can't find any other tutorials on this, or that explains it all and isn't just a short.
I'm re-watching this as I'm making my first simplistic game, which I started during my first Ludum Dare experience this year. Even though I'm starting off simple before moving to my giant idea I have had for years, I told myself. This tutorial is finally helping me come up with my main menu idea for it. Thanks for these videos plus live streams Thomas. :D
Thanks to people like you, others have the opportunity to learn what they want so much. Tutorial as always very useful and interesting. Thank you so much!
I'm looking at this tutorial after having this in my Game Dev playlist for a while. After making my first menus using Unity's weird input/event system, this looks like the best method to execute switch menu to menu without any issues. Thank you so much for show me and others this.
For this type of use, I highly suggest people use GetAxisRaw instead of just GetAxis. It allows you to go through the menu faster as the axis value doesn't have to go from 1 -> 0 including float values.
Nice video, Thomas. However 72dpi is good for 1920x1080, or even 2560x1440... however your high dpi monitors (4K & 8K) run at the 96dpi level. So if your going to make any type of asset for 4K (such as your textures), make sure your pixel density is set to 96dpi. You shouldn't use the browser standard as a guideline, since modern browsers could really care less what the dpi is. Back in the day, 72dpi was coined as the standard. Not today, however.
Rather than using a gravity of 1000 in the input manager, you could use GetAxisRaw() to get the raw value of the input. This way you can preserve GetAxis() for cases when you might want this gravity. It's a preference thing but I find it easier to see the intention in code when it's written that way.
ID LIKE TO SEE U CONTINUE THIS LIKE THE ACTIVE BACK GROUND AND THE ZOOM WHEN THE SECOND MENU IS FIRED AND ALSO HOW TO ADD THO PARTICLE EFFECTS TO THE START MENU SELECTIONS OR IF I CAN HOST A PRIVATE CONVO WIT U THATS WOULD BE COOL IF I HAVE TO PAY I WILL
The button class can automatically use an animator if attached and properly setup. No need to even use a script to change those flags or navigate the menu.
Serious note, love you vids man. Keep up the awesome work. Working on my game and watching some of your vids has helped me solve a few brain blockages I've had lol
Photoshop has a built-in function for exporting layers as whatever you want. png, PSD, jpg etc. Go to File > Export > Layers to Files...choose location to save set options as you like
5:30 when you set it to free aspect, you can really see the image change to fit the aspect ratio, you just sizing the window by dragging does nothing, it's just making the screen smaller and not changing the aspect which really matters
Isn't it a generally bad idea to handle user input in a update function? It is checking every frame to see if there's user input. Wouldn't it be better to create a call back function that responds to user input? Like how windows handles messages?
but if we use animations in ui buttons then how can we use mouse hover property so that if a mouse is hovered on our button even then the animation plays up
Hi from France ! Great tutorial ! Thanks a lot ! I followed your tutorial to build my menu, but I have a lot of problems to switch between "Main menu" and "Save Select Menu" that we see in the end of your video. Please keep going (if you can of course) to make a next tutorial of this one (Gorgeous Start Menu - Part 2 for exemple). You are a master ! Thank you !
Hi @Thomas Brush your link to LayerToPNG isn't work because there's a ":" on the end of that line in your description. Thought I'd mention it, as it may confuse others.
I wish this tutorial mentioned how to get the buttons to function as intended. I would like to know how to get the "Start Game" button to load a new scene for example.
This is very basic but it should help you understand how it works. using UnityEngine.SceneManagement; // don't forget to add this to your script public class TitleScreen : MonoBehaviour { public void PlayGame() { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
} } This loads the next scene based on build index. Make sure to open Build Settings and drag your scenes into the "Scenes in Build" area of the popup menu. (the build index is shown on the far right) Attach this script to your Canvas. Select the button that you want to trigger the PlayGame() function Click the + to add a new event to the "On Click()" Drag your Canvas into the box that pops up A dropdown menu should appear with the label "No Function," simply Select the name of the Script (TitleScreen in this case) then the function (PlayGame()) Your button should load the next scene when you press it.
Isn't it a overhead to be checking in the update function for each button you have "if they are active"? Wouldn't it be more efficient to use a observer pattern and make the menu notify the button when the selected changes?
Textmesh Pro solves all of your text problems and is bundled with Unity. Photoshop also has the export options built in by default. Turn on File>Generate and add file extensions to any layers you want exported. Photoshop will now export those labels anytime you save.
Hey.. i know you are doing well. I have a question. Why did you not use actual button from UI instead you use a rectangle,text and script (to make it functional). Isn't it a lot of effort to do? Kindly, reason my query. Thank you.
Sorry, newbie with newbie questions 1. AT 9:33, is the MenuButton prefab from the Asset store? 2. If no above, is rectangle a 2D Sprite? 3. Another person asked and I didn't see an answer - does the default UI button have limitations as it relates to this tutorial By the way, thank you for the great guide and yes, it is a gorgeous UI.
1. No, it is a game object with children. If you drag it in the project folder it will create a prefab 2. Yes 3. I am not the best to answer to this question good luck
Awesome tutorial ! Is really nice to have such a tutorial to create a menu that is not only functional but also really beautifull. I subscribe direct !
*NOTE* Slicing (also known as 9-slicing) does *not* function as described in the video. In the video, he describes only the centre slice of the rectangle scales. This is incorrect. The center slice scales both vertically and horizontally whilst the non-corner edge slices scale either vertically (4th and 6th slices) or horizontally (2nd and 8th slices).
You had to code to scale a menu screen? What a nightmare, I'd rather go to hell as a Minister. I also just wanted to say thank you so much for all of your help with this, I have learned so much.
Very useful video. I think that a reference resolution 1920x1080 will be good enough for most games that does not have any 4k graphics like my checkers game. Cool button shake effect! Thanks very much I can now build any game I want for multiple screen sizes but to make a game for multiple languages still remains a challenge. The "Set Native Size" is no longer required because of updates and now when you import the image as a 2D sprite the shape and dimensions gets copied .
Great video, thanks for sharing. Do you have a video on putting together a 3D background for the menu like you briefly showed off in the end of this tutorial?
Thanks for watching! Hope you learned a ton.
► Learn how to make money from your indie games (free webinar): www.fulltimegamedev.com/opt-in-how-to-make-six-figures
► Enroll in my 3D workshop, free!: www.fulltimegamedev.com/opt-in-easy3d
► Make your game instantly beautiful with my free workbook: www.fulltimegamedev.com/opt-in-instant-beauty-color-workbook
► Get my 2D game kit, free: www.fulltimegamedev.com/opt-in-2D-game-kit
► Join my 2D character workshop, free: www.fulltimegamedev.com/opt-in-2d-character-art-workshop
► Wishlist Twisted Tower: store.steampowered.com/app/1575990/Twisted_Tower/
► Learn how to make money as a RUclipsr: www.fulltimegamedev.com/opt-in-indie-game-income-workshop
Hi! How do you implement diffrent menus to the main menu? Like how to get the new game button to actually start a new game? Where should the script go? Thanks in advance!
@@Diamondruhaa
what sound is playing in background
How about you go look at a normal ui button tutorial for stuff like that just improvise and change for new better thomas brush ui
@Shoo897 lol what? you good man?
Before designing those animations I suggest all beginner fellows to take a look at tweening. It will save a lot of time for you.
N OMEGALUL PE
this is the real advice, thanks mate
"Because I am a smart dude, I already have this all set up". I am not a smart dude, which is why I am watching a tutorial, and I have no idea how to set this up. Please don't just skip a huge section like that without linking to another video where you already did it step-by-step.
Lol, we almost think alike brother
Yeah I thought it was a great tutorial up til that point and then I had to scrap everything because he didn't show us how to get there. Disappointing.
I thought i skipped a part of the tutorial when that part of the video started, the tutorial was going very until that moment
I think you guys should re-watch the video until the end.
Where he actually shows off the necessary scripting (surprisingly simple).
I made the same mistake as well.
the part he just adds a deep paralax background and menu saving system into his game in a matter of seconds lol
Just a little advice for everyone who wants to work along with this tutorial: Do NOT animate your UI elements using the Unity animator! Even if the animator is "stuck" on a 1 frame idle animation it will still perform a set-call on EVERY field that is animated (position, scale, rotation, etc.) on EVERY frame of your application. While that alone is reason enough never to do that, it gets even worse: Even though nothing seems to change on your canvas those set-calls trigger the ENTIRE canvas to recalculate every single element it contains.
Solutions:
1) Only animate your UIs via code using coroutines. It is the only way to ensure that nothing is updated when nothing is supposed to happen.
2) If you have an element that has to be animated 24/7 -> put it on a seperate canvas. That way the rest of your UI won't have to be recalculated every frame.
3) Uncheck "raycast target" on EVERY element that isn't interacteable in your design. Only leave it checked for buttons, sliders, etc.. Otherwise you might block input + you will trigger unnecessary calls on object that aren't supposed to do anything.
4) If you fade out elements by reducing the alpha: Consinder ".SetActive(false)" whenever alpha is 0. Just because you can't see it anymore, that doesn't mean the actual mesh isn't updated/recalculated.
Unitys UI system can be a real bitch and performance killer. It might not matter as much for a very small menu scene like the one in this video, but you are going to feel the impact in a game scene that renders hundreds of UI elements + the actual game big time - especially on low end and mobile devices.
Thanks for the good advice :)
@@Leonardorth. You are very welcome! Cheers
@@redyellowchef8767 I haven't used that one yet because I tend to write my own coroutines, but afaik it's been made for exactly that purpose, so why not give it a try.
Thank you for commenting this!
I appreciate it, but for now I'm not going to be using LeanTween or something else because I feel that it would take me too long, and I like that I can take the skills I learned from the Animation system in Unity and use that experience for animating characters and things.
But like you suggested, I may make another canvas at some point to separate animated stuff (but I'm not sure, I don't know how my game is going to turn out).
So, if someone else read your comment, and it scared them off from following that part of his tutorial, I want to encourage them to continue!
Because I think that later on, if we need to convert over to something else for animating menus, we can, but for now I think this is OK for beginner projects, which is what I'm making.
Thank you so much!
I will hopefully use it in the future.
I wish you luck on your projects, as well, and in likeness to what I've heard other developers say: "Don't optimize too early!!"
Thank you Wayne.
Thank you so much! Very helpful!
"Because I am a smart dude, I already have this all set up". OHH SHIIIIIIITTTTTT!!!
PLEASE MAKE FULL TUTORIAL
I love your content from 3 years ago, keep them comming
This Game Dev is one of millions of the dev's who can really explain something, nice! :D
Stop complaining guys... he put the full project folder in the description. There you can see where every component and script is supposed to be.
Great vid, helped me a lot!
I've been polishing my skills in game dev for a little over a year now. I moved over to Unity to learn arguably the biggest game engine out right now. And I quickly learned all the basic knowledge and how to do things I've already been doing; since if you know how to learn languages moving between engines is a quick transition.
I watched a ton of your videos to get quickly orientated!
And even though I've watched all of your videos a hundred times; I still like to come back because they're very motivational and peaceful.
hey man, would it be possible to maybe add your discord? I need help with a small problem im having in regards to this video and your help would be appreciated :P
I really appreciate this tutorial Thomas Brush, taking this video as a guide worked perfectly for the desired main menu system I got. However, the most important thing is missing. You haven't indicated on changing the main menu to option screen or any of those script in this video since what you did was apply your animation made script to your UI elements and not on a the button component itself.
Even as an intermediate unity user I still learned something. I didn't know about the use of those green borders in the sprite editor and now I know. Thanks for sharing Thomas!
As someone just starting out with Unity and game development in general, I have to say thank you for creating these videos. They are really helping me to get started and learn Unity. Keep them coming.
How could you give this guy a dislike
Worth knowing you can resize the UI elements uniformly using Alt, but there is a bit of a trick to it: You need to only hold down Alt after you’ve selected a UI corner with the mouse, otherwise dragging with Alt will move/orbit the scene. Loving the videos, keep up the good work!
this
PLEASE make more Unity UI tutorials. This is the best, the music keeps me so engaged!
I love your tutorial! Its rare that background music is actually conducive to helping with a tutorial, but you did it quite nicely. Well done.
I've been watching your content for several months. Thank you very much for taking the time to put these videos out there. I've been more motivated to get a game done because of you and I can't say thank you enough!
I paused the video to go watch the trailer for your game, it gave me tingles up and down my spine, in the best way possible. Keep at it!
TextMeshPro solves all those spacing issues and crisp text issues and is now part of the Unity package! And also, the "capitalized" format you mentioned is called pascal case format.
Thanks
God I love TMP it's been a life saver and the UI scaling trick from this video helps so much
BULLSHIT, TextMeshPro is buggy garbage. Its so spotty that I literally clone a button and one works and other doesn't... and it's a fucking copy...
Seems like you read my mind, I've discovered your channel two days ago while searching for Unity UI tutorials, watched two (maybe three) videos, and now you release a tutorial about it. Thank you
Thanks for making the assets available!!! I had a hard time figuring out how to get the "canvas (environment)" root for my prefabs, so it was super helpful to be able to click around the sample scene.
I'll admit it. That intro made me feel special. :)
So glad I came across this! I am doing UI design for the second time for a game jam and I really want to make sure I get down how to make a beautiful main screen
I've been an aspiring game developer for longer than you have been successful at it, really motivating to see what the correct motivation and reinforcement can do with a skill set similar to mine... I am going to stop playing games and start making them. Keep the content coming, love your videos so far!
Thank you...
I have been watching your videos ever since you made that pewdiepie game.
I just felt a need to thank you. I am just glad that we have game designers as cool as you are who helps new people in game design.
I want to make games for years but never could find enough time to spare for it due to financial needs for other works. Your videos inspire me in many ways. When finally I start making games, hopefully soon, I will come back and watch all off your videos again and again. Not only for unity lessons but mostly for the way you talk about beginning steps from your own experiences.
There are many people who make unity lesson videos online but you are the first person I have seen who is making these videos parallel to his game design career. Don't get me wrong, all those people and their games are also awesome. But as far as I know, you made much more successful games compared to others in youtube, and you are so modest about your games. And you know what a beginner would feel or think so well that you make me emotional in your guide videos. I hope more people appreciate your work and effort.
Just... Thank you.
PS: I don't know why I wrote this under one of your old videos ¯\_(ツ)_/¯
I need to thank you for just the first few seconds of your video it made me smile, I really needed that today ❤️
I'm completely new to game design and have to make a small sample of a game as my final project. My teacher suggested to look at RUclips tutorials to help learn whatever I needed to. Your video seemed like the best option for learning how to make a main menu, especially one that felt alive and better than a still image on photoshop. However, this is far from a beginner tutorial. I found myself with 10 questions by 2:32 which isn't far into the video at all. Questions like what templates to use, and how to make my screen look like yours? If I was able to do my own while using your video as a guide? How does one make flourishes? Why are we changing pixels? and so on. Regardless of all that, it still stands that you're my best option considering I can't find any other tutorials on this, or that explains it all and isn't just a short.
If you press ALT after grabbing any side of the box text you can expand from that center position. So you dont have to re-center again
While scaling components with handles, you can press and hold 'alt' to scale them in both directions (like a mirror effect)..
It's a real time saver 👍
I'm re-watching this as I'm making my first simplistic game, which I started during my first Ludum Dare experience this year. Even though I'm starting off simple before moving to my giant idea I have had for years, I told myself. This tutorial is finally helping me come up with my main menu idea for it. Thanks for these videos plus live streams Thomas. :D
I VE WATCHED THIS VIDEO MULTIPLE TIMES AND I LEARN SOMTHING NEW EVERY TIME
Thanks Thomas, for guys who are complaining for the missing steps, you can check other videos how to animate, this is advanced tutorial.
doesnt mean he cant explain for begginers
Thanks to people like you, others have the opportunity to learn what they want so much.
Tutorial as always very useful and interesting.
Thank you so much!
I think if you use the textMeshPro text you can do the spacing on the lettering.
Your mouse has such a satisfying click lol. Awesome video!
I'm looking at this tutorial after having this in my Game Dev playlist for a while. After making my first menus using Unity's weird input/event system, this looks like the best method to execute switch menu to menu without any issues. Thank you so much for show me and others this.
I really enjoyed this Thomas. The new year content has been great, keep it up!
I highly recommend using adobe XD for creating UI mockups. It's so much faster than photoshop.
well said
Screw paid softwares tho.
I still have yet to try XD
The whole part about making the (what I would call) previz. is actually really helpful!
Thank you soooo much. I was having a hard time making a menu and this helped very much!!
SO glad I learned how to zero it out in this tutorial ;)
This has been a really fantastic incremental guide to creating a menu system. Thanks as always for all you do for us!
For this type of use, I highly suggest people use GetAxisRaw instead of just GetAxis. It allows you to go through the menu faster as the axis value doesn't have to go from 1 -> 0 including float values.
Nice video, Thomas. However 72dpi is good for 1920x1080, or even 2560x1440... however your high dpi monitors (4K & 8K) run at the 96dpi level. So if your going to make any type of asset for 4K (such as your textures), make sure your pixel density is set to 96dpi. You shouldn't use the browser standard as a guideline, since modern browsers could really care less what the dpi is. Back in the day, 72dpi was coined as the standard. Not today, however.
one hell of a tutorial, awesome beautiful menu, thank you!
Such a great series of tutorial, from the finest source around!! Thanks mate!🙏🌞
Rather than using a gravity of 1000 in the input manager, you could use GetAxisRaw() to get the raw value of the input. This way you can preserve GetAxis() for cases when you might want this gravity. It's a preference thing but I find it easier to see the intention in code when it's written that way.
ID LIKE TO SEE U CONTINUE THIS LIKE THE ACTIVE BACK GROUND AND THE ZOOM WHEN THE SECOND MENU IS FIRED AND ALSO HOW TO ADD THO PARTICLE EFFECTS TO THE START MENU SELECTIONS OR IF I CAN HOST A PRIVATE CONVO WIT U THATS WOULD BE COOL IF I HAVE TO PAY I WILL
The button class can automatically use an animator if attached and properly setup. No need to even use a script to change those flags or navigate the menu.
And event system handles inputs in a canvas.
Actually none of those three scripts are needed. Unity does that all with very little setup.
Thank you so much, will probably have to watch this 5 times but your final menu there is *gorgeous*...got myself a goal.
This looks so amazing 🤩
Great tutorial Thomas. How to make this menu work with the mouse?
Serious note, love you vids man. Keep up the awesome work. Working on my game and watching some of your vids has helped me solve a few brain blockages I've had lol
Canvas and sprite scaling is really helpful.
Photoshop has a built-in function for exporting layers as whatever you want. png, PSD, jpg etc. Go to File > Export > Layers to Files...choose location to save set options as you like
You made me smile with your intro :)
5:30 when you set it to free aspect, you can really see the image change to fit the aspect ratio, you just sizing the window by dragging does nothing, it's just making the screen smaller and not changing the aspect which really matters
The best unity game tutorial I have ever watched!
Isn't it a generally bad idea to handle user input in a update function? It is checking every frame to see if there's user input. Wouldn't it be better to create a call back function that responds to user input? Like how windows handles messages?
but if we use animations in ui buttons then how can we use mouse hover property so that if a mouse is hovered on our button even then the animation plays up
Hi from France !
Great tutorial ! Thanks a lot !
I followed your tutorial to build my menu, but I have a lot of problems to switch between "Main menu" and "Save Select Menu" that we see in the end of your video.
Please keep going (if you can of course) to make a next tutorial of this one (Gorgeous Start Menu - Part 2 for exemple).
You are a master ! Thank you !
man! you are great. just watching your videos keeps me motivated to keep working on learning game development
Thanks I've Been Searching For This Like an 6 hours
so much positive energy, i love you man
Hi @Thomas Brush your link to LayerToPNG isn't work because there's a ":" on the end of that line in your description. Thought I'd mention it, as it may confuse others.
I wish this tutorial mentioned how to get the buttons to function as intended. I would like to know how to get the "Start Game" button to load a new scene for example.
This is very basic but it should help you understand how it works.
using UnityEngine.SceneManagement; // don't forget to add this to your script
public class TitleScreen : MonoBehaviour {
public void PlayGame() {
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
}
}
This loads the next scene based on build index. Make sure to open Build Settings and drag your scenes into the "Scenes in Build" area of the popup menu. (the build index is shown on the far right)
Attach this script to your Canvas.
Select the button that you want to trigger the PlayGame() function
Click the + to add a new event to the "On Click()"
Drag your Canvas into the box that pops up
A dropdown menu should appear with the label "No Function," simply Select the name of the Script (TitleScreen in this case) then the function (PlayGame())
Your button should load the next scene when you press it.
@@BaconDeez the thing is that we arent pressing it like its on the script i already try that and he didn´t work
@@g4v1n08 Did you find a way to make the button work when submit? I don't know how to do it
Wait a minute. You can't see me! Lol.
Thanks for The tutorial. I see your audience is growing. Wishing you much success! Loving the streaming videos.
at 22:30, instead of setting gravity to 1000, couldn't we just do getAxisRaw instead of getAxis?
Isn't it a overhead to be checking in the update function for each button you have "if they are active"? Wouldn't it be more efficient to use a observer pattern and make the menu notify the button when the selected changes?
Dude your videos are frigging better than college and omg thanks for showing me Mark Brown his videos are just as good as yours!!
Textmesh Pro solves all of your text problems and is bundled with Unity.
Photoshop also has the export options built in by default. Turn on File>Generate and add file extensions to any layers you want exported. Photoshop will now export those labels anytime you save.
Hey.. i know you are doing well. I have a question. Why did you not use actual button from UI instead you use a rectangle,text and script (to make it functional). Isn't it a lot of effort to do? Kindly, reason my query. Thank you.
ContentSizeFitter can help you resize the rectangles according to the child text size
Him: i am glad to see you smilling again!
Me with my depressed face looking at him👨🏼🦱
Another great tutorial! Well done! 😊👍 But where do we find the Photoshop PNG export script? The link in the description seems broken... 😅
Sorry, newbie with newbie questions
1. AT 9:33, is the MenuButton prefab from the Asset store?
2. If no above, is rectangle a 2D Sprite?
3. Another person asked and I didn't see an answer - does the default UI button have limitations as it relates to this tutorial
By the way, thank you for the great guide and yes, it is a gorgeous UI.
1. No, it is a game object with children. If you drag it in the project folder it will create a prefab
2. Yes
3. I am not the best to answer to this question
good luck
Your channel is underrated.
R.I.P Atmos Games.
Long life to "Thomas Brush".
Awesome tutorial ! Is really nice to have such a tutorial to create a menu that is not only functional but also really beautifull. I subscribe direct !
23:48 Using Input.GetKeyDown will solve some of your problems. No need to check booleans like that
I LOVE YOUR VIDEOS I WOULD LIKE TO BE MENTORED BUT ID LIKE TO GO MORE IN DEPTH WIT THIS AND I CAN FIND YOUR PATREON
great visual guidance, great music (especially the piano driven piece) - horrific code :D
please make post processing unity tutorial and 2d light ...
I'm probably just stupid but where is that background music from? I have been searching everywhere to find it! Pinstripe? Coma?
Im searching for it as well man it's awesome but I can't find it lol
@@AppyTheApe Big sad, its so relaxing! :o
This is so awesome, you explain it all so well!! :D
the project file in the description is the Unity sceen
I was just trying to find some good tutorials on this! Thank you :D
*NOTE*
Slicing (also known as 9-slicing) does *not* function as described in the video. In the video, he describes only the centre slice of the rectangle scales. This is incorrect. The center slice scales both vertically and horizontally whilst the non-corner edge slices scale either vertically (4th and 6th slices) or horizontally (2nd and 8th slices).
Nice tutorial, some cool stuff in here. Thanks Thomas. :D
Thanks for an amazing video, Thomas!
@ThmaosBrush i was wondering how to load scenes on the button input. i was trying to transition to my next scene. im really new to C#.
You had to code to scale a menu screen? What a nightmare, I'd rather go to hell as a Minister. I also just wanted to say thank you so much for all of your help with this, I have learned so much.
Could you make a tutorial on how you did the multiple save game slots?
Thank you! Very helpful!
I really like your contact it is motivational and great and professional , greetings to you from Algeria.
Thanks. PSD Layers Exporter link is dead
Very useful video. I think that a reference resolution 1920x1080 will be good enough for most games that does not have any 4k graphics like my checkers game. Cool button shake effect! Thanks very much I can now build any game I want for multiple screen sizes but to make a game for multiple languages still remains a challenge. The "Set Native Size" is no longer required because of updates and now when you import the image as a 2D sprite the shape and dimensions gets copied .
Thank you for these highly knowledgeable tutorials! Looking up to more in future! :)
Great video, thanks for sharing. Do you have a video on putting together a 3D background for the menu like you briefly showed off in the end of this tutorial?
yes he does have it. Check his latest 2D Game making video.
Really cool! There is so much information here. Very useful. Thank you. New Subscriber