 So you are a master of text, but now you need buttons, not a problem. Once you've got your canvas and panel, right click UI and text mesh pro button. You will then see a button and a text mesh pro object. Now the text is literally just the normal text mesh object that I showed you guys last tutorial. So if you haven't seen that video, be sure to check it out because the way you control position, scale, rotation, width and height for a button is exactly the same way you control them for a text mesh. Now what's different is this image property. Just like a panel, if you have an image that you would like to use for the button, as long as it's a 2D sprite UI, you can drag it in. And if you want to change the hue, you can do that with the color. Now generally, you will almost never need to mess with anything here other than the color. The important stuff is down here under button. You're going to see five different colors. We'll sit normal to red, highlighted to yellow, pressed to green, selected to white and disabled to purple. So what does all this mean? Well disabled color is just the one that shows when the button is not active. So if we uncheck interactable, it will turn to its disabled color purple. Now the other colors are much easier to understand when there are multiple buttons. So if we just control D to duplicate a few and run the game, you will see that all the buttons are normally red. But when I hover my mouse over one of them, they'll switch to the highlighted color yellow. And if I left click, it will change to its pressed color, which is green. It will stay that way until I release the click. And the selected color is just the last button that you click. If you press W and S on the keyboard, you will notice that you can scroll through what button is selected. If you're making a touchscreen where there is no keyboard, though, you probably want to turn that off by setting navigation to none. This way it will never show you what the selected color is. Also, instead of picking colors, you could also just use transparency. When it's highlighted, make it fully visible. And when it's clicked, make it less visible. It's up to you how you want to signal to the player what they're doing. Now a common thing that people like to have is around button. You know, the ones with the cute little soft edges. But the problem is when you change the width and height, the image often gets stretched in very unattractive ways. If you want to fix this, click your button image, set it to Sprite, Tutti, and UI, apply, edit Sprite, and then move the green line so that the corners have been cut out. Apply, and now when you change the width and height, the corners will be preserved. And you get that nice shape no matter what the size. All right, so how do you control what the buttons do? Well, you see this thing called on click? Press the plus button, then drag in the object that you want the button to affect. What the button does depends on what object you drag in here. So if you wanted the button to make the light and intensity 100, then you drag the light and in. And over here, you will see all the variables related to light. So if we say intensity equals 100, play the game, and then click the button, you will see that now intensity becomes 100. Okay, so the things the button can do depend on what you drag into it. But what if you have your own code? How do you activate it with the button? Well, here I just have a simple script that controls the score at the top. And let's say every time you click the button, we wanted to increase score by one. Well, the way you do that is to go down here and create a public void and let's just call it score increase. Now, whatever you have inside here, that is what the button is gonna do when it's clicked. But for now, all we wanna do is increase score by one. And that looks like this. And the way you connect it is you'd find the object with the script you wanna access. In our case, it's our canvas. So you drag that in, then you find the name of your script, and then you find the name of the method for the command. Ours is named score increase. Click it and you're done. From now on, every time you click this button, it will activate the code that you've written in the method. One last thing, if you ever wanna access the button directly, you'll have to add a using a unityengine.ui. Once you've done that, then you'll be able to make a button variable. And from here, you can say things like mybutton.image.sprite equals whatever image you want or mybutton.image.color equals new color, whatever. Or mybutton.interactable equals true or false. But yeah, that's basically everything you need to know about buttons. Hope that helps. And as always, hope you have a fantastic day and I'll see you around.