SETTINGS MENU in Unity

Learn how to make an in-game options menu using Unity!
● Sign up for the Devdog Christmas Calender: bit.ly/DevdogGiveaway
● START MENU in Unity: • START MENU in Unity
● Ultimate Game UI: www.assetstore.unity3d.com/#!...
❤️ Donate: www.paypal.com/donate/?hosted...
····················································································
► Join Discord: / discord
♥ Subscribe: bit.ly/1kMekJV
● Website: brackeys.com/
● Facebook: / brackeys
● Twitter: / brackeystweet
········································­­·······································­·­····
Edited by the lovely Sofibab.
········································­­·······································­·­····
► All content by Brackeys is 100% free. We believe that education should be available for everyone.
❤️ Donate: www.paypal.com/donate/?hosted...
········································­­·······································­·­····
♪ Baby Plays Electro Games
teknoaxe.com/cgi-bin/link_code...

Пікірлер: 1 600

  • @tiggs_4429
    @tiggs_44293 жыл бұрын

    by the way guys, if you cannot drag in the resolution drop down, you probably have a text mesh pro dropdown one. To solve this you can do 'public TMPro.TMP_Dropdown resolutionDropdown;' instead of the 'public Dropdown resolutionDropdown'. I hope this helps on anyone who is stuck.

  • @PeaceInExile

    @PeaceInExile

    3 жыл бұрын

    You're a life saver

  • @TheGunner2013

    @TheGunner2013

    3 жыл бұрын

    nice, Thank you for your help

  • @rowk19

    @rowk19

    2 жыл бұрын

    Thank you so much

  • @sofimalite

    @sofimalite

    2 жыл бұрын

    You are the king of mankind

  • @nikolasdemetriou126

    @nikolasdemetriou126

    2 жыл бұрын

    You're the best!

  • @GalanLefont
    @GalanLefont3 жыл бұрын

    0:00 Intro 1:13 Volume 5:36 Graphics 7:48 Full Screen 9:05 Resolution

  • @gaboandres

    @gaboandres

    3 жыл бұрын

    Thx man, now that they are not working as a youtuber anymore i dont feel guilty about not watching the whole vid lol

  • @cptray-steam

    @cptray-steam

    2 жыл бұрын

    Someone get this man a cookie!

  • @btryx9378

    @btryx9378

    2 жыл бұрын

    @Ninja Boy you're probably doing something wrong then.

  • @BigWallSolutions

    @BigWallSolutions

    Ай бұрын

    С этой связкой все стало проще и эффективнее, спасибо за советы!

  • @skho974
    @skho9746 жыл бұрын

    Dude every time i need to learn something, i go on youtube and every time, you make a video about what i needed at that moment, you kidda scary tho

  • @richkid6571

    @richkid6571

    6 жыл бұрын

    Lol yall crazy lol

  • @pitaya4151

    @pitaya4151

    6 жыл бұрын

    Elvishious the fbi man tells him

  • @NicoFye

    @NicoFye

    4 жыл бұрын

    for everyone who's wondering, there is actually a tool that let's you know what people search the most :)

  • @ariarichards-

    @ariarichards-

    4 жыл бұрын

    @@NicoFye Yeah it's called Google trends

  • @echo9dev

    @echo9dev

    3 жыл бұрын

    @@ariarichards- yep

  • @Kai-Shin
    @Kai-Shin6 жыл бұрын

    Small tip Select the audiosource you want to control volume > Output > None→Master(AudioMixer). :D

  • @Zinisco

    @Zinisco

    6 жыл бұрын

    Thank you!

  • @FabioKun

    @FabioKun

    6 жыл бұрын

    thx

  • @d1xt1r

    @d1xt1r

    6 жыл бұрын

    Thank you!

  • @kevinalbajrami9923

    @kevinalbajrami9923

    6 жыл бұрын

    make this top comment

  • @akulmehra7528

    @akulmehra7528

    6 жыл бұрын

    Hey man, I followed the tutorial step by step and even followed your comment. Still my slider seems to have no effect on the volume. Any suggestions?

  • @wifu-box266
    @wifu-box2663 жыл бұрын

    Just wanted to let you know your tutorials are phenomenal! I really appreciate the way you add in Debug.Logs as you go so we can see it working as we go rather than just hoping it all works at the end of the tute. Stay awesome man!

  • @Gredran
    @Gredran3 жыл бұрын

    It's true what they all say, you are THE Unity guy. Sure I know others exist, but the sheer amount of topics you discuss, from 2d to 3d, to settings and multiplayer. Thanks so much! It's been long overdue for me, but FINALLY getting into Unity and C# :D

  • @_hallowed_
    @_hallowed_2 жыл бұрын

    For the resolutions option, if anybody is seeing a lot of seemingly duplicate options (I was), it's because of refresh rates - you have 1920x1080@60hz and 1920x1080@144hz for example. What I did was add the refresh rate into the dropdown text options: string option = resolutions[i].width + " x " + resolutions[i].height + " @ " + resolutions[i].refreshRate + "hz";

  • @stentanner

    @stentanner

    2 жыл бұрын

    Thank you!

  • @_hallowed_

    @_hallowed_

    2 жыл бұрын

    @WasNeverBrandon No idea, but there definitely is a way.

  • @Ice_ZOMBIES

    @Ice_ZOMBIES

    2 жыл бұрын

    I literally just switched back from my Unity program to google "why do i have duplicate resolutions?" Just to see your comment conveniently right before I clicked away. Bless your soul, you beautiful bastard! Thank you!

  • @Nikolai_SE

    @Nikolai_SE

    2 жыл бұрын

    Thank you bro!

  • @chiragmidha2878

    @chiragmidha2878

    2 жыл бұрын

    this is exactly what I was looking for

  • @MrAvatin
    @MrAvatin6 жыл бұрын

    Probably one of the few youtubers who care about their subscribers and take their feedback!

  • @jaycesaerius
    @jaycesaerius6 жыл бұрын

    You are the best, Brackeys !

  • @patrickh4284
    @patrickh42845 жыл бұрын

    At 14:30 there´s a mistake in the script. He compares resolution[i] with Screen.currentResolution but that´s wrong. CurrentResolution gives the Resolution of the monitor but we want to compare it with the Resolution of the window in case we change the scene. That´s why we have to compare resolution[i].width with Screen.width and resolution[i].height with Screen.height.

  • @yeetusselfdefeetus4566

    @yeetusselfdefeetus4566

    5 жыл бұрын

    Patrick H YOU HAVE SAVED ME THANK YOU VERY MUCH

  • @christossotirlis2247

    @christossotirlis2247

    5 жыл бұрын

    i love you. this video assisted me in creating my first project and this was a huge stuck. thank you

  • @rockbolton8173

    @rockbolton8173

    5 жыл бұрын

    Thanks a bunch man! i was wondering why my game kept resizing to full screen when I opened my settings lol

  • @budrys1356

    @budrys1356

    5 жыл бұрын

    Could you copy full script with resolution for me, becouse im having some trouble.

  • @poteito9721

    @poteito9721

    5 жыл бұрын

    love you my dude, you saved my life :D

  • @Vaerch
    @Vaerch6 жыл бұрын

    This is what i love about Brackeys, The quality of their tutorials.

  • @DawnosaurDev
    @DawnosaurDev4 жыл бұрын

    At 5:10 use audioMixer.SetFloat("Volume", Mathf.Log10(volume) * 20); instead since the audiomixer volume is not linear Edit: make sure the varibles match yours ie. same caps and spellings

  • @SkeeterMakesGames

    @SkeeterMakesGames

    4 жыл бұрын

    Thanks dude. Solved a problem I was having.

  • @kishiosakai2649

    @kishiosakai2649

    4 жыл бұрын

    Thank you!

  • @fuuuuuuuuuuuuuuuuuuuuuuuuu

    @fuuuuuuuuuuuuuuuuuuuuuuuuu

    4 жыл бұрын

    Thank you. For this to work the Slider object must have Min and Max values of 0.0001 and 1 respectively.

  • @facyual9061

    @facyual9061

    4 жыл бұрын

    @Zoom the second time its lower case

  • @facyual9061

    @facyual9061

    4 жыл бұрын

    this only works if you change the "Volume" to "volume" it took me 10 minutes to figure out that the "Volume" wasn't supposed to be caps.

  • @jvcss
    @jvcss6 жыл бұрын

    YOU ARE BADASS MAN!! I REALLY LOVE YOU DUDE!

  • @viktordjambov1437
    @viktordjambov14376 жыл бұрын

    If it weren't for Brackeys, not only would I have maybe thought about giving up Game developing, thinking it would be too boring or difficult, or I would have kept doing it but never find so much joy in learning the basics. Thanks man!

  • @grimsladeleviathan3958
    @grimsladeleviathan39585 жыл бұрын

    This video has been really really helpful! I tried to make an option menu, and some stuff didn't work, after watching this video, I found what I did wrong. Thanks, Brackeys! Love the christmas hat btw

  • @mayaG183
    @mayaG1836 жыл бұрын

    I just found this channel yesterday this is so helpful and amazing. I don't know how else to thank you as soon as I have a stable income I will become a patron supporter!!!

  • @hplovecraftmacncheese
    @hplovecraftmacncheese Жыл бұрын

    If your slider is affecting the audio mixer values but not changing the sound volume of your audio, you have to drag the mixer into the slot of your audio clip on the inspector to affect the actual sound of each clip.

  • @conors026

    @conors026

    Жыл бұрын

    I know this was 3 months ago but thank you so much

  • @BAGUETTEBOYyt

    @BAGUETTEBOYyt

    11 ай бұрын

    thanks 👍

  • @polipoli23

    @polipoli23

    10 ай бұрын

    thank you so much

  • @Jasperkiller1
    @Jasperkiller16 жыл бұрын

    We asked for it, we got it, we enjoy it. :D

  • @brianmo2611

    @brianmo2611

    6 жыл бұрын

    ...... This is hardly a settings menu, what about aspect ratio, AA, Different volume settings for like music/sfx/master volume, what about controler and keyboard binding, or what about SAVING the settings for the next time a player opens the game........

  • @esbenkran

    @esbenkran

    6 жыл бұрын

    - Aspect ratio is just a modified resolutions dialog with resolution shown in lower fractions. - The AA can be accessed through the post-processing stack, which I believe he has done a tutorial on already. - The different volume settings would be done by sending AudioSource sounds to specific mixers instead of master (SFX mixer, Music mixer) and then modifying them instead of the master as he did in this video. - The controller and keyboard bindings can be accessed and modified (with much more work) through the Input class etc. - Saving the settings is just using PlayerPrefs, which he has done a tutorial on already.

  • @brianmo2611

    @brianmo2611

    6 жыл бұрын

    Yes because telling someone what they are is totally the same thing as showing someone how to set them up........

  • @arey85

    @arey85

    6 жыл бұрын

    Watch Brackey's high score tutorial and you have your answer for both how to save custom prefs into a prefs and load it back. In his previous tutirials you can also find the answer how to detect inputs, keyress etc and change those settings. Then just combine all of them together and you can get a fully functional options menu :)

  • @somnia3423

    @somnia3423

    6 жыл бұрын

    brian ou have to learn a few things by you own...

  • @everton.colombo
    @everton.colombo6 жыл бұрын

    Dude, you don't even know how your tutorials have been helping me, thanks.

  • @Shinobi31415926
    @Shinobi314159266 жыл бұрын

    Loving these UI tutorials. Keep 'em coming!!!

  • @creatingwithlove
    @creatingwithlove3 жыл бұрын

    Love the tutorial. Wish you were still making them.

  • @TNThead
    @TNThead5 жыл бұрын

    For anyone with troubles in build where the options can get duplicated in the dropdown; this is in fact not a bug, it is due to the varying refresh rates available. Unity editor has a consistent 60Hz, but when an application is built, there can be multiple differing rates between the same resolution. A fix can be just adding the refresh rate to the option: string option = resolutions[i].width + " x " + resolutions[i].height + ", " + resolutions[i].refreshRate + "Hz";

  • @hepcecob

    @hepcecob

    4 жыл бұрын

    Is there a way to do it without the refresh rates? I tried comparing the old vs new value, got the drop down list to be only unique refresh rates... but when I select one, I guess it takes it's index form the drop down and applies it to the available resolutions.

  • @timwit333
    @timwit3336 жыл бұрын

    DUUUDE, just arrived at the point in my personal project where I have to implement the settings menu! Best timing ever!

  • @EUBEEN123
    @EUBEEN1234 жыл бұрын

    I'm always so happy when I finish writing the scripts and there are no errors

  • @horyzengm
    @horyzengm3 жыл бұрын

    Brackeys: Its an amazing pack thats free on the asset store The asset store: That'll be $25 please

  • @infleo23

    @infleo23

    3 жыл бұрын

    True, I dont know which asset to use...

  • @aminkafnaweez2595

    @aminkafnaweez2595

    3 жыл бұрын

    @@infleo23 bro u can just draw the them urself its easy :)

  • @bbugra3

    @bbugra3

    3 жыл бұрын

    @@aminkafnaweez2595 wait.. is it really easy???

  • @redgeoblaze3752

    @redgeoblaze3752

    3 жыл бұрын

    @@aminkafnaweez2595 you underestimate just how bad some of us are at art. Or more importantly, how long it takes us to figure out some digital art programs.

  • @Hietakissa

    @Hietakissa

    3 жыл бұрын

    @@redgeoblaze3752 that is why all my menus consist of tmp text with a nice gradient and a dark semi-transparent panel underneath it. Good enough looking ui and it's really easy to make.

  • @user-pt6gu4rd6w
    @user-pt6gu4rd6w5 жыл бұрын

    Hi! Thanks for your video! I've got something you might find useful. Instead of this: if(resolutions[i].width == Screen.currentResolution.width && resolutions[i].height == Screen.currentResolution.height) You can use the Equals method: if(resolutions[i].Equals(Screen.currentResolution)) It compares objects and returns true, if their fields are equal. Hope it might help someone to shorten their code!

  • @zacksima8333

    @zacksima8333

    5 жыл бұрын

    Евгений Кучерявый I think == is an implicit .equals call so you can just directly use ==

  • @mr.fakeman4718

    @mr.fakeman4718

    4 жыл бұрын

    == is slower than .Equals, his comment deserves more likes.

  • @awawa5594

    @awawa5594

    3 жыл бұрын

    Do you still need the last 3 lines: m_ResolutionDropdown.AddOptions(m_Options); m_ResolutionDropdown.value = m_CurrentResolutionIndex; m_ResolutionDropdown.RefreshShownValue();

  • @AstraGamesStudios

    @AstraGamesStudios

    Жыл бұрын

    @@awawa5594 yes

  • @JimGiant
    @JimGiant6 жыл бұрын

    Can't thank you enough for this! Didn't expect to learn anywhere near this much!

  • @likewut007
    @likewut0075 жыл бұрын

    if brackeys doesn't have a tutorial on it, it can't be done. this guys saved me so many headaches

  • @vandermunnik
    @vandermunnik2 жыл бұрын

    If you want to set the default quality to high for instance you can do that within the dropdown component by setting 'value' to 2. I struggled with this a bit at first :P

  • @swiftcreations

    @swiftcreations

    2 жыл бұрын

    Thanks!

  • @skymartin9414
    @skymartin94142 жыл бұрын

    If you are using a TextMeshPro DropDown instead of the default Dropdown change: public DropDown resolutionDropdown; to public TMP_Dropdown resolutionDropdown; and make sure that you have using TMPpro; at the top of your script

  • @janil9357

    @janil9357

    2 жыл бұрын

    wow.. thx a lot bro.. I was wondering what went wrong for a sec lol

  • @eltonyeo2811

    @eltonyeo2811

    2 жыл бұрын

    Thx, help me a lot

  • @noisefond

    @noisefond

    2 жыл бұрын

    legend

  • @savasozdemir3320

    @savasozdemir3320

    2 жыл бұрын

    I came here looking for a brave soul that solved my problem without me asking, internet delivered once again... Thanks man!

  • @kostiantynvolnov9012

    @kostiantynvolnov9012

    Жыл бұрын

    Thx, man, but 1 mistake using TMPro; without "p"

  • @MikeyyMonty
    @MikeyyMonty6 жыл бұрын

    I was just looking for this! Thank you yet again Brackeys!!!!!

  • @hitlab
    @hitlab4 жыл бұрын

    Great video! Exactly what I was looking for today. Keep up the awesome work man. Thank you.

  • @81Mendel
    @81Mendel5 жыл бұрын

    @ 11:45 - 12:13 try this line instead: string option = resolutions[i].width + " x "+ resolutions[i].height +" @ " +resolutions[i].refreshRate + " Hz"; This will populate the list nicely with refreshRate information intact edit: not sure yet how to apply the refresh rate as well.

  • @kawaiianthony8090
    @kawaiianthony80903 жыл бұрын

    1:15 Volume 5:40 Graphics 7:50 Fullscreen 9:15 Resolution

  • @maxencecrouzy2196
    @maxencecrouzy21964 жыл бұрын

    I almost never comment on videos but dude you just saved my programming project!

  • @ben_insomnia
    @ben_insomnia2 ай бұрын

    My GOAT, 6 years later and all of this is still helpful

  • @a_soulspark
    @a_soulspark6 жыл бұрын

    I couldn't stop laughing at the start of the video! Nice look Brackeys :)

  • @dc37wwe2kmods
    @dc37wwe2kmods4 жыл бұрын

    For everyone who gets the same resolution on the dropdown even if they already changed it: This happens when on window mode. The Screen.currentResolution will get the 'desktop resolution' instead of the game's current resolution. To fix this, simply change: ` if(_resolutions[i].width == Screen.currentResolution.width && _resolutions[i].height == Screen.currentResolution.height) ` TO ` if(_resolutions[i].width == Screen.width && _resolutions[i].height == Screen.height) ` If you didn't get it, change "Screen.currentResolution.width" to "Screen.width" (and also height) during the if statement on the for loop. This will get the game's current resolution. God Bless and Happy Coding! =)

  • @tophatsntales

    @tophatsntales

    Жыл бұрын

    Holy hell this solved all my problems. it would save everything but as soon as a scene loaded it changed the resolution

  • @dc37wwe2kmods

    @dc37wwe2kmods

    Жыл бұрын

    @@tophatsntales Happy to help!

  • @lazzzzz_exe

    @lazzzzz_exe

    3 ай бұрын

    what canvas settings did you have? mine doesnt scale properly and the resolution gets considerably lower if you pick anything but default

  • @finalrenderanimationstudio
    @finalrenderanimationstudio6 жыл бұрын

    as always, your channel has been a big help to me and my projects!

  • @lukemoore7319
    @lukemoore73196 жыл бұрын

    Dude u are so great, I love these tutorials, gonna pass my uni degree based on half of this stuff 😂😂 keep it up 😍

  • @kralpata
    @kralpata2 жыл бұрын

    if anyone has errors in their script, try this: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Audio; using UnityEngine.UI; using TMPro; public class SettingsMenu : MonoBehaviour{ public AudioMixer audioMixer; public TMP_Dropdown resolutionDropdown; Resolution[] resolutions; void Start () { resolutions = Screen.resolutions; resolutionDropdown.ClearOptions(); List options = new List(); int currentResolutionIndex = 0; for (int i = 0; i { string option = resolutions[i].width + "x" + resolutions [i].height; options.Add(option); if (resolutions[i].width == Screen.currentResolution.width && resolutions[i].height == Screen.currentResolution.height) { currentResolutionIndex = i; } } resolutionDropdown.AddOptions(options); resolutionDropdown.value = currentResolutionIndex; resolutionDropdown.RefreshShownValue(); } public void SetResolution (int resolutionIndex) { Resolution resolution = resolutions[resolutionIndex]; Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen); } public void SetVolume(float volume) { audioMixer.SetFloat("volume", volume); } public void SetQuality (int qualityIndex) { QualitySettings.SetQualityLevel(qualityIndex); } public void SetFullscreen (bool isFullscreen) { Screen.fullScreen = isFullscreen; } } (the text mesh pro is only if you are using it)

  • @derangeddoffy

    @derangeddoffy

    2 жыл бұрын

    Thank you so much, I wasn't able to do resolution dropdown.

  • @ichigo765

    @ichigo765

    Жыл бұрын

    thanks, your a life saver. i dont know why mine wasnt working

  • @Frazcaideadlol__

    @Frazcaideadlol__

    11 ай бұрын

    We need more people like you.

  • @DayMoniakkEdits
    @DayMoniakkEdits6 жыл бұрын

    You can also save all theses values in the PlayerProperties for load the settings each time you change or restart scenes

  • @Parona1337

    @Parona1337

    6 жыл бұрын

    How? It doesnt work for me

  • @mikewb88
    @mikewb886 жыл бұрын

    Thank you brackeys, this is so much easier than the way I was trying to accomplish it!

  • @0ptirus95
    @0ptirus953 жыл бұрын

    Thank you for the tutorial! This is much easier than I thought it would be!

  • @dewybeat2409
    @dewybeat24093 жыл бұрын

    To people like me who's having trouble with the volume here's something that works: public AudioMixer audioMixer; [SerializeField] AudioSource audioSrc; public float Nvolume = 1f; void Update() { audioSrc.volume = Nvolume; } public void SetVolume(float volume) { Nvolume = volume; audioMixer.SetFloat("volume", Nvolume); }

  • @xxxx9131

    @xxxx9131

    3 жыл бұрын

    TKS

  • @wgregoryw21
    @wgregoryw212 жыл бұрын

    If you see the bar in the MainMixer go up and down but the volume doesn't change you have to add: public AudioMixerGroup mixerGroup; in your AudioManager script and then inside the foreach(Sound s in sounds) after the s.source = gameObject.AddComponent(); you have to put s.source.outputAudioMixerGroup = mixerGroup; after that open the MainMixer icon in your assets and drag the "Master" inside the public mixerGroup in editor!

  • @owokamii

    @owokamii

    Жыл бұрын

    tysm!

  • @hyp3240
    @hyp32406 ай бұрын

    Amazing tutorial, helped me get through volume slider and graphics options, thank you

  • @IzeIzeBaby
    @IzeIzeBaby6 жыл бұрын

    Best tutorial i have ever seen about unity's ui. Nice.

  • @anommahartha2357
    @anommahartha23575 жыл бұрын

    remember to Increase volume on "Audio Mixer", and add Output -> Master to your "Audio source" component... :D

  • @rinodipaola761

    @rinodipaola761

    3 жыл бұрын

    Thank you, you saved my life!! :D

  • @OBEYOTTERZ

    @OBEYOTTERZ

    2 жыл бұрын

    THANK YOU SO MUUUUUUUUCHHHHHHHHHHHHHHHH

  • @MostafaTElmansoury
    @MostafaTElmansoury6 жыл бұрын

    Please make a tutorial on how to map controller input.

  • @netbat

    @netbat

    4 жыл бұрын

    it's in project settings > Input

  • @thepithief3700
    @thepithief37006 жыл бұрын

    Great tutorial Brackeys!! Keep up the good work!

  • @benjoe1993
    @benjoe19936 жыл бұрын

    This tutorial is what the beginner gamedev community has been waiting for for ages now :D Thanks for creating this!

  • @peterchow172
    @peterchow1724 жыл бұрын

    For those whose volume doesn't change after using the slider, add this to your code: AudioMixer audioMixer = Resources.Load("MainMixer"); AudioMixerGroup[] audioMixGroup = audioMixer.FindMatchingGroups("Master"); audioSource.outputAudioMixerGroup = audioMixGroup[0]; Also, you have to go to the audiosource component of the audioclip you want to lower the sound of and change the output section to Master(AudioMixer).

  • @_VULTAR_

    @_VULTAR_

    2 жыл бұрын

    Thanks!

  • @BottledWater
    @BottledWater6 жыл бұрын

    can you make a tutorial on how to save these settings when the game gets closed? would this also apply to other things in the game (lives, unlocked levels, etc.)

  • @SerhiiZhydel

    @SerhiiZhydel

    6 жыл бұрын

    so unity doesn't load these settings after restart? did you check it?

  • @Definitely_a_Fox

    @Definitely_a_Fox

    5 жыл бұрын

    He did a video on saving and loading values. Maybe you want to check that out.

  • @vda1_327

    @vda1_327

    3 жыл бұрын

    yes i need that too

  • @Croccolucho

    @Croccolucho

    3 жыл бұрын

    @@Definitely_a_Fox can you please give me the link?

  • @Definitely_a_Fox

    @Definitely_a_Fox

    3 жыл бұрын

    @@Croccolucho Okay, a quick look through their video''s was all you needed to do. kzread.info/dash/bejne/ioOexsGqhZWvlNI.html

  • @StarLuson
    @StarLuson3 жыл бұрын

    Everything works perfectly and so simple! Thank you so much, with this video today i built the game for the first time.

  • @a_overwatchplayer9136
    @a_overwatchplayer91366 жыл бұрын

    Brackeys, thank you so much you really have helped me learn a lot by doing this, thank you so much man you're the best!

  • @nxt_tim
    @nxt_tim6 жыл бұрын

    dat christmas hat tho :D

  • @cenullum

    @cenullum

    6 жыл бұрын

    TimTube i thought it was judge hair 😀

  • @zeenzw6678

    @zeenzw6678

    6 жыл бұрын

    Lol deutscher iz da

  • @aidenkimmerling7221
    @aidenkimmerling72214 жыл бұрын

    So I know this is an old video, but the Graphics dropdown only actually works when my mouse is hovering over the Quality section in the Project Settings tab

  • @yellowgd3936
    @yellowgd39366 жыл бұрын

    This tuturial is very completed. Thank you so much!

  • @Diego0wnz
    @Diego0wnz4 жыл бұрын

    it's so insane. I just made a game in the 2-week holidays because of you? Thanks so much stranger. I mean god brackeys =) haha

  • @ASSSGROUP
    @ASSSGROUP6 жыл бұрын

    sorry but i have a problem when my option menu is loaded after playing one scene, it gets to default..(which is high)

  • @ie585
    @ie5856 жыл бұрын

    To fix the bug with repeat resolution you need to disable the extra support for the aspect ratio in the player settings. After that, the bug with the rotation resolution will be lost. P.S. sorry for the bad english. People need it in the top!

  • @F3NR1R04

    @F3NR1R04

    5 жыл бұрын

    thanks a ton!

  • @moenator509

    @moenator509

    5 жыл бұрын

    I cant find the extra support T_T, Help

  • @sconosciutosconosciuto2196

    @sconosciutosconosciuto2196

    5 жыл бұрын

    @@moenator509 me too :(

  • @mikecastilho1010

    @mikecastilho1010

    5 жыл бұрын

    @@zhuohuichen9444 The solution is pretty simple actually the duplicates are different refresh rates for the resolutions, since brackeys only picked the sizes of width and height in the string you can't see then you can keep the duplicates and add the refresh rates using something like string option = resolutions[i].ToString(); or filter all non-60hz results using resolutions = Screen.resolutions.Where(resolution => resolution.refreshRate == 60).ToArray(); istead of resolutions = Screen.resolutions; just make sure you are using System.Linq o/

  • @g5fighter

    @g5fighter

    5 жыл бұрын

    @@mikecastilho1010 Also you can do this List options = new List(); int currentResolutionIndex = 0; for (int i = 0; i { string option = resolutions[i].width + "x" + resolutions[i].height + ":" + resolutions[i].refreshRate + "Hz"; options.Add(option); if(resolutions[i].width == Screen.currentResolution.width && resolutions[i].height == Screen.currentResolution.height && resolutions[i].refreshRate == Screen.currentResolution.refreshRate) { currentResolutionIndex = i; } } resolutionDropdown.AddOptions(options); resolutionDropdown.value = currentResolutionIndex; resolutionDropdown.RefreshShownValue(); public void SetResolution(int resolutionIndex) { Resolution resolution = resolutions[resolutionIndex]; Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen, resolution.refreshRate); }

  • @DriitzzCabal
    @DriitzzCabal6 жыл бұрын

    i had issue with my text being crisp and clear in the editor but blurried when building the game , this totally fixed it AND it wasn't even related to that LOL! thanks brackeys you the man

  • @HitsquadYT
    @HitsquadYT2 жыл бұрын

    Thx bro you always been there helping even tho you gone now you still helping people

  • @Seshua87
    @Seshua8710 ай бұрын

    No offense to you Brackeys

  • @serpnta1267
    @serpnta12676 жыл бұрын

    For those of you getting several of the same resolutions in your resolution drop down, you can get rid of them by going into Edit, Project Settings, Player, Resolution and Presentation and find the Support Aspect Ratios, then untick 4:3, 5:4, and other. You will no longer have the smaller number of resolutions but you won't have any duplicates. The lowest resolution you can then choose is 1280 x 720 (or at least it is for me). If you need something smaller, you may have to do some coding or live with the duplicates..

  • @ridhachowdhury1831
    @ridhachowdhury18316 жыл бұрын

    Thanks. This stuff is pretty easy but it's nice to see you do it!

  • @noobsaibot3922
    @noobsaibot39226 жыл бұрын

    I just subscribed to this channel and thinking why didn't i do it before its the best! you teach the best way

  • @CrunchyPie
    @CrunchyPie6 жыл бұрын

    Make Tutorial about when you press esc you can resume game,quit,and option

  • @jorjolandes

    @jorjolandes

    6 жыл бұрын

    He explain this in one of the "Tower Defense" videos. In this one kzread.info/dash/bejne/aWxtya9ygpbOpMY.html

  • @CraftyMaelyss
    @CraftyMaelyss4 жыл бұрын

    5:36 For some reason, when I drag the handle, it either goes to 0 or -80 but never in between P:

  • @arturmonteirodacosta170
    @arturmonteirodacosta1706 жыл бұрын

    That was an amazing tutorial! Congrats for it and thank you for that! Would you be planning on creating a save/load system any time soon?

  • @framedkraken7403
    @framedkraken74035 жыл бұрын

    just saw this tutorial and implemented it! new patreon member incoming !!!

  • @akebengtsson4857
    @akebengtsson48576 жыл бұрын

    I have ALWAYS wanted to make a rhythm game! Like those Hatsune Miku Diva games for PS4. However, it seems really complicated with how to make it all works. Can you explain the basics for a rhythm game? - How to force press of certain buttons, multiple buttons, timing rate (cool, fine, sad, worst etc), keeping a combo/breaking a combo, hold notes and etc. You would really be of help! :D

  • @aalim-kn6lq
    @aalim-kn6lq3 жыл бұрын

    if anyone was wondering, this is how i think is an easy way to use the volume slider: using System.Collections; using System.Collections.Generic; using UnityEngine; public class OptionMenu : MonoBehaviour { public void SetVolume(float volume) { AudioListener.volume = volume; } } hope it helped!

  • @ahsanshah7373

    @ahsanshah7373

    2 жыл бұрын

    Lifesaver

  • @DerAua
    @DerAua6 жыл бұрын

    Thank you, that is the greatest Christmas present! :-D Exactly what I've been waiting for :-D

  • @SadChihuahua
    @SadChihuahua6 жыл бұрын

    Can't wait for you're MAKING OF Ludum Dare video!

  • @theunknowndev_
    @theunknowndev_6 жыл бұрын

    on Low Quality my Images and Fonts are the same quality as in High. How can I change this?

  • @muhammadalfin2691

    @muhammadalfin2691

    4 жыл бұрын

    In dropdown, change the value to 2

  • @das3tins768

    @das3tins768

    3 жыл бұрын

    @@muhammadalfin2691 which value tho

  • @paspiregamer5114
    @paspiregamer51146 жыл бұрын

    Merci beaucoup

  • @elidorvarosi3500
    @elidorvarosi35006 жыл бұрын

    The best tutorial ever. Thank you for being such a big help.

  • @Swagsy
    @Swagsy6 жыл бұрын

    Thanks for the amazing Tutorials dude!

  • @algirdaslalys3387
    @algirdaslalys33876 жыл бұрын

    Does anyone has the same bug with builded version in resolution dropdown, where some resolutions are duplicated? You can see same in video (16:23) 720 x 480, 720 x 480. Btw thank you for your professional work, you are awesome:)

  • @JackLOJBond

    @JackLOJBond

    6 жыл бұрын

    For me, all the refresh rates are the same (40Hz)! Any idea as to why?

  • @DavidBrit101
    @DavidBrit1014 жыл бұрын

    1:03 was free, feelsbadman

  • @marcuslane6289

    @marcuslane6289

    4 жыл бұрын

    Yeah probs got an influx of traffic from this vid and decide to price it up :(

  • @JeloOW

    @JeloOW

    3 жыл бұрын

    FeelsOkayMan there are probably better free alternatives

  • @xt1988
    @xt19886 жыл бұрын

    omg, i have learned so much in 17min, dude i love your work :D

  • @ACBros_06
    @ACBros_068 ай бұрын

    Still the greatest source of info on internet

  • @RequiemsVoid
    @RequiemsVoid6 жыл бұрын

    Bit of a random question. I recently watched the "unite Austin 2017 game architecture with scriptable objects" talk which talked about modular scripting. Any chance you'd be interested in breaking down his core points into an easier to follow lesson for beginners? Example: (ELI5) How exactly does a player and an enemy both use the same HP script? (Where is the data stored if not on the individual characters?)

  • @TheDarkranium

    @TheDarkranium

    6 жыл бұрын

    Well, as an example you can have an HP class which will hold the health value. This will be the base class. Then you will inherit from that class instead of MonoBehaviour with another class called EnemyHP and another one called PlayerHP. Now you have 3 classes. 1 - HP class, 2 - EnemyHP class, 3 - PlayerHP class. Then in the HP class you will have an empty take damage function or OnColliderEnter class, but it has to be a virtual class just so you can override in the class you are inheriting it on. Then, you make another take damage or OnColliderEnter class in the EnemyHP and PlayerHP classes as ex: 'protected override void OnColliderEnter() {}' Then for EnemyHP, you can say if a bullet with Player tag entered it you can subtract from the base hp. Or vice versa. Any variable in base class can be accessed from child classes as long as variable is 'protected' or 'public'. So, even though you don't actually see the variable in that class you can still access it just like a GameObject type since it is from MonoBehaviour. Anyway, it sounds difficult but if you follow what I wrote above step by step you should understand inheritance which helps a lot making games. Basically however, you make a base class, two different classes inherit from that base class. You assign those 2 classes in the inspector to Player and Enemy. Then variables from base class will be exposed on inspector. Then you populate the scripts as I said above. Then next time you want to make a new HP script all you need is a new class with the difference of how they take damage. However, if EVERYTHING is same with Player and Enemy, how they take damage which means friendly fire included then you can use the same exact same script anyway. I do not know if it was clear but if you don't understand something I can try to explain more. Good day!

  • @paulyounger1190

    @paulyounger1190

    6 жыл бұрын

    I watched that talk recently and for ludum dare 40 I tried to implement the principles from that talk to make my game so I might be able to shed a bit of light on this. Its kind of tricky to explain through the comments but hopefully you can get something out of it. Scriptable objects are saved as assets, so for example you can create a scriptable object that holds a float (lets call its class FloatHolder, all it needs to do is inherit from Scriptable Object and have a public float field), then in both your enemy and player class you can put "public FloatHolder floatholder", and they will now have a field to drag a FloatHolder in. You can create as many FloatHolder instances as you want and name them individually, but you can also have multiple objects reference the same instance of FloatHolder, so for example you can have one instance of FloatHolder that you use to track the players HP, lets call it playerHPFloatHolder, and you can reference it from both the player (to modify it based on healing/taking dmg), the enemy(to modify it or to modify enemy behavior depending on player hp), the game manager(to end the game if you get below 0hp), etc. Experiment with it and the principles of the design pattern will become more clear I think

  • @feral9077
    @feral90776 жыл бұрын

    Can yo make a video on character selection/customization?

  • @acherowyo7555

    @acherowyo7555

    6 жыл бұрын

    I know i'm pretty late, but blackthornprod have some videos on character customization!

  • @DerBubi2
    @DerBubi22 жыл бұрын

    Thanks for the Volume Part and this is a very great Video

  • @kefflix5087
    @kefflix50873 жыл бұрын

    my game has so many bugs and i was so frustating that never things worked but i watched this video, everything worked and now i am motivated to keep going on my game;)

  • @sandrocutri520
    @sandrocutri5204 жыл бұрын

    The Ultimate Game UI costs now😭

  • @bevvy.bee9

    @bevvy.bee9

    4 жыл бұрын

    nOOOOOOOO!!!!!

  • @refdelx

    @refdelx

    4 жыл бұрын

    I know, its so annoying

  • @anishsr1181

    @anishsr1181

    4 жыл бұрын

    It's 25$😭

  • @KrakinTheKonsole

    @KrakinTheKonsole

    4 жыл бұрын

    NO GOD! NO GOD! PLEASE NO NO NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

  • @EgeSayn

    @EgeSayn

    4 жыл бұрын

    @@west770 I mean it would be completely okay if it was not free in the very beginning. But he changed the price right after this video (it is 2nd time I am watching this video). It is not a nice thing to do.

  • @crump96
    @crump964 жыл бұрын

    when i use the slider the audio mixer changes but the sound does not increase or decrease at all

  • @kondzio3500

    @kondzio3500

    3 жыл бұрын

    I gave same problem. i know u wrote it 8 months ago, but did u find solution?

  • @crump96

    @crump96

    3 жыл бұрын

    @@kondzio3500 sure, go to your audio source, there should be a slot for an audio mixer. This is to tell which sound to mute and which to not, you can have 2 audio mixers: music and sfx, and 2 sliders and that is so when you mute music sfx doesnt get affected and this is the solution

  • @arvin7334
    @arvin73346 жыл бұрын

    This is awesome! thank you for this video! man you're really a great help!

  • @billylansar1392
    @billylansar13926 жыл бұрын

    Spanish: El mejor tutorial de Unity es este. Yo pude programar con exito el menu de mi juego. Muchas gracias, saludos desde Colombia. English: The best Unity tutorial is this one. I could reprogram sucesfully the menu of my game. Thank you very much, greatings for Colombia. ☺😀👏👍

  • @SavanaStudios
    @SavanaStudios6 жыл бұрын

    for some reason i see 4 - 8 of the same resolutions when i use the dropdown, fixes?

  • @yellowgd3936

    @yellowgd3936

    6 жыл бұрын

    Same problem. Any fix?

  • @SavanaStudios

    @SavanaStudios

    6 жыл бұрын

    Yellow GD dont worry, when u build the game its good.

  • @brokenos7710

    @brokenos7710

    6 жыл бұрын

    nope still a problem

  • @SavanaStudios

    @SavanaStudios

    6 жыл бұрын

    really?, mine just got Fixed so i dont think i can help you much on this

  • @Yugenki

    @Yugenki

    6 жыл бұрын

    Having the same problem, works good at editor, but there is some same resolutions at the build

  • @mrGee
    @mrGee4 жыл бұрын

    Thanks for the tutorial I'm getting the following error: NullReferenceException: Object reference not set to an instance of an object SettingsMenu.Start () (at Assets/UI/Scripts/SettingsMenu.cs:20)

  • @albin6003

    @albin6003

    4 жыл бұрын

    Same but i dont know how to fix it

  • @bobvideosdotcom
    @bobvideosdotcom3 жыл бұрын

    Thank you so much for the points on this game design class assignment

  • @chakibchemso
    @chakibchemso5 жыл бұрын

    the best channel i learnt from it for ever

  • @sartr593
    @sartr5936 жыл бұрын

    hmm, I did everything like you showed in this video and my master volume changes with volume slider, but music in my game doesn't change at all (and other sound effects as well)! That is very weird and I am stuck 🤔

  • @tranquilmagister8481

    @tranquilmagister8481

    6 жыл бұрын

    found the solution? cause i think i have the same thing; and nothing seems to work...

  • @sartr593

    @sartr593

    6 жыл бұрын

    Yeah, in Audio Source Component (where you set your audio) add MainMixer->Master in the Output.

  • @tranquilmagister8481

    @tranquilmagister8481

    6 жыл бұрын

    Thank you so much! that was exactly what i did wrong.

  • @badluckderp

    @badluckderp

    6 жыл бұрын

    how did you connect the audio in the slider?

  • @jagpreetsingh4993

    @jagpreetsingh4993

    6 жыл бұрын

    You just me a lot of headache and time.. Thank you, you goddamn bloody legend

  • @gamehead1223
    @gamehead12235 жыл бұрын

    Code doesn't work for me, If I try to make a list for my resolutions, I can't get the list to show up in visual studio

  • @KiliGraphics
    @KiliGraphics5 жыл бұрын

    Thanks! Now the people can choose which quality they want in my game and this is super easy! Great Tutorials!

  • @nnneeediimm
    @nnneeediimm2 жыл бұрын

    Thanks!! Helped me a lot. perfectly done