Best Practices for Creating and Managing Widgets | UI | Widgets | HUD | Unreal Engine 5 Tutorial

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024

Комментарии • 165

  • @Kekdot
    @Kekdot  Год назад +4

    Hey guys,
    👨‍🏫 My Patreon link:
    www.patreon.com/kekdot
    Download Project Files | Premium Tutorials | Courses
    💦 Get our Game on Steam | Kekdot Center:
    store.steampowered.com/app/1487180/Kekdot_Center/

  • @lolaswift111
    @lolaswift111 10 месяцев назад +31

    Tutorials teaching best practices and actually used in real game are rare. For that, I thank you very very much. Want to learn more from you

  • @ImeCoulter
    @ImeCoulter Месяц назад +1

    I wouldn't worry about video length when making tutorials like this... I'd rather watch this for an hour than go through 10+ other, 10 minute long, half assed tutorials. Thank you!

  • @TheFlyingEpergne
    @TheFlyingEpergne Год назад +25

    this has got to be one of the greatest ue5 tutorials of all time

  • @stephenmurya
    @stephenmurya 9 месяцев назад +2

    Thank you for this. Finding tutorials that teach best practices are rare. Most tutorials just teach game jam level implementations. This right here is a gem of a video. Thank you ❤

  • @hugolandreville853
    @hugolandreville853 Год назад +13

    Thank you so much for making video that explains how to do thing "correctly" in a real development situation and not just the basic way. That is really useful.

  • @WubbsBubbs
    @WubbsBubbs Год назад +16

    I've been looking for a tutorial like this for half a year now because I was floundering with how to handle my UI systems. I've seriously been doing everything inside of the individual widgets' blueprints and it got so incredibly messy. A nice framework like this was the jumping-off point I needed to get everything working the way it should. You're saints man, hats off.

  • @joeanrachelmiller6529
    @joeanrachelmiller6529 Год назад +1

    This is the organization that I was looking for. This made enough sense that I can now stream line all the tutorials I've watched.

  • @Fizziepop
    @Fizziepop 3 месяца назад

    When the info is this good, it doesn't matter how long it takes! (Completed the video, it all worked for me. Thank you much!)

  • @Smile1oasis
    @Smile1oasis Год назад +6

    I can watch your videos WHOLE DAY!! They are so useful and informative. I've learned a lot from each of them 👏👏👏 you are a great tutor.

    • @Mr.K.Johnson.
      @Mr.K.Johnson. Год назад

      How did you make a health progressbar in this way?

  • @kylemason01
    @kylemason01 Год назад +50

    Just to say one tip. The UE guys in the Common UI tutorial on their channel said using canvas panels for all your widgets will be a CPU bottleneck. You should not try and use canvases if possible or if you do very little.

    • @Fractal2D
      @Fractal2D Год назад

      the reference -
      ruclips.net/user/liveTTB5y-03SnE?feature=share&t=2880

    • @maxwellprince5742
      @maxwellprince5742 Год назад +2

      How can we use less Canvas Panels? I seem to have seen multiple times that for example, a Text Widget needs a Canvas Panel to act as the root

    • @смуксмук
      @смуксмук Год назад

      @@maxwellprince5742 I used SizeBox
      UPD: Inside SizeBox placed Overlay where can be many children

    • @kylemason01
      @kylemason01 Год назад +8

      @@maxwellprince5742 You just use other things like Overlays. It means altering how you construct your widgets but you deffo dont need canvas panels. I only use one in my whole project for my HUD and thats it

    • @nfrancisj2122
      @nfrancisj2122 Год назад

      @@maxwellprince5742 Think of a canvas panel as a glass window over your game. It's transparent, but it's still calculating. Then you add more canvas over that, making a multi layer transparent shader. It can get pretty expensive and will drop your frame rate. The BEST is to use a material shader to build ur UI, but if that's not possible, then standalone modal widgets are the way to go. It's best to profile and then see if you can budget canvas into your game.

  • @noname_2108
    @noname_2108 7 месяцев назад

    That's amazing. I really love that you show the principles behind your decisions first, because when you understand principles you can begin coding! Thanks! HUD Class + Player Controller is super setup)

  • @kuro2ck
    @kuro2ck Год назад +3

    Best widget video on youtube!

  • @HiddenWorldsLLC
    @HiddenWorldsLLC Год назад +1

    I am glad you clarified to set the widget as collapsed, I was about to comment saying "Dont set the widget as hidden." xD

  • @Flowerpot2905
    @Flowerpot2905 9 месяцев назад

    Awesome - I couldn't find my macro because I was using your player controller that you built in previous videos. My parent class was "character". But I was delighted to figure that out! I've learned more in this tutorial than in any other.

  • @speedwaylabsdev
    @speedwaylabsdev Год назад +3

    24:00 mind blown! :D Thank you for sharing this. Loved the long form content!

  • @davideblonda6159
    @davideblonda6159 Год назад +2

    Thanks for this videos, i have seen many people making unreal tutorial channels and than give up half way,
    so is kinda difficult to find a channel that push until the end of i project, i hope this is not the case, i have learned a ton today, thanks a lot.

  • @danielexceed6882
    @danielexceed6882 Год назад +3

    Wow extremly good code man! I did / used some of the concepts in the video but some are very new to me. Keep it up!

  • @Gup11654
    @Gup11654 Год назад +2

    Love the vid. Learned a lot watching this. Enjoy how you explain the WHY you are doing what you’re doing. Keep it up!

  • @joshua42777
    @joshua42777 6 дней назад

    Thank you so much! This was a HUGE help to a project that I am starting!

  • @xaxao649
    @xaxao649 Год назад +3

    I love this kinds of tutorial! Makes me feel more ready to persue the industry by follow best practices, please make more, (perhaps about organization of assets, or packaging?). Thanks!

  • @shadowryugamer7349
    @shadowryugamer7349 Год назад

    By far this is the best widget tutorial i have seen thanks for this video brother

  • @4tee2
    @4tee2 Год назад

    Better than a beautiful example, it is an excellent example! Man, thank you, I am so much clearer now on this use of widgets.

  • @oops2179
    @oops2179 3 часа назад

    Ah man, It's thanks to you that my UI setup was no longer a mess of event dispatchers. 😂

  • @junschannel4911
    @junschannel4911 Год назад +1

    Great, this is the best multiplayer game tutorial in the world, we need more tutorials of this level, the idea is very clear, looking forward to more videos about managing multiplayer games, subscribed and liked!:)

  • @AngelspeedForLife
    @AngelspeedForLife 5 месяцев назад

    Really insightfull tutorial UI management is a topic I haven't seen much about especially when it comes to multiplayer and its nuances. Keep up the awesome!

  • @sahinerdem5496
    @sahinerdem5496 Месяц назад

    Thank you very much, I am just yet diving into widgets, As you know it's not about writing code, it's about writing performance friendly code. I'll watch this several repeats to understand a few, It's just the beginingg of the way and short for me... Maybe other friends do know everything, They may see it boring but it's not boring for beginners like me who just got there after accmoplishing previous in game making, Thank you very very much, Regards....

  • @boumapanda7624
    @boumapanda7624 Месяц назад +1

    Ur a legend dude nice tutorials

  • @shannenmr
    @shannenmr Год назад +8

    If you are making a game to release and others to play you should probably look at using the "Common UI" plugin provided by EPIC since late UE4 which is also used in Lyra as it allows for theming, handling different / swapping inputs and alot of the "core" / "common" logic most people end up always doing in UI development.

    • @Kekdot
      @Kekdot  Год назад +5

      Unfortunatly it’s highly limited in blueprints. I recommend it more for C++ projects.
      It’s rather complicated and undocumented last time I checked.
      For me it saved more time not to use it.

    • @GoodguyGastly
      @GoodguyGastly Год назад +1

      ​@@Kekdotis it still like this? Ui is so annoying in UE. This video was a great help though. Thanks a ton!

    • @Kekdot
      @Kekdot  Год назад

      Still like it unfortunatly

    • @shannenmr
      @shannenmr Год назад +1

      @@GoodguyGastly In 5.2 they have updated Common UI to work with Enhanced Input and have fleshed out the documentation more but its still lacking.
      Some YT'ers have recently released some videos on the topic + there was a recent'ish EPIC released video too.

    • @dreambadger
      @dreambadger 11 месяцев назад

      CommonUI is still garbage unfornately. Even the CommonUI demo map in Content Examples project is broken. For example if you press your close/back button twice on a game pad when a pop up widget is inside its animation fade, it completely breaks focus.

  • @Unyverses
    @Unyverses Год назад +1

    outstanding Video. Definitely am using this process going forward for our UI

  • @baziztsahy3927
    @baziztsahy3927 9 месяцев назад

    Thank you for a wonderful tutorial. It is amazing how much new stuff I've learned

  • @dmytrogladkyi
    @dmytrogladkyi 11 месяцев назад

    Crisp and clear. Love your videos on this topic!

  • @trollgasm
    @trollgasm 10 месяцев назад +2

    Revisiting this video. The Hood Class joke is actually pretty funny. Cheeky. Glad you have all these videos. They have really made me re-think how I approach setting up my projects.

  • @AidenIlkhani
    @AidenIlkhani Год назад

    Thank you for this. There is a lack of information around this topic.

  • @CosmicComputer
    @CosmicComputer Год назад +2

    Very cool and very helpful thank you so much!

  • @FrozenAssassine
    @FrozenAssassine Год назад +2

    Love the tutorial, thanks for sharing. Where can I find the next video, because currently I am lost at how to update my UI from my Player?

  • @stef2528
    @stef2528 4 месяца назад

    Awesome Tutorial. Much appreciated, thank you!

  • @pavellysenko8278
    @pavellysenko8278 Год назад +1

    Thank you for a cool middle-level tutorial!
    It is very hard to find such staff covering proper organisation (split logic between PlayerController and HUD class, and so on...)

  • @MarekZeman91
    @MarekZeman91 Год назад +1

    Sooo that is where the HUD goes, not in the controller, game instance or game mode like everybody else is showing 🤔
    Watching your vids for a while now and it's always a pleasure when something new shows up.

    • @Kekdot
      @Kekdot  Год назад +4

      That is indeed where your UI is truly supposed to be managed. Just as seen in the UE docs.
      More videos coming this week. One for each day of the week

  • @brunskiy
    @brunskiy 8 месяцев назад

    Thank you for the work you've done.
    Great solution.

  • @GiulianoVenturo
    @GiulianoVenturo Год назад

    So well explain. I love the tutorial!! I hope you continue the Multiplayer series

  • @sym9266
    @sym9266 Год назад

    Fantastic Tutorial, subscribed!

  • @javisartdesign
    @javisartdesign Год назад

    thanks! very well explained. Really like this kind of Best Practices videos

  • @tentmantv2203
    @tentmantv2203 Год назад

    really phenomenal tutorial

  • @jdia.
    @jdia. 10 месяцев назад

    You can use the arrow on the add to view port to open it, and use the border to arrange certain widgets in custom zorder

  • @ezphantom
    @ezphantom Год назад

    Thanks for showing how it could be done better. Cheers

  • @lululu6102
    @lululu6102 Год назад

    wow should have know you earlier, great work you are doing.

  • @Porikor
    @Porikor Год назад

    Thanks for the tutorial, I understood only a half of it yet. But I was able to include a pause game state with an Enhanced Input Action instead of a keyboard event.
    I wished the menu had a close button or an x, just to learn the right alternative way to exit the menu from a widget blueprint with the solution from this tutorial.

  • @amadeuszittel8910
    @amadeuszittel8910 Год назад +1

    I enjoyed the video very much! Could you explain to my why you don't have to check if the HUD class is valid before the initialization has completed?

    • @jonathanmadeira
      @jonathanmadeira Год назад

      I had the same question. I was wondering what would guarantee the HUD class being valid? What if the counter expires and we never get the valid class? Not checking if it is valid again would error out.
      Edit: I may have spoken too soon. At 37:15 he does check if it is valid again, so it shouldn't error out

  • @phantomabid
    @phantomabid 6 месяцев назад +1

    17:40 - Bro's laughing very proudly...
    19:08 - 💀
    22:10 - Somehow, it's giving me motion sickness ;-)
    23:53 - Big 🧠
    Just found out your RUclips channel. You're underrated af. Enjoyed every moment of these videos. Keep it up, dude!
    You deserve millions of subs!

  • @314121282192
    @314121282192 6 месяцев назад

    42:33 It really is a nice tutorial :D

  • @DeeOdzta
    @DeeOdzta Год назад

    Thanks for the talk and chalk.

  • @luiscarlosealo
    @luiscarlosealo 9 месяцев назад

    Great tutorial! though, its amazing how UE make such a simple functionality a long and tedious task! this will take less than 5 minutes to implement in Unity :). Keep the great work man!

  • @prudentibus
    @prudentibus 8 месяцев назад

    Actually very nice tutorial

  • @gouravkd8545
    @gouravkd8545 Год назад

    INCREADIBLE!!🤯

  • @shriwastavshoryas
    @shriwastavshoryas Год назад +10

    Really amazing, I personally miss this level on in-depth tutorial. Love you guys. I hope to see similar in-depth techniques in future. Any one reading this comment First Subscribe!!!

  • @HowzzatUD
    @HowzzatUD Месяц назад

    Nice Video, a few questions though why not use widget switching in your case is it any less performant to have one main hud and then use switching between panels in one menu as compared to loading seperate widgets for example one main panel on the left with say settings with it, account, game play etc then another main panel with its own structure like when they click settings the settings menu appears with another switcher for sound, gameplay, video audio etc panels.
    One of the great things I love using Common UI is the ability to style buttons etc and then just select the style in a drop down in the details panel for a button for example.

  • @adamkareem
    @adamkareem Год назад

    Excellent excellent tutorial :)

  • @saeedzamani1503
    @saeedzamani1503 7 месяцев назад

    I like it! thanks a lot!
    It would be better to do it in two parts.😊

  • @simes007us
    @simes007us 3 месяца назад +1

    Where can i find the next video for mention at the end of this video where the stats are hooked up?

  • @punchline1729
    @punchline1729 Год назад

    Awsome tutorial

  • @tommyfournier3138
    @tommyfournier3138 7 месяцев назад +1

    I am unable to find an answer to this question, How can you control the visibility of only one component inside a widget/canvas. My example has a text that I need to appear when I get close and a progress bar underneath it to only appear as I press E, I first had them separated into two different widgets which worked great until I zoom in game and the distance between the two changes depending on proximity. I added the progress bar into the same widget to have it distanced properly and I am unable to control or even get access to the progress bar object from a blueprint to toggle visibility seperately. Any help is appreciated.

  • @Mr.K.Johnson.
    @Mr.K.Johnson. Год назад

    Maybe you can make a Video for this series how to create Health and Stamina Bars.

  • @sizzonnz
    @sizzonnz Год назад +1

    Hey great video! I have question about managing, how would you setup UI that have alot of depth, for example menu button opens class widget that can open many class widgets, and those widget can open another multiple widgets. Thanks for any suggestion, once again i want to say amazing videos!

  • @blackivy011
    @blackivy011 Год назад

    Have you used the CommonUI classes? I feel like pushing on and off the widget stack is a more built-in way of doing this. You should check it out!

  • @finesseandstyle
    @finesseandstyle Месяц назад

    Can't I just use an event dispatcher on the HUD class like OnHUDInitialized where in the player pawn we simply bind that event instead checking and delaying? Or are the create widget asynchronous so we can't know if it's actually loaded in?

  • @hardwire666too
    @hardwire666too Месяц назад

    I see "hood class" in the time line. I'm like Oooooo. What's that? Never heard of that before then as soon as you say the word I just wish I could slap YT.

  • @wafiro
    @wafiro 28 дней назад

    Hi! Thank you so much for the tutorial! I have a question regarding the creation and toggling of the widgets on the viewport. Why did you choose to use this and not a Widget Switcher (on the Designer View in a Widget Blueprint) and then change the indexes? Are there any pros or cons generally for this?

    • @Kekdot
      @Kekdot  25 дней назад

      You’ll just have way more widgets loaded in at the same time even if they’re not used.

    • @wafiro
      @wafiro 19 дней назад

      @@Kekdot Ok thank you! One more question, though. If we have multiple widgets, wouldn't that create a very long line of creating the widgets and adding them to the array? How would you do it if you had to make it easier to edit and add/remove the widgets more dynamically? I am currently stuck in this problem T-T

  • @Mr.K.Johnson.
    @Mr.K.Johnson. Год назад

    Very good explained Video. But since i do all exactly like this all my progressbars only works on server and nomore on client side😢

  • @fghijk-x3k
    @fghijk-x3k Год назад +1

    Around 25:00 you are using inputs directly in the graph - isn't it more appropriate to use an InputDataTable and mapping, so that there are not direct coupling between the menu classes and the input map? Then the user could ostensibly remap input as well as having abstract interface for gamepads, etc. I'm a noob, trying to learn, but it seems that Enhanced Input allows for this type of paradigm in-editor, and then you could GetEnhancedInput action from the graph, instead of the explicit key.

    • @stevenhoffmann5457
      @stevenhoffmann5457 Год назад +1

      I think He doesnt use 5.1.1
      In 5.0 there isnt the enhanced Input

    • @Kekdot
      @Kekdot  Год назад +1

      True

    • @stepylee
      @stepylee Год назад

      @@Kekdot as i followed your steps when i changed the player controler class to BP_PC_BaseSetup in BP_GM_BaseSetup i lost my movement in game. Using 5.1.1 version. its this the case discussed above ? any idea how i could fix it pls ? i started 2 days ago so noob explanetion would be nice. thank you. Also do you have any tips what to do if i dont want when i toogle a widget like mounts to the inventory widget been close ?

  • @djrj9367
    @djrj9367 Год назад +3

    very good Tutorial , keep up the good coding , you deserve more likes ! Liked 126

  • @sebabuce
    @sebabuce 9 месяцев назад

    Hi, what should i do in case if i have multiple pawns and each one of them can dispaly information using same widget. Should I create one widget per pawn and add to array, or should I create one widget and then regarding which pawn I click populate widget with data of given pawn?

  • @steveCCan
    @steveCCan Год назад

    Love it! any ETA for sequel?

  • @protophase
    @protophase 3 месяца назад

    I followed the tutorial but I instead wanted to switch between the playerUI, PauseScreen and Deathscreen. I made a FlipFlop to alternate between my Pausemenu and PlayerUI (I'm just trying to swap between the active widgets). I can open the menu but why can't I close it?

  • @SpaceWorks_Studio
    @SpaceWorks_Studio Год назад

    Thank you so MUCH!!!

  • @user-ccgames
    @user-ccgames 8 месяцев назад

    Hey Kekdot, I implemented your BP Macro Library in Unreal 5.3 and I'm getting this error: "Delay generated from expanding Get BP Game Mode 01 contains a latent call, which cannot exist outside of the event graph". Did something change in the newest version of Unreal? When I change the Delay node to something else I no longer get the error but I cannot find a suitable replacement for delay. Set Timer by Event or Set Timer by Function don't seem to work very well in macros.

  • @zigglyDev
    @zigglyDev Год назад

    Great Tutorial. I have one doubt. What about options, selection menu where game needs to switch from one Widget to another. How will i control that, Macro you create is not callable in Widget Graph. how will I switch between widgets from widget?

  • @charcoleee
    @charcoleee 22 дня назад

    Hey can you do a tutorial with this but isntead of using keys, my widgets use buttons instead, like in a game main menu. I want to collapse it and make it popup, and allow the system to focus on it when pressed

  • @whitefish-id
    @whitefish-id 8 месяцев назад +1

    At 30:18 you are showing bad thing. HUD already has Owned Player Controller and it will be instantiated after local player controller, so it is okay to subscrube on player controller events from HUD class intead of dirty hacks. @Kekdot, what do you think about that?

  • @baziztsahy3927
    @baziztsahy3927 8 месяцев назад

    Newbie here: Why does the Macro for creating the widget are a Player Contoller Macro and not a HUD macro?

  • @arthurspears8477
    @arthurspears8477 Год назад

    Should I be trying to use the same HUD for the main menu, lobby, and game? Or should I use a different HUD for each, setting it in the gamemode?

    • @Kekdot
      @Kekdot  Год назад +1

      Different child class for each

    • @arthurspears8477
      @arthurspears8477 Год назад +1

      @@Kekdot My main menu wasn't appearing until I set a custom event to create all the widgets, then called the custom event from the main menu level on beginplay. Begin play wasn't hitting in the HUD class.

  • @RMC_
    @RMC_ Год назад +1

    Is player controller the same as a player blueprint like BP_FirstPersonCharacter? because I don't have the "get HUD" option at 27:14

    • @Kekdot
      @Kekdot  Год назад

      No a player controller and a character class are two different actors

    • @RMC_
      @RMC_ Год назад

      @@Kekdot ok thanks. I will have a look at it. Great video, but might be too advanced for me just yet :)

    • @theorycraft7138
      @theorycraft7138 Месяц назад

      If when u create the macro you set it as character in the blueprint options instead of controller, then the macro will work for bp third person character. if you want the macro to work then on the cast to (whatever you named your HUD class) you need to then attach the Get HUD which is attached to a Get Player Controller. From what i understand it needs to reference the get player controller which can do the get hud which then can be ran into the cast to HUD class. Thats how i got it to work myself.

  • @bjmgraphics617
    @bjmgraphics617 6 месяцев назад

    How easy it is to import a custom made UI from Photoshop into UE5?

  • @Mr.K.Johnson.
    @Mr.K.Johnson. Год назад

    Health Variable replicates right from Char BP but in WPB i only get it from Server, so healthbar don´t work for clients. What can i do?

  • @Mr.K.Johnson.
    @Mr.K.Johnson. Год назад

    Very good explained Video. But since i do all exactly like this all my progressbars only works on server and nomore on client side😢
    Please give me an answer to that. I'm on your Discord but nobody's answering me there either!
    I just can not manage it. Either the progress bar only works on the server side or only on the client side. No matter how I turn it. I'm really getting desperate and giving up!
    That really takes the fun out of programming.

  • @aleksandrstukalov
    @aleksandrstukalov Год назад

    Hey, I could't figure out what's the point of trying to cast to our custom HUD class several times in a row. Like, is there such a great difference in time between the creation of Player controller and our HUD class? If there's not, then it's us who didn't set the proper HUD class, and hence nothing will change in runtime, hence it's pointless to check. So why are we doing this? 🙃

  • @gendalfgray7889
    @gendalfgray7889 9 месяцев назад

    What better:
    One HUD class that contains main menu and game widgets
    Two HUD classes, one for main menu, another for game?

  • @aethylwulfeiii6502
    @aethylwulfeiii6502 11 месяцев назад

    Why does nothing ever work in UE5? When I re spawn the character the health is reloaded but the user interface displays zero health?

  • @morelloreanode
    @morelloreanode Год назад

    You are powerful

  • @exenihilo
    @exenihilo Год назад

    How would this sort of thing handle some sort of UI that should be seen on every client, like a ping in the world space, or overhead healthbars? Since the HUD class is always run on the client, would those things become impossible without an additional class?

    • @Kekdot
      @Kekdot  Год назад +2

      The HUD class as the name intends is only intended for the Heads up Display of the player.
      So basically only the 2D UI that an individual player sees.
      In case you wish to use world UI then basically spawn an actor that has a UI component attached to it set to either screen or world space.
      Checkout my player name above character head tutorial.

  • @alexpoc
    @alexpoc Год назад

    is there any way to use the visibility way for a widget that must be created on mouse location for example an item details panel ?

  • @zackakai5173
    @zackakai5173 Год назад +1

    Concerning best practices, you should only use canvas panels when you really need to. In most cases you should favor overlays and use child widgets to arrange things. Like so many other things in Unreal, the easy/nooby way of doing things isn't really going to affect performance in a small tutorial project, but at production scale can start causing problems. Best to get in the habit of setting things up to scale early on (within reason of course, but in this case it's not a lot of extra work).

  • @h3rnaldo
    @h3rnaldo Год назад

    Hi there Kekdot. I'm desperate. For some reason my widgets are not being activated when packaging the game in shipping configurarion. There's just little information about this Idk who else could help me.

  • @y0t4
    @y0t4 Год назад

    can we get an updated version for 5.2. it seems the way you set up the toggle widgets is different in 5.2

    • @ilollipop1009
      @ilollipop1009 Год назад +1

      i did all step by step in 5.2 and i had no problems

    • @y0t4
      @y0t4 Год назад

      @@ilollipop1009 in that case I'll have to give it another go, thanks!

    • @Mr.K.Johnson.
      @Mr.K.Johnson. Год назад

      @ilollipop1009 how do you get a working healthbar with this system? No matter how I do it, I only get the progress bar to run on the server side. But the hud for the progress bar is also shown to me in the clients. They just don't work.

  • @rockygingerstudio
    @rockygingerstudio Год назад

    Hi I have a question, the system is really great, but my concern is that I want to create a main menu but it does not work. Because for the main menu I have to create another level than the base level game, and I think it messes with everything. So what would you do ? Sorry if I did not explain well I am very confused as well :)

    • @Kekdot
      @Kekdot  Год назад +1

      The main menu is an exception that has its own game mode and simple HUD logic.
      This tutorial is intended for handling in-game UI

    • @rockygingerstudio
      @rockygingerstudio Год назад

      @@Kekdot Thank you very much

  • @alejandrodoradom
    @alejandrodoradom 8 месяцев назад +1

    Using a delay node to cast a variable seems like a really bad practice. What happens if your defined timeout works now but one year into development is not enough time and the cast begin to fail? Do you just manually increase it over time? In this particular case, wouldn't it be better to wait until the player has initialized completely and then cache all these variables? You have the OnPostLogin event in the GameMode that is triggered only after the player has received a player controller and that event returns the player controller, it could then call a "PostInit" custome function in the player controller, for example. There must be other ways to do this caching using events and delegates.
    I really like your tutorials, some of them have some great points well thought and presented but other tutorials are inconsistent and sometimes even go against previous ones were a particular subject was better explained and closer to what the right solution or approach must be.
    Keep up the good work and thanks for sharing your knowledge!

    • @polysiens
      @polysiens 7 месяцев назад

      Yea, sometimes getting an error is a good thing, especially for critical classes like player controller. Making a fail safe with a delay that can timeout sounds like something you never want to do. If I have a class that if it fails, bunch of the things in my project would not work, do I ever want to have timeout and just let it be?

  • @mythicaldata6297
    @mythicaldata6297 9 месяцев назад

    Just because the menu is not in the viewport, and not ticking, this doesn't mean it isn't using resources.
    It it's loaded it's load
    Plenty of widgets don't even use tick

  • @RebusMoebius
    @RebusMoebius Год назад

    (*Supporting your channel with any messages))))

  • @zeon3d755
    @zeon3d755 6 месяцев назад

    @23:19 where can I get that texture

  • @bobbyr
    @bobbyr Год назад

    Good tutorial, showing good and bad examples.