PAUSE MENU in Unity

Поділитися
Вставка
  • Опубліковано 4 вер 2024
  • Learn how to make a pause menu using Unity!
    As mentioned in the video, we've already created a start menu and a settings menu. Check them out:
    Start menu: goo.gl/EM7rr6
    Settings menu: goo.gl/KBgy8p
    TextMesh Pro Video: goo.gl/YdQ3MA
    Get TextMesh Pro: goo.gl/Z9iHxH
    ❤️ Donate: www.paypal.com...
    ····················································································
    ► Join Discord: / discord
    ♥ Subscribe: bit.ly/1kMekJV
    ● Website: brackeys.com/
    ● Facebook: / brackeys
    ● Twitter: / brackeystweet
    ········································­­·······································­·­····
    Edited by Sofibab & LeBonques.
    ········································­­·······································­·­····
    ► All content by Brackeys is 100% free. We believe that education should be available for everyone.
    ❤️ Donate: www.paypal.com...
    ········································­­·······································­·­····
    ♪ Baby Plays Electro Games
    teknoaxe.com/cg...

КОМЕНТАРІ • 1,9 тис.

  • @bumpleGrumpGames
    @bumpleGrumpGames Рік тому +72

    It's mind blowing how Brackeys videos stay relevant and work so well 6 YEARS LATER. Making games is a daunting task but this content has made the learning curve so much smoother! Thank you for sharing so much knowledge with the indie game dev community. 🙏🙏🙏

    • @BlowFlow04
      @BlowFlow04 10 місяців тому

      tu eres tonto oque

  • @siva6137
    @siva6137 6 років тому +1788

    Who dislikes these videos? They're bloody free lessons.

    • @dfhdgsdcrthfjghktygerte
      @dfhdgsdcrthfjghktygerte 6 років тому +29

      Sure. I like the all free lessons on youtube, especially with crappy content and retarded speaker, even if lesson is a trash - i like it, because i'm freebie!

    • @siva6137
      @siva6137 6 років тому +92

      Ouuuu, I can sense sarcasm here. No hate whatsoever, but, it takes a lot of effort to create/develop something. We just need to keep that in mind before commenting. Support or Ignore.

    • @rodentlover100
      @rodentlover100 6 років тому +49

      Russian man
      take me by the hand
      lead me to the land
      with words I don't understand

    • @rodentlover100
      @rodentlover100 6 років тому +33

      Russian man you're honestly stupid if you think these are bad lessons. Maybe learn how to code so you actually know what you're doing instead of copying his code letter for letter word for word and crying when you mess it up.

    • @Definitely_a_Fox
      @Definitely_a_Fox 6 років тому +24

      My brain hurts when spelling errors cause errors in code, but the real error is believing that the teacher screwed up and gave you a bad lesson.

  • @Ice_ZOMBIES
    @Ice_ZOMBIES 2 роки тому +56

    That sad feeling when you discover Brackey and his videos after he has already left UA-cam... I feel like I just missed a legend passing by. God damn

  • @achintyacancode3543
    @achintyacancode3543 3 роки тому +132

    If your game gets stuck when you reload it from the menu, Do this - When you go to load the menu, in the LoadMenu function, Make sure to include the Resume function, or your game will load in a paused state. As a matter of fact, wherever you are getting this problem, just call the resume function before transitioning to the next level. Hope I helped you!

    • @connorlewis984
      @connorlewis984 3 роки тому +7

      You're a LEGEND Wumpus! Thoss Discord devs taught you well!

    • @nowlog502
      @nowlog502 2 роки тому +5

      save scene with your menu panel as inactive and it will work as in the video

    • @ItssVenom
      @ItssVenom 2 роки тому +1

      Thank you I was looking for a comment giving an explanation to this issue haha

    • @s1moq108
      @s1moq108 2 роки тому +3

      can someone explane me better i coudnt find that button

    • @sausagequeen
      @sausagequeen 2 роки тому

      @@ItssVenom it says it in the video 😐

  • @Anthrocarbon
    @Anthrocarbon Рік тому +40

    Once again, years on, these tutorials remain a staple of my learning. Brackeys, I hope you're all having a great future whatever you're doing.

    • @cryzzzz
      @cryzzzz Рік тому

      Mine is just not working I dont get the game object?

  • @alekosthecrow
    @alekosthecrow 4 роки тому +245

    2:10 Imagine having to add a shadow component to your text
    ~This post was made by the TMP gang

    • @joevent
      @joevent 4 роки тому

      Im using Unity 5.6.7f, why don't I have text mesh pro?

    • @alekosthecrow
      @alekosthecrow 4 роки тому +3

      @@joevent you need to import it

    • @pitbull2498
      @pitbull2498 4 роки тому +5

      @@Plazmin hey stop it text mesh better
      ~This post was made by the TMP gang

    • @lightninbolt986
      @lightninbolt986 3 роки тому +8

      @@joevent ​ Imagine having to import it.
      ~this post is by latest unity with inbuilt TMP gang

    • @bonzodimduly
      @bonzodimduly 3 роки тому

      i use custom fonts and cant use TMP with them

  • @christianthompson1839
    @christianthompson1839 5 років тому +66

    Why was this the hardest part in making my game xD
    Also thanks for the freaking free lessons, tbh I've learned more from YOU than the lessons my parents paid for, that's freaking cool, like you! I might donate when I have money to get you a cup of coffee, thanks!

    • @CC_-pn2og
      @CC_-pn2og 3 роки тому +2

      i know menus are so hard!

  • @youbinwang1205
    @youbinwang1205 2 роки тому +11

    Here are some tips while using unity 2021+
    1. Can't press the button?
    Please make sure you also add the "EventSystem" Object in your new scene. (just copy it from your old scene)
    2. SetActive(false) makes object never called again?
    Try to use: pauseMenuUI.transform.localScale = new Vector3(0, 0, 0); instead,
    then SetActive(true) is: pauseMenuUI.transform.localScale = new Vector3(1, 1, 1);
    In the start then add: pauseMenuUI.transform.localScale = new Vector3(0, 0, 0);
    Remember to active PauseMenu before you start the game.
    3. mouse locked?
    Add in Ruseum:
    Cursor.lockState = CursorLockMode.Locked;
    Add in Pause:
    Cursor.lockState = CursorLockMode.None;
    Hopefully it can help you :)

    • @HallieTheHero
      @HallieTheHero 4 місяці тому +3

      Oh my gosh thank you! I am working on a project for college and I couldn't figure out for the life of me why the buttons couldn't be clicked and were not changing shade when hovered over or clicked. Really appreciate it that fixed my problem!

    • @dunderguy
      @dunderguy 2 місяці тому +1

      ty bro

    • @dragonanimations0748
      @dragonanimations0748 Місяць тому +1

      When you say to add "pauseMenuUI.transform.localScale = new Vector3(0, 0, 0); " in the start where exactly does that mean? Is that to be applied before the void update function? Also thank you so much for this,, it's extremely helpful^^

  • @casachezdoom2588
    @casachezdoom2588 3 роки тому +29

    One slight issue you might encounter as I did, is that if you go from your pause menu to the main menu and then launch your game, if you press escape it will do nothing the first time because the game is still considered "GameIsPaused = true" so add "GameIsPaused = false;" to the beginning of LoadMenu()

    • @torn2668
      @torn2668 2 роки тому +2

      I know you commented this a year ago but thanks so much for the helpful tip.

    • @casachezdoom2588
      @casachezdoom2588 2 роки тому +1

      @@torn2668 Glad it was helpful "in the future" :)

    • @atiqbhai8360
      @atiqbhai8360 Рік тому +1

      🏮

    • @junglejim6674
      @junglejim6674 Рік тому +3

      you could also consider creating an awake method where you set both the time scale back to 1, and the isPaused boolean back to false, so when you're loading a new scene it will automatically adjust it, so you don't have to change the functionality of your methods.

    • @Mucky_Muck
      @Mucky_Muck Рік тому +1

      @@junglejim6674 Thanks. What the guy above said didn't work, but your solution did. Now my game is not paused when I press play from main menu.

  • @VictoriaStobbie
    @VictoriaStobbie 5 років тому +203

    I don't know why Brackey didn't run into this problem too, but in order to not start the game paused you do:
    void Start () {
    PausePanel.SetActive(false);
    }

    • @trystan8011
      @trystan8011 5 років тому +4

      OnceThereWasAPageWithAReallyLongAssNameAndNowYouAreLookingAtAChannelWithAReallyLongName! Thanks I just finished and I had the same problem it helped

    • @VictoriaStobbie
      @VictoriaStobbie 5 років тому +4

      @@trystan8011 No way, really. Well I'm glad it helped mate. And good luck to you and your game making journey.

    • @trystan8011
      @trystan8011 5 років тому

      OnceThereWasAPageWithAReallyLongAssNameAndNowYouAreLookingAtAChannelWithAReallyLongName! Thanks for the reply and also thanks for the help!

    • @andrewm6984
      @andrewm6984 5 років тому +9

      for me PausePanel does not exist in the current context. Do I rename it to whatever my pause menu is called?

    • @Ydwin
      @Ydwin 5 років тому +40

      Or you can disable the PauseMenu in the inspector maybe ?

  • @retsapb6319
    @retsapb6319 5 років тому +15

    These lessons are so clear, well edited and to the point is unbelievable. Sometimes i find myself binge watching tutorials that i dont need just because they are so entertaining

    • @FriesPG
      @FriesPG Рік тому

      How do I fix error cs0106?

  • @koseki_stuff
    @koseki_stuff 3 роки тому +79

    I am watching this at 1:00 AM, slowly losing my sanity, but thanks tho
    REST IN PEPPORONIS
    BRACKEYS
    2012 - 2020

  • @pierceb-in2rj
    @pierceb-in2rj 6 років тому +601

    12 minutes long, posted 3 minutes ago, people already saying thanks

    • @MohanABK
      @MohanABK 6 років тому +102

      Cause it's Brackeys. You know it's going to be a good tutorial.

    • @lbstester
      @lbstester 6 років тому +1

      blog not found

    • @fusion610
      @fusion610 6 років тому +1

      blog has been removed

    • @bobsagget823
      @bobsagget823 5 років тому

      5:53 -5:57 you literally CANNOT do this. It doesn't work.
      Compiler error CS0120: An object reference is required for the non-static field, method, or property 'pauseMenuUI'
      Why show us techniques that DON'T WORK?s

    • @kmonty2009
      @kmonty2009 5 років тому

      @@bobsagget823 I just did this and it works fine. Not sure why you are running into errors but mine is fine.

  • @jakethewoz
    @jakethewoz 6 років тому +11

    These are by far the best tutorials anywhere. Tried to make a pause menu on my own, got stuck, came here and everything is just simple and crystal clear. Thank you so much!

  • @cubyte4640
    @cubyte4640 4 роки тому +8

    Notice that if you stop time with Time.timeScale = 0f, it doesn't run back if you reload scene so if you are creating a button for restart then make sure to run the time in Start() by using Time.timeScale = 1f

    • @user-sg1kc5jx8c
      @user-sg1kc5jx8c 4 роки тому

      Thanks

    • @cubyte4640
      @cubyte4640 4 роки тому

      @@user-sg1kc5jx8c No problem, I am glad my comment helped someone

  • @Demon.Immortalis
    @Demon.Immortalis Рік тому +13

    for the Resume() function use this in the beginning:
    Cursor.visible = false;
    Cursor.lockState = CursorLockMode.Locked;
    for the Pause() function use this in the end:
    Cursor.lockState = CursorLockMode.None;
    Cursor.visible = true;
    your welcome ;)

    • @andreezz
      @andreezz Рік тому

      UR A GOAT TYYYYYYYYYYYYYYYYYYYYYYY

    • @muscatalexj
      @muscatalexj Рік тому

      You beautiful man. Saved me so much frustration.

    • @Demon.Immortalis
      @Demon.Immortalis Рік тому

      @@muscatalexj ofc ur welcome :)

    • @GOF313
      @GOF313 8 місяців тому

      @@Demon.Immortalis Thank you!

  • @christinaeneroth675
    @christinaeneroth675 5 років тому +180

    You can make a Quit button that functions in the editor to, by making it end play mode.
    public void Quit()
    {
    #if UNITY_EDITOR
    UnityEditor.EditorApplication.isPlaying = false;
    #else
    Application.Quit();
    #endif
    }

    • @NickFarrow
      @NickFarrow 5 років тому +26

      I had a little issue with Unity 2017 ended up using this the code below. Hope this helps someone.
      public void QuitGame(){
      Debug.Log ("You have quit the game");
      if (UnityEditor.EditorApplication.isPlaying == true) {
      UnityEditor.EditorApplication.isPlaying = false;
      } else {
      Application.Quit ();
      }
      }

    • @AAboardCo
      @AAboardCo 4 роки тому +4

      Nick Farrow it did thank you!

    • @explior6558
      @explior6558 4 роки тому +3

      @@NickFarrow thank you, that is really cool!

    • @vertex_frazix2988
      @vertex_frazix2988 3 роки тому +1

      KING

    • @star-devil9157
      @star-devil9157 3 роки тому

      @@aurich172 thanks it worked for me 😍😍😍❤❤❤

  • @thecoolguy9364
    @thecoolguy9364 4 роки тому +9

    10:23 The "Yay" made me smile

  • @Spence.1
    @Spence.1 4 роки тому +79

    My Pause Menu working 100% as intended from the video:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.SceneManagement;
    public class PauseMenu : MonoBehaviour
    {
    public static bool GameIsPaused = false;
    public GameObject pauseMenuUI;
    void Update()
    {
    if (Input.GetKeyDown(KeyCode.Escape))
    {
    if (GameIsPaused)
    {
    Resume();
    } else
    {
    Pause();
    }
    }
    }
    public void Resume ()
    {
    pauseMenuUI.SetActive(false);
    Time.timeScale = 1f;
    GameIsPaused = false;
    }
    void Pause ()
    {
    pauseMenuUI.SetActive(true);
    Time.timeScale = 0f;
    GameIsPaused = true;
    }
    public void LoadMenu()
    {
    Time.timeScale = 1f;
    SceneManager.LoadScene("Menu");
    }
    public void QuitGame()
    {
    Debug.Log("Quitting game...");
    Application.Quit();
    }
    }

  • @leomrenders9150
    @leomrenders9150 3 роки тому +13

    I was torn on the whole animation part, as setting the time scale to 0 would technically also limit animation, but to see there's a drop down that sets the animations time to "unscaled" is a useful piece of knowledge

    • @torn2668
      @torn2668 2 роки тому

      Yes, you said you were I.

    • @BenGodot
      @BenGodot Рік тому

      How do you do this?

  • @syclonusmusic
    @syclonusmusic 6 років тому +180

    hi can you make a video for unity UI about LOAD / SAVE saving music and player positions in the game ? thanks

    • @Junior.Nascimento
      @Junior.Nascimento 6 років тому

      up

    • @thegamingcobra1
      @thegamingcobra1 6 років тому +8

      Saving all the game data such as the score. money system, players position, inventory

    • @akashverma4280
      @akashverma4280 6 років тому +1

      Pausing music using IEnumerations is such a pain in ass. Looking for a way to do it...

    • @theairaccumulator7144
      @theairaccumulator7144 6 років тому +3

      +DJ Syclonus Try using PlayerPrefs(saves stuff in registry(okly secure and simple to use)) or text files(saves stuff in simple txt files(really hackable and super easy to use)) or custome binary files(saves stuff in custom binary complex files(unhackable and really hard to set up but easy to use afterwords)). You can search for one or all of those options on the internet to see how they work and how to setup and use them.

    • @lostconflict9369
      @lostconflict9369 6 років тому +8

      Why is everyone here so narrow, everyone's asking for something but i doubt they even searched for it, if they did. They wouldn't be asking so desperately, here are some links, use them if you want. And if you don't, it's on you, since no one cares.
      ua-cam.com/video/sWWZZByVvlU/v-deo.html
      ua-cam.com/video/6vl1IYMpwVQ/v-deo.html

  • @reavercleft
    @reavercleft Рік тому +2

    2023 and Brackeys is still saving my arse.

  • @linshu6141
    @linshu6141 4 роки тому +7

    If u also have the "2D Shooting in Unity (Tutorial)" from Brackeys in ur game just change the "void Start()" method in the "Bullets" script to this:
    void Start()
    {
    rb.velocity = transform.right * speed;
    if (PauseMenu.GameIsPaused)
    {
    Destroy(gameObject);
    }
    }
    Now u don't stack up ur bullets if clicking in the pause menu.

  • @Idrooo
    @Idrooo 3 роки тому

    Hi when I start the game, it gives me this:
    The referenced script (PauseMenu) on this Behaviour is missing!
    and this:
    The referenced script on this Behaviour (Game Object 'Canvas') is missing!
    Can anyone help me please?

  • @uasoni...
    @uasoni... 4 роки тому +8

    I literally paused the video at 10:04 and then spent basically 2 hours of my life trying to figure out why everything was being weird.
    I learnt my lesson.

  • @yuvaldamti973
    @yuvaldamti973 4 роки тому +10

    Thank you so much! I'm in 2020 participating in the game jam you host and your tutorials are saving me again and again every time I make mistakes/want to add stuff I don't know how

  • @MohanABK
    @MohanABK 6 років тому +8

    Man, you deserve way more subscribers.
    This is legit hard-earned, good quality, perfect explanation pace, learning content.

  • @Nox__
    @Nox__ 4 роки тому +69

    I used it to also make a ZA WARUDO sound effect when clicking on pause just for fun

    • @dynamicsketch
      @dynamicsketch 4 роки тому +1

      That's awesome.

    • @pitbull2498
      @pitbull2498 4 роки тому +9

      Who are you, so wise in the ways of science

    • @CodexCornerGames
      @CodexCornerGames 4 роки тому +1

      @@pitbull2498 An anonymous genius.

    • @eddybplayz4801
      @eddybplayz4801 4 роки тому

      i dislike the anime

    • @Nox__
      @Nox__ 4 роки тому

      @@eddybplayz4801 why?
      You cant blame me every person has its own likes

  • @elizabethcstudios8703
    @elizabethcstudios8703 3 роки тому +3

    Thanks for everything you have done man. You're really helping me through college and its sad to see you leave. just know you will always be in our hearts.

  • @Superbbsuper
    @Superbbsuper 5 років тому +6

    Was stuck wondering this for a bit cuz im a newb but TIP if your pause UI is there at the start of your game dont forget to disable your pausemenu within unity inspector. thats why we have the getkeydown for esc, to re-enable it....I feel dumb lol

  • @et9296
    @et9296 4 роки тому +4

    If anyone is having trouble with the pause menu, and can not re-enable the menu one you resume, try moving the script to a different GameObject. I believe that if a GameObject is disabled, the scripts do not run, so if you put the script on the pause menu while it is disabled it will not call the function.

  • @connorbrush5626
    @connorbrush5626 4 роки тому +10

    For anyone having an issue with your player not moving and overall your game not moving when you load back to your game after quitting once before (loading the same scene twice):
    In the LoadMenu() method, before loading the menu scene, set the time scale back to 1f using Time.timeScale = 1f;
    Otherwise, when you load back in, the timeScale remains 0f and nothing works until pausing and unpausing, which wouldn't be good.
    Edit:
    Also set the GameIsPaused variable to false before loading the menu scene, that way you don't have to double-tap escape when you go back in because the game thinks it is paused.

  • @dofyto8622
    @dofyto8622 Рік тому +9

    For those that is having problem with uniteractable button
    Make sure your Canvas habe Graphic Raycaster to the setting is default so you don't need to edit it at all
    you need to make sure that you give the scene a EventSystem
    -RightClick in your project where you usually add text/button
    -Then go to UI, EventSystem will be at the bottom of it

    • @sprinklesprink7192
      @sprinklesprink7192 Рік тому

      thank you for saving me a lot of frustration

    • @lumine881
      @lumine881 8 місяців тому

      Thank you so much !

    • @sup179
      @sup179 4 місяці тому

      Thanks a LOT!! you helped me save my semester

  • @Alexlinnk
    @Alexlinnk Рік тому +1

    Works like a charm

  • @SchematicGV
    @SchematicGV 3 роки тому +76

    Brackeys: makes a start and pause menu tutorial free
    Other people: Pay $500 to learn to make a start menu

    • @MarkoBrainz
      @MarkoBrainz 3 роки тому +8

      not really..

    • @lr514
      @lr514 3 роки тому +3

      Exaggeration in order to make a point to make something funnier

    • @bonzodimduly
      @bonzodimduly 3 роки тому +3

      your logo has my logo in it

    • @honorsoftentertainment484
      @honorsoftentertainment484 2 роки тому

      There's other free pause tutorials, and better (not all though). Also, notice how many people have problems with the code and setup? It appears to work in the video but does not work with out a few fixes and modifications, so that's why some people pay for better info... "there's a reason why it's free."

  • @brickbot2.038
    @brickbot2.038 3 роки тому +1

    I almost understood this, and I am completely new to Unity. Most other tutorials are not this clear. Great job!

    • @friesandcats1919
      @friesandcats1919 3 роки тому

      yea so my buttons arent workingtho what did i do wrong heeelp

    • @brickbot2.038
      @brickbot2.038 3 роки тому +1

      @@friesandcats1919 Emphasis on *Almost* understood this. Sorry, I can't help you. :P
      Try watching the video again, and making sure to do everything exactly as he does.

    • @friesandcats1919
      @friesandcats1919 3 роки тому +1

      @@brickbot2.038 hey no worries, I figured it out, it was a problem having to do with my cursor being locked, it’s fixed now

    • @cmonbruh637
      @cmonbruh637 Рік тому

      @@friesandcats1919 I know you said this a year ago but can you help me? i think im having the same problem.

  • @7oledit399
    @7oledit399 4 роки тому +219

    Who is here after sad announcement?

  • @OilRacki
    @OilRacki 6 років тому +1

    This is a good tutorial. It's a fairly basic concept, but you expand on it nicely, and your pacing is perfect. I like how you fly through it in the beginning. Sometimes tutorials go a little too slow. We have ability to pause and rewind video, folks! Saved this one to my bookmarks for later when I decide to add pause menu to my game.

  • @hovhadovah
    @hovhadovah 5 років тому +15

    Since the flag is a static boolean, you'll need to set it to false when you load the menu. Otherwise, when you load the menu and re-load the game, you won't be able to bring up the pause menu.

    • @leanforever7814
      @leanforever7814 2 роки тому +1

      save me

    • @tech-boy334
      @tech-boy334 2 роки тому

      Nah not for me atleast, maybe its a bug on your side

    • @RaasiqShaikh98
      @RaasiqShaikh98 2 роки тому

      Hey I am onlu able to pause once. once I close the Pause menu it doesnt open again, what do I do ?

  • @clipsport6847
    @clipsport6847 2 роки тому +1

    That "Yey!" on 10:24 killed me! Gosh, love this guy and miss him so much...

  • @wokarol
    @wokarol 6 років тому +10

    Can you make a tutorial about custom input manager with ability to bind keys runtime, and with support for multiple local players?

  • @wushu7294
    @wushu7294 4 роки тому

    The best thing about his videos are , they are to the point. He does not waste any time and has all of his videos edited perfectly. Great Job.

  • @KABOOMANIMATIONS
    @KABOOMANIMATIONS 6 років тому +28

    here is the code for anyone who wants it
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    public class PauseMenu : MonoBehaviour {
    public static bool GameisPaused = false;
    public GameObject pauseMenuUI;
    void Start ()
    {
    pauseMenuUI.SetActive (false);
    }
    // Update is called once per frame
    void Update () {
    if (Input.GetKeyDown(KeyCode.Escape))
    {
    if (GameisPaused)
    {
    Resume ();
    } else
    {
    Pause ();
    }
    }
    }
    void Resume ()
    {
    pauseMenuUI.SetActive (false);
    Time.timeScale = 1f;
    GameisPaused = false;
    }
    void Pause ()
    {
    pauseMenuUI.SetActive (true);
    Time.timeScale = 0f;
    GameisPaused = true;
    }
    }

    • @yazzxd3293
      @yazzxd3293 4 роки тому +2

      You saved me!
      Thanks!!!! Love u!!!

    • @JustinS06
      @JustinS06 4 роки тому +2

      @@yazzxd3293 Why did he save you? you werent getting a heart attack from typing it right?

    • @JustinS06
      @JustinS06 4 роки тому +3

      This is missing the quit game and the loadmenu

    • @minionmaster9745
      @minionmaster9745 4 роки тому

      this is missing things

    • @Spebby
      @Spebby 4 роки тому +2

      An updated version looks like this.
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      using UnityEngine.UI;
      using UnityEngine.SceneManagement;
      public class PauseMenu : MonoBehaviour
      {
      public static bool GameisPaused = false;
      public GameObject pauseMenuUI;

      void Start ()
      {
      pauseMenuUI.SetActive (false);
      }
      // Update is called once per frame
      void Update ()
      {
      if (Input.GetKeyDown(KeyCode.Escape))
      {
      if (GameisPaused)
      {
      Resume();
      }

      else
      {
      Pause();
      }
      }
      }

      public void Resume ()
      {
      pauseMenuUI.SetActive (false);
      Time.timeScale = 1f;
      GameisPaused = false;
      }

      void Pause ()
      {
      pauseMenuUI.SetActive (true);
      Time.timeScale = 0f;
      GameisPaused = true;
      }

      public void LoadMenu()
      {
      SceneManager.LoadScene(1);
      }

      public void QuitGame()
      {
      Debug.Log("Quitting game...");
      Application.Quit();
      }
      }

  • @angelsantillan-gil4201
    @angelsantillan-gil4201 4 роки тому +1

    Hey man just want to say you have some great tutorial videos and you have really helped me out a lot this year. I'm new to unity and I'm studying video game design at CSU Chico and your tutorial videos have helped me significantly! Both for class and for learning overall. Thank you so much! I have subscribed and liked all of the tutorial videos I've watched from you. thank you so much, I know these videos are two years old an I'm barely watching them but they have been very helpful non the less! So, once again, thank you and I am grateful there are people like you in this world willing to share their knowledge and help others like me.

  • @frazebean5117
    @frazebean5117 3 роки тому +4

    If you guys have an issue in which restarting the level results in you needing to press 'ESC' twice to bring up the pause menu, remove 'static' in the first line of the code:
    public static bool GameIsPaused = false;
    End result would be:
    public bool GameIsPaused = false;

  • @BABTOUTV
    @BABTOUTV 6 років тому +2

    I have a problem because when I click on a button my cursor comes back into the game and I can not click on the buttons

    • @aregee4liff
      @aregee4liff 6 років тому

      Did you ever figure out the answer?

    • @Kasumi0001
      @Kasumi0001 6 років тому

      For now set the pause button to be a different key, then use the escape button to get the mouse cursor out the game.

    • @angelsama4486
      @angelsama4486 6 років тому

      same error here

  • @StephanePiano
    @StephanePiano 3 роки тому +4

    If you are having issues with you Player teleporting on load, make sure that “Auto Sync Transforms” (Edit->Project Settings->Physics) is enabled :)

    • @sedem_quame
      @sedem_quame 3 роки тому +1

      wow, this is super helpful. i was experiencing the problem in android build, and I thought it was a problem with my scripting since I assed some preprocessor directives, for mobile.

  • @botcomborderreaching3518
    @botcomborderreaching3518 Рік тому

    You are god. I spend 2 hours trying to spawn buttons in my game, but I really didnt know that I cant just create them and just deactivate them. Thank you so much man!!!!!!!

  • @gory_t4293
    @gory_t4293 2 роки тому +3

    If anyone has a problem with buttons and time.timescale= 0; I found a solution, my problem was with (update mode), so..
    1/in the script add (using UnityEngine.InputSystem)
    2/in method (pause game) u should add (InputSystem.settings.UpdateMode = InputSettings.UpdateMode.ProcessEventsInDynamicUpdate;),
    3/in method(resume game) add (InputSystem.settings.UpdateMode = InputSettings.UpdateMode.ProcessEventsInFixedUpdate;)
    I don't know if this is the right way to solve it but it works perfectly on play mode:).

  • @WibleWobble
    @WibleWobble 2 роки тому

    best unity tutorials i have seen. Beginner friendly, and cover like basically everything you need to make a really good game

  • @tehpitchoo5242
    @tehpitchoo5242 5 років тому +1

    So for everyone who want's to make a mobile pause button is very simple you just change "void Pause()" to "public void Pause()" and you simply just drag the Canva's to 'On Click' page on your Pause button and as a Function you go to PauseMenu>pause simple as that

    • @jj_-_5842
      @jj_-_5842 4 роки тому

      hello u seem to know something about programming when i change void resume to public voide resume it says the modifier "public" is not valid for this item it also says it when i type public void loadmenu and public void quitgame

  • @arkandash5895
    @arkandash5895 3 роки тому +19

    Use this if you have trouble with cursor lock and unlock mode.
    public void Resume()
    {
    pauseMenuUI.SetActive(false);
    Time.timeScale = 1f;
    GameIsPaused = false;
    Cursor.lockState = CursorLockMode.Locked;
    }
    void Pause()
    {
    pauseMenuUI.SetActive(true);
    Time.timeScale = 0f;
    GameIsPaused = true;
    Cursor.lockState = CursorLockMode.None;
    {

    • @iasonasntamatis6923
      @iasonasntamatis6923 3 роки тому

      thank you thank you so much

    • @Bj-mz1yo
      @Bj-mz1yo 3 роки тому

      THANK YOU SO MUCH!! 1 question though, ive been getting a problem where in the beggining of pressing play, the cursor is unlocked, while still being able to look around, and i have to click on the screen for it to lock. Do you know how to fix it?

    • @slushier.
      @slushier. 3 роки тому

      your a lifesaver

    • @MrHakai-mh1lb
      @MrHakai-mh1lb 2 роки тому

      you're a god

    • @hazzyjc
      @hazzyjc 2 роки тому +1

      OMG THANK YOU SO MUCH

  • @thepithief3700
    @thepithief3700 6 років тому +1

    Brackeys, you have incredible timing! A couple of days ago i was working on a pause menu in a project i am working on. Then a couple days later i see this :) Great video, it was very informative!

  • @ihavecreatism9776
    @ihavecreatism9776 4 роки тому +6

    First, thanks for your help. Second...
    I tried to use this method with the "Cancel" Axis,
    but its somehow connected with time.DeltaTime...
    That means, i cant unpause it.

  • @maistrogaming7911
    @maistrogaming7911 4 роки тому +1

    I miss u already why did have to do it...why😭...but as much I love u and respect u I respect what ever you do

  • @maiskorrel
    @maiskorrel 5 років тому +20

    Amazing tutorial! as Always!
    Unfortunately at 7:28 when I try to do this nothing happens the pitch just stays the same while in the pausemenu.

    • @_sidrs
      @_sidrs 4 роки тому

      have you figured it out how to fix it ?

    • @bodewilson7522
      @bodewilson7522 3 роки тому +3

      Hi! Take a look if you have a script that blocks the mouse, this caused my button not to work or the highlight to appear! I used another video of him where he teaches how to move characters in first person and there he used to lock the mouse, when I commented on this line the menu worked as it should ...

    • @bodewilson7522
      @bodewilson7522 3 роки тому +1

      @@_sidrs just to see my reply on how I fixed my problem

    • @_sidrs
      @_sidrs 3 роки тому +1

      @@bodewilson7522 haha thanks man, I'll take a look at it.

    • @whereistheguru.
      @whereistheguru. 2 роки тому

      Same problem ;( Did you manage to find a solution?

  • @criskywalker17
    @criskywalker17 Рік тому +1

    If you have several Scenes, you make a prefab of it and it only works in the scene you created it you have to add UI-> EventSystem in each Scene and it would work perfectly!

  • @captainufo4587
    @captainufo4587 6 років тому +45

    Savegame tutorial in Unity? I know it's not a topic that leads to an easy and quick video, but I have yet to find a tutorial that explains it in a non-messy way.

    • @brendocbb
      @brendocbb 6 років тому +1

      Try to look for playerprefs

    • @elevenshipgames2826
      @elevenshipgames2826 6 років тому +10

      brendocbb OH GOD PLEASE NO DON"T SAY THAT

    • @captainufo4587
      @captainufo4587 6 років тому +2

      I was thinking more about something on the line of a smart way to serialize data and even more importantly a smart way to structure the whole game so that you don't have to chase data that needs to be serialized around dozens of script components.

    • @brendocbb
      @brendocbb 6 років тому +3

      Have you seen this?
      unity3d.com/pt/learn/tutorials/topics/scripting/serialization-and-game-data
      It may help you

    • @lostconflict9369
      @lostconflict9369 6 років тому +2

      Cristian Baldi Another person who simply hasn't searched for what they need, or just doesn't know how to search.
      ua-cam.com/video/sWWZZByVvlU/v-deo.html
      ua-cam.com/video/6vl1IYMpwVQ/v-deo.html
      There you go.

  • @IkeVoodoo
    @IkeVoodoo 4 роки тому

    Brackeys is the best! Anybody who dislikes just dont know how to fix errors that they encounter and expect that brackeys told them something fake, somethimes just try yourself in fixing, it is a great way to learn :D

  • @hamzahahmad1670
    @hamzahahmad1670 6 років тому +4

    Great stuff as always.
    If you take requests, can you please make a tutorials explaining Quaternions and their functions or maybe event triggers? Thanks

  • @Mr.Amolgawade
    @Mr.Amolgawade 6 років тому

    How to use button to pause game...For mobile game button is imp and ESC is only works in pc

  • @olegfrolovdesign
    @olegfrolovdesign 5 років тому +4

    Лучший канал с уроками по Unity! Спасибо большое!

  • @mamut_chino2419
    @mamut_chino2419 2 роки тому +1

    thanks brakeys you always save me

  • @explior6558
    @explior6558 4 роки тому +4

    Thank you so much Brackeys, that helped a lot as usual!

  • @shay-170
    @shay-170 2 роки тому

    wow 3 years later and your tutorials are still so helpful!

  • @PhycoSerpentStudios
    @PhycoSerpentStudios 3 роки тому +6

    Why doesn't the menu work anymore when you go to a new scene? I've even tried making a prefab of the canvas and I can't seem to figure out why it isn't working

    • @PhycoSerpentStudios
      @PhycoSerpentStudios 3 роки тому +10

      Turns out, every scene needs an event system, which is required for events such as onClick(which is what the button uses)
      So what i did was placed the event system inside the canvas as a child object.

    • @Xiaolin2
      @Xiaolin2 3 роки тому +1

      @@PhycoSerpentStudios Thanks so much!!

    • @prodxuv
      @prodxuv 3 роки тому +1

      @@PhycoSerpentStudios YOU ARE A LEGEND :)

  • @TheRandomYoYo
    @TheRandomYoYo 3 роки тому

    Cheers mate! You showed me how to much much better keep track of my UI buttons and add the proper functionality to them. Have spent about 8 hours so far over 2 weeks trying to get the UI to be decent and this solved all my problems in about 30 mins. Many thanks!

  • @isimplydonthaveaname9994
    @isimplydonthaveaname9994 4 роки тому +7

    YES YEEESSS A PAUSE MENU WHAT I NEED YEEEEEEESSSS thank you brackeys
    Also text mesh pro is already in my unity so I don't need to download it
    Haha sublime text 3 go brrrrrrrrr

  • @indigoakaben
    @indigoakaben 2 роки тому

    Your tutorials are simply the best. They always work; I am never confused; you explain very clearly. Me am happy.

  • @friesandcats1919
    @friesandcats1919 3 роки тому +4

    yea so i have the problem that my buttons dont do anything, and when i pause the game, my curser gets unlocked, but if i click anywhere, it gets locked to the screen again. help?

    • @pabloetcheberry1426
      @pabloetcheberry1426 3 роки тому

      same problem here, could you figure it out?

    • @paradox4913
      @paradox4913 3 роки тому +1

      @fries and cats @PabloEtcheberry Sorry if this is late but check your "event system". Check to see if it has a "standalone input module" if it doesn't, add it. If you are loading from a menu scene into a game scene, check to see if the event system persists through the scene change. If not, just add a "don't destroy" script component to the "event system" , and see if your buttons work then.

    • @pabloetcheberry1426
      @pabloetcheberry1426 3 роки тому +1

      @@paradox4913 Thanks for your answer, really appreciate it, but I already solved it and the problem was that another script was locking the cursor haha.
      Thanks Anyway!

    • @friesandcats1919
      @friesandcats1919 3 роки тому +1

      @@pabloetcheberry1426 aayye did I help with that lol?

    • @pabloetcheberry1426
      @pabloetcheberry1426 3 роки тому

      @@friesandcats1919 kind of (?) :p

  • @grandmasterskitz748
    @grandmasterskitz748 5 років тому

    @Brackeys I'm using custom images rather than text. However, my buttons are not interactive. I'm using Unity 2019.1.1a. My code was failing as well, so I attempted to utilize your code; however, the problem persist. Do you know if this is a defect in the 2019 Beta version?

  • @Peenjamin
    @Peenjamin 4 роки тому +8

    I had an issue with the mouse because mine was a first person game. Just know that when the game pauses you need to unlock the cursor and vice versa when you unpause! :)

    • @Luckyproog
      @Luckyproog 4 роки тому

      You got a problem with the shadow of the button when you hover over the button?

    • @manssjodell8619
      @manssjodell8619 3 роки тому

      I got that problem too but i dont get how you guys solved it!

    • @capilover1023
      @capilover1023 3 роки тому +4

      @@manssjodell8619 just write Cursor.lockState = CursorLockMode.Locked; in Resume() function and Cursor.lockState = CursorLockMode.None; in Pause() function

    • @manssjodell8619
      @manssjodell8619 3 роки тому

      @@capilover1023 Thank you soo much!!

    • @ebonywilson8710
      @ebonywilson8710 3 роки тому

      @@capilover1023 where about do i type this ?

  • @mohalvia5260
    @mohalvia5260 2 роки тому

    this really helped, also this is not really compatible with fps games since your mouse gets locked whenever you press the mouse in fps games, I messed with the code a little bit and now it works!

  • @GetWilleredLol
    @GetWilleredLol 4 роки тому +10

    Can anyone help me? I'm making a game with mouse movements. But when I click the button it doesn't work. It just sets it to stay in the game again. How do I fix this?

    • @radfish34
      @radfish34 4 роки тому

      I'm having the same problem. did you ever find a solution.

    • @cjeeckazad2995
      @cjeeckazad2995 4 роки тому

      Willydd123456 u could fix it by changing the mouse clicking to a another keyword for pausing

    • @GetWilleredLol
      @GetWilleredLol 4 роки тому

      I know. I already fixed it. You just gotta make it dissapear when back in game and reappear when paused.

    • @cjeeckazad2995
      @cjeeckazad2995 4 роки тому

      Willydd123456 I am happy that you fixed your problem .Wish your success man

    • @JunkDeath
      @JunkDeath 4 роки тому +3

      @@GetWilleredLol how u fixed it i didnt got it :(

  • @storiesfromthedarkness3631
    @storiesfromthedarkness3631 7 місяців тому

    This video is working 7 years later. Thank you vey much!!!

  • @KayleeVRC
    @KayleeVRC 4 роки тому +4

    It works in the Main Menu, but when i open the game it doesn't let me interact with the buttons anymore .-.

  • @user-eg4de4ov6l
    @user-eg4de4ov6l 6 років тому +1

    Oh man ... I wanted to finish a project for my university and to complete it i wanted to place a main menu and today i see a notifaction for this video . Thank you so much .

  • @MostafaTElmansoury
    @MostafaTElmansoury 6 років тому +11

    Please make a video on how to map controller support.

  • @mattqson122
    @mattqson122 5 років тому

    I just connect to youtube to check for a video in pause menu and start menu thanks so much for those and all the other tutorial video. So much quality 1000 time thank you Brackeys!

  • @flashgames1273
    @flashgames1273 6 років тому +24

    Already know this shit, but still watching... :D

    • @PingDonger
      @PingDonger 6 років тому

      Flash Games wanna work on a game?

    • @flashgames1273
      @flashgames1273 6 років тому

      sure! add me on discord: mihx #2422

    • @flashgames1273
      @flashgames1273 6 років тому

      *1.* really basic c# programming *2.* Intermediate c# + UnityEngine *3.* Unity - playing around *+4.* Official/Brackeys Unity tutorials *5.* first simple game *6.* Unity Answers/Forum/Google - for problems while dev. *7*. However i have no official education with programming/Unity. *8.* Learn as you develop. * important part is the basic c# and UnityEngine... * And dont give up. never. it will look difficult but it is not.

  • @nagybalint1474
    @nagybalint1474 4 роки тому +1

    still amazing as always its been 3 years yet this is still very helpful

  • @Ocer.
    @Ocer. 3 роки тому +3

    If you're having a problem with the cursor being locked in the middle of your screen so u cant click any buttons, just add this in the bottom of the Update function in your Mouse Look script
    *if(PauseMenu.GameIsPaused == true)*
    *{*
    *Cursor.lockState = CursorLockMode.None;*
    *}*
    *else if(PauseMenu.GameIsPaused == false) Cursor.lockState = CursorLockMode.Locked;*
    I just had this problem and wanted to help any beginners out if they have the problem too :))

    • @Ocer.
      @Ocer. 3 роки тому

      @@vexe41 i literally just gave u the answer

    • @Ocer.
      @Ocer. 3 роки тому

      @@vexe41 also literally stated thats why i commented

    • @Ocer.
      @Ocer. 3 роки тому

      @@vexe41 no no no, no problem dude, if u are trying to put in the effort to make a game and succeeding u are on the way to a bigger brain than most

    • @chill4857
      @chill4857 3 роки тому

      thank you now i can get back to making my karlson rip off game

  • @lachliebreninger2629
    @lachliebreninger2629 Рік тому

    its 11:59pm, i started work and 10 am thank you so much for these videos, i don't want to imagine how long it would've taken if i did it cold turkey!

  • @aleksp8768
    @aleksp8768 4 роки тому +3

    This was very helpful but when I exported the game as a build, the pause menu didn't work. Do you have any idea what might've caused that? Also, the pause menu worked perfectly in Unity
    Edit: Ok I think I found the problem, I was using FixedUpdate instead of Update (idk why I must've gotten confused with another tutorial)

  • @prathameshsawant7368
    @prathameshsawant7368 4 роки тому +1

    if you can not click on buttons
    you may not have event system in your canvas add it now you can click on buttons
    if the mouse disappears the uncheck mouse lock in fpscontroller

  • @vadympetruk3449
    @vadympetruk3449 6 років тому +11

    Thanks a lot!
    Pls make a video about RectTransform management (how to create game UI for 'any' resolution)

    • @AlmostM
      @AlmostM 6 років тому +3

      +1 to this. I sort of understand how the UI anchors and scaling modes work, but I still get confused about how I should be using them.

  • @omaralabdullah529
    @omaralabdullah529 6 років тому +1

    remember to set timescale back to 1f in start or awake function if your menu is in a different scene

    •  6 років тому

      ua-cam.com/video/WeF8G6JHJgU/v-deo.html

  • @trappedhere7343
    @trappedhere7343 4 роки тому +4

    i typed :
    public GameObject PauseMenuUI;
    however when i went back into unity there was no other box in my script component.
    and yes.
    i did save it.
    edit: nm fixed.

    • @blade4408
      @blade4408 4 роки тому

      Had the same problem. called Pause(); PauseMenu();

    • @WW2Fr3k
      @WW2Fr3k 3 роки тому

      How did you fix it???

  • @emeralaxy850
    @emeralaxy850 5 років тому

    Ok, you are now my favourite UA-camr, EVERY. SINGLE. VIDEO, on this messed up my game with so many errors and now you fixed it, thank you so much

  • @TotatoC
    @TotatoC 4 роки тому +6

    Hi, so when I pause the game for the first time I can continue it via the 'resume' button, but when I pause again and try to click the resume button, nothing happens... Anyone know a solution?

    • @et9296
      @et9296 4 роки тому +2

      Hello! I was having the same issue as you, and I think there was a Unity update that made scripts not run while the object is not active. To solve this, I moved the script onto the main camera and it worked as usual.

    • @asmityadav.09
      @asmityadav.09 3 роки тому

      @@et9296 thanks buddy, i was stuck cuz of this issue for hours...

    • @DavidB-rx3km
      @DavidB-rx3km 2 роки тому

      @@et9296 Did you set game paused = true / false for each of the pause/resume functions?

  • @fakuu1225
    @fakuu1225 2 роки тому

    Im learning unity and c# is the first language that im actually programming and dude, your videos are literally life saviours for me, thank you so fucking much

  • @onlywatch8417
    @onlywatch8417 6 років тому +7

    Verry good tutorial for begginers. Nice work ;)

  • @rajbirsingh2771
    @rajbirsingh2771 4 роки тому

    they are the best unity lessons on unity . they are much better than any paid courses

  • @Safandjaro
    @Safandjaro 5 років тому +4

    Nice Tutorial. Everything works fine, but when I go back to my Main menu, it freezes and te buttons do not work anymore.

    • @salvatorebutera7453
      @salvatorebutera7453 5 років тому

      Same problem.Have you solved?

    • @bongobliss5795
      @bongobliss5795 5 років тому

      @@salvatorebutera7453 10:04

    • @faiz7180
      @faiz7180 4 роки тому

      @@bongobliss5795 Still doesn't work for me. Do you know why this could be happening?

  • @TheWizard991
    @TheWizard991 2 роки тому

    These videos are pure gold. I've made a game called Jumpy Cube.

  • @gamemaker5459
    @gamemaker5459 4 роки тому +3

    when i try to click resume button, entire screen is freezing and cursor become invisible(for menu and quit also). What to do?

  • @ibrohim9439
    @ibrohim9439 3 роки тому

    Brackeys said Awesome every new videos

  • @buzzyrobo
    @buzzyrobo 3 роки тому +3

    When i go to the pause menu the buttons are also frozen, is there any way to make the time unscalable like the animation?

  • @FirroLP
    @FirroLP 6 років тому +1

    Hey Brackeys, really enjoy these UI Videos since I have to do many of them for my kind of games and I wanted to ask if you could make some tutorial on how to make a UI responsive for different screen sizes and more specifically Aspect Ratios. Most resources I find and people I ask are not as good as they could be. Much love to you and always happy to learn from you

  • @GregEads
    @GregEads 6 років тому +12

    Why is the thumbnail of the video a completely different UI than what you are teaching?

    • @Wodsobe
      @Wodsobe 4 роки тому +1

      probably to show what can be done with it

    • @kelpdock8913
      @kelpdock8913 3 роки тому

      @@Ari_M17 please shut up

    • @NoThrottle
      @NoThrottle 3 роки тому

      You can use the same code but with a different skin. I agree that they should've shown their final product that they will be showing, but then again this is a coding channel, not a UI/UX design one.