UE5 Understanding UI Bindings - Be a better game dev

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ต.ค. 2024

ความคิดเห็น • 183

  • @Eludium_SNKN
    @Eludium_SNKN 8 หลายเดือนก่อน +24

    I wish this channel would pop up at the top of the search results list when new developers search for tutorials. The amount of uninformed, or straight up wrong information on some of the channels is seriously worrisome. Thank you for taking the time to prioritize tutorial efficiency/helpfulness before views and reach. It is much appreciated

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน

      Thank you. I very much appreciate those kind words. :)

  • @JanitorDave
    @JanitorDave 4 หลายเดือนก่อน +16

    I almost fell out of my chair laughing when all the 'Hello's started popping up.
    I'm also someone who tried Gorka's RPG tutorial a few months back hoping to learn to build an early "learning prototype" for a game I'm currently co-developing, and by the time I got to the end of it, the performance was absolutely lousy and you couldn't build on top of it at all; I was almost afraid to even touch anything because adding anything just made the whole house of cards collapse. Attempting to add the "open world" towards the (at the time) end of the series made things just start breaking spectacularly. Instead of attempting to bug fix it myself, I just cut my time losses, wrote off the entire thing and decided to look elsewhere.
    It's an absolute shame how difficult it is to find learning resources for Unreal Engine beginners that preach good practices from the start. Glad I finally found a channel that does!

    • @LeafBranchGames
      @LeafBranchGames  4 หลายเดือนก่อน +1

      A combination of click bait, short videos (because an easy solution is more appealing to a beginner) rather than an in depth video, gets more views and recommendations, so those bad videos are what the search results bring back.

  • @RictorScale
    @RictorScale 8 หลายเดือนก่อน +13

    Honestly this is a good idea, buildingboff the tutorials of others in a best practices way is interesting

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน +2

      Thanks for the feedback. :)

  • @sarahlynn7807
    @sarahlynn7807 9 หลายเดือนก่อน +9

    Ah this was specifically something I was learning about recently. Love to see your video, and love to see the community finally calling out the bad practices rampant in tutorials. I'd love a good straight forward video on best practices for UMG panels. I can't believe how often I see the canvas panel used to wrap everything individually.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      Thank you, appreciate the feedback! Hopefully I can visit those topics in the future!

    • @Yggdrasil777
      @Yggdrasil777 9 หลายเดือนก่อน +1

      A good UI resource I use is Kekdot here on TH-cam.

  • @UnrealSolver
    @UnrealSolver 9 หลายเดือนก่อน +3

    Thank you for making us all A Better Game Dev! I love this series of videos ♥
    Love the way you explain everything that happens behind the scenes making it all clear and better. Let's keep on learning! 💪

  • @MrMustachio43
    @MrMustachio43 9 หลายเดือนก่อน +13

    I’ve never made a game before, so I thought I’d bite the bullet and give it a go. One thing I make sure to do is ALWAYS watch and read many different ways to do one thing. Sometimes it’s better to do the harder things even if the outcome is something simple. It gives a better end result, and this video is proves why it’s important to not be lazy

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +3

      That is ususally the thing in software development. You can build frameworks that take a long time before you start seeing any result of your work at all, but once it is in place, you will be able to develop much faster. Or you can do like these channels do, cut corners every step of the way and have a nightmare of a project with bugs and bad practices that is impossible to finish or even continue development on later on.

    • @RastoDM
      @RastoDM 8 หลายเดือนก่อน

      I would love to see your approach on inventories.@@LeafBranchGames

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน

      @@RastoDM I have an old inventory tutorial.

    • @RastoDM
      @RastoDM 8 หลายเดือนก่อน

      I saw that just after I posted. The only issue with it that i have, and that i find most other examples use is that you create a child of an item blueprint for each item, rather then having a data table row update the information.. thoughts? Which would get difficult to manage in games that are larger so i dont think its as scalable@@LeafBranchGames

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน

      @@RastoDM Your approach for inventory needs to be reflected by your need. Some games have many items, some have few but with affixes. It all depends.

  • @fordston2
    @fordston2 9 หลายเดือนก่อน +7

    I didn't need years of experience to see that there was a big problem with what he was "teaching". I think this also represents why so many games on the market are optimized like shit. Love your channel.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +1

      Thank you! Appreciate the kind words!

  • @dobrx6199
    @dobrx6199 9 หลายเดือนก่อน +5

    Thanks for this series, super helpful!

  • @losi82.02
    @losi82.02 9 หลายเดือนก่อน +3

    Thankyou for this, your tutorials are fantastic. i started my UE5 learning with gorkas RPG series and learnt how it evolves into a maddening spiral of cause and effect with no way to solve any bugs because of how he binds things and casts to things. Granted in his RPG series he makes the HP bar/EXT, correctly however every action in the game is a hard cast to the player, every enemy even its HP bar is dependent of the third person character as well as all actions and movement nothing is independent

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +3

      Well yes, everything he does is copied from someone else. He doesn't understand how or why things work like they do. So he is geting big of others bad or good work. It is quite bad that that is the kind of knowledge new learners get exposed to, wasting their time learning bad ways and having to do it all over again.

    • @kellowattentertainment
      @kellowattentertainment 9 หลายเดือนก่อน

      I started learning Unreal Engine the same way, with Gorka Games RPG series tutorials. I stopped following his RPG tutorial series shortly after the climbing episodes. He leaves everything too vague, doesn't focus on the smaller issues that do add up, his way isn't modular or scalable, or his combo system is trash... he never completes any of the mechanics he starts... He started the series pretty well and then it became so basic...

  • @emirisik
    @emirisik 9 หลายเดือนก่อน +5

    Top tier content as always.

  • @MonderMurshed
    @MonderMurshed 8 หลายเดือนก่อน +2

    Thank you! i was shocked when i knew that binding is tick everytime to check, new sub btw

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน

      Glad to hear it was enlightening! Thank you for the support!

  • @starscream2092
    @starscream2092 9 หลายเดือนก่อน +4

    This video is 100%. I have been saying this for years, even mentioning this in videos with bad implementation. Sadly, videos like yours are just a few, and videos with bad binding are everywhere. There are things that are great with binds, for example, ingame hud FPS counter, I can't imagine that without binding.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      True on all counts. There are a few, exceedingly rare situations where it makes sense. But unfortunately not how it is being taught or used in tutorials for the vast majority.

    • @Yggdrasil777
      @Yggdrasil777 9 หลายเดือนก่อน

      @@LeafBranchGames I've been on a crusade in the comments sections of their videos about this very subject. A few have listened, so it's important to spread the knowledge and comment constructively to the teachers.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +3

      @@Yggdrasil777 Well, yes and no. The root problem of them teaching bad practices is that they don't understand what or why they are doing what they are doing, because the copied it from someone else. They are not out to teach, they are after views. You may tell them they should not be doing it in this way, then they will copy someone else that oes it better, but they still don't know why. They are still just copying someone else.

  • @mahkhardy8588
    @mahkhardy8588 8 หลายเดือนก่อน +1

    Couple of bindings here and there no big deal, but if scaled out to everything it becomes bad practice. Games should be event driven, not many use cases for bindings these days UE should depreciate it. Loving this series of videos keep up the good work.

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน

      Thank you, appreciate it!

  • @jochenfong3056
    @jochenfong3056 3 หลายเดือนก่อน +1

    Great video. If someone is a beginner who wants to optimize the logic, such as through event dispatchers or event center management, similar to the relay mode in the code, this can solve the problem of referencing UI in character classes

  • @KevinRyborz
    @KevinRyborz 9 หลายเดือนก่อน +1

    This series is gold

  • @blenderahoi-jb5ol
    @blenderahoi-jb5ol 13 วันที่ผ่านมา +1

    Yes, thank you very much for the clarification.
    For me, as a beginner, everyone actually is more smart than I do. When I watch a TH-cam video on the topic that is rated well and watched a lot, I always assume that I'm learning how to do it right. Now, after this video, I naturally ask myself: Why didn't you find this this kind of binding suspicious yourself? Without the video here, maybe never.
    So yeah, thank´s a lot!

    • @LeafBranchGames
      @LeafBranchGames  13 วันที่ผ่านมา +1

      What you are mentioning here is a core essence that many go through. When we start out and don't have any knowledge to leverage, what we find is what we think is the truth. So if you first encounter a bad tutorial, you will learn all the bad practices and it will maybe take a very long time if ever to find out. At that point you may have spent much time learning things that you will have no use of.
      It is very problematic.

  • @RazvanTinca-q9k
    @RazvanTinca-q9k 8 หลายเดือนก่อน +2

    thx for teaching noobs like me not waste computation juice,much love man!

  • @baziztsahy3927
    @baziztsahy3927 8 หลายเดือนก่อน +1

    This is the video that mademe subscribe+Patreon. I have no idea how I didn't discover you earlier

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน +1

      Thank you for your support!
      TH-cam is hiding my content like precious gems, you need to work to find them!

  • @creatorediillusioni
    @creatorediillusioni 5 หลายเดือนก่อน +1

    This video amazes me and terrifies me at same time. I just star learning and seeing this it really worries me. Thank you for clear those points out…

  • @andrzejmnich1285
    @andrzejmnich1285 9 หลายเดือนก่อน +15

    This is a known issue. Only bad developers (like Gorka) would do this. That's why it annoys me when he shares his videos on UE5 fanpages and no one reviews his posts before accepting.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +2

      More scrutiny is for sure needed.

    • @krzysztofbulicz416
      @krzysztofbulicz416 8 หลายเดือนก่อน +2

      Gorka is using the bad code, but at least, he is the only guy on this ducking youtube who can spalin anything.
      You can't make games using his code examples, but you can make quick prototypes and learn some features. What is useful for game designers

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน +7

      ​@@krzysztofbulicz416 Is it useful for game designers to learn something with the wrong information so that when they try to make use of what the "learned" they don't understand why things are not working as intended? Doesn't sound like very useful for a game designer.

    • @krzysztofbulicz416
      @krzysztofbulicz416 8 หลายเดือนก่อน +1

      @@LeafBranchGames Designers don't write code. We simply have to find the coolest and most suitable solutions, then write them in a design document for the coders and the rest of the team to execute, conducting the implementation process.
      For us, it doesn't matter if the prototype code is optimal. Sometimes, instead of using a "progress bar," we are using the piece of paper on a stick. We don't design code logic, that's the responsibility of the lead programmer.
      Quick prototypes are meant to be just as quick as possible. Spending time on optimizing code is overkill. What matters is the MVP.
      Thanks to this dirty prototypes, the coders can write clean code.
      Until the designer came back with some iterations xd

    • @krzysztofbulicz416
      @krzysztofbulicz416 8 หลายเดือนก่อน

      By the way, don't get me wrong, I'm glad to found your channel. It's a great next step after channels like Gorka's, and please continue with your content.

  • @TorQueMoD
    @TorQueMoD 9 หลายเดือนก่อน +2

    Oh damn! I did NOT know that UI bindings run on tick, but of course they do, how else would they work. lol. Thank you for this! I'm so mad that Epic's own tutorials are why everyone thinks we need to use UI bindings. lol

  • @Wauzy
    @Wauzy 6 หลายเดือนก่อน +1

    I am glad to have found this channel. In the 5 videos I've watched so far, you do a great job. I understand what you are explaining, even if TH-cam has to translate it for me. Thank you for your work and you have my subscription. Only 799 to 20,000 subscribers. Good luck for the future.
    Ich bin froh diesen Kanal gefunden zu haben. In den 5 Videos die ich mir bisher angeschaut habe, machst Du Großartige Arbeit. Ich verstehe was du Erklärst, auch wenn TH-cam es für mich übersetzen muss. Danke für Deine Arbeit und Abo hast Du von mir. Nur noch 799 bis zu 20.000 Abonnenten. Viel Erfolg weiterhin.

    • @LeafBranchGames
      @LeafBranchGames  6 หลายเดือนก่อน

      Thank you for your kind words and support. I have actually considered createing dubbed versions of some of my videos to reach audiences like you. The reason I have not done it, was because I felt it would be weird if I referred to, for example, a button with a certain text, and the dubbing would not be saying the same word as it is named in the german unreal engine. Do you think that would be an issue or would it be managable?

    • @Wauzy
      @Wauzy 6 หลายเดือนก่อน

      @@LeafBranchGames You hear it, you see it and yet sometimes you read nonsense. That's why I set UE to English.
      It's easier, so there's no confusion when naming the node. I can also see visually what the node looks like. Because sometimes they only differ a little, so the different names just get in the way. TH-cam is quite good from English to German, especially if the speaker speaks well. Compliments to you.
      But sometimes the names are translated and sometimes not, so you can't rely on YT. Visual control is always better.
      I can't judge what it's like when there's a transcript, because I'm using
      English (automatically generated) => German
      under Use subtitles.
      I cannot judge how it is in other languages.
      It would be manageable but unnecessary, as you would then be just one of many. I recommend putting the UE5 in English and learning it that way.
      You're honored that you thought about it, but I don't think it's worth the extra work. In the beginning I would have been happy about it, but since there are many more English tutorials, it makes more sense to switch the UE to English. My German UE channels also have their UE in English.
      I hope you understood everything and I was able to share my experience with you and help you with your decision.
      Man hört, sieht es und doch liest man manchmal Stuss. Darum hatte ich UE auf Englisch gestellt.
      Das ist einfacher, damit entsteht keine Verwirrung bei der Knoten Benennung. Ich kann so auch optisch sehen wie der Knoten aussieht. Denn ab und an unterscheiden sie sich nur ein wenig, da störten die unterschiedlichen Benennungen nur. TH-cam ist recht gut von Englisch ins Deutsche, besonders wenn der Sprecher gut spricht. Kompliment an Dich.
      Aber Benennungen werden mal übersetzt und dann wieder mal nicht, da kann man sich nicht auf YT verlassen. Da ist die Optische Kontrolle immer besser.
      Wie es ist, wenn ein Transkript vorliegt, kann ich nicht beurteilen, da ich
      Englisch (Automatisch erzeugt) => Deutsch
      bei Untertitel verwenden eingestellt habe.
      Wie es in anderen Sprachen ist, kann ich nicht beurteilen.
      Es wäre beherrschbar aber unnötig, da du dann nur einer unter sehr vielen wärst. Ich empfehle die UE5 in Englisch zu stellen und sie auch so zu erlernen.
      Es ehrt dich das du darüber nachgedacht hast, aber ich finde es die Mehrarbeit nicht wert. Am Anfang wäre ich darüber Froh gewesen, aber da es viel mehr Englische Tutorials gibt ist ein Umstellen der UE auf Englisch sinnvoller. Dazu haben meine Deutschen UE Kanäle ihre UE auch auf Englisch.

    • @LeafBranchGames
      @LeafBranchGames  6 หลายเดือนก่อน +1

      @@WauzyThank you for the thoughtful and in depth reply. It is very much appreciated. :)

  • @QuakeProBro
    @QuakeProBro 17 วันที่ผ่านมา +2

    An other alternative for visual indicators like health bars, would be to do them 100% in materials. Using a material parameter collection, this would be even simpler, since you don’t have to reference the specific material you are using in your UI.

    • @LeafBranchGames
      @LeafBranchGames  15 วันที่ผ่านมา +1

      This is for sure true. But I am not great with material, I get by. But it is not where my expertise lies. It is for sure an alternative.

    • @QuakeProBro
      @QuakeProBro 15 วันที่ผ่านมา

      @@LeafBranchGames Just as a small addition for those who are curious to try^^ Ben Cloward has an ongoing series about UI and materials atm!
      Love the "be a better game dev" series btw, there are so many tutorials with bad practices unfortunately... I wish something like this existed when I started with UE4 in 2014.

    • @LeafBranchGames
      @LeafBranchGames  14 วันที่ผ่านมา +1

      @@QuakeProBro Thanks for sharing! Glad to hear you like it!

  • @AdrianTabacaru
    @AdrianTabacaru 9 หลายเดือนก่อน +1

    Thank you!

  • @tresdimatop8603
    @tresdimatop8603 8 หลายเดือนก่อน +2

    hey, that was cool!
    thanks!

  • @Foxcoder
    @Foxcoder 9 หลายเดือนก่อน +1

    yep , assign binding is much efficient, also abstract the health owner will also make widget reusable, good tutorial

  • @juggernautx1779
    @juggernautx1779 9 หลายเดือนก่อน +7

    wish I found this long ago. thought Bindings were just listeners.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +2

      Sorry to hear that. This is unfortunately the effect of large channels promoting bad practice. They have a great reach and drowns out other channels teaching better ways. :/

    • @juggernautx1779
      @juggernautx1779 9 หลายเดือนก่อน

      @@LeafBranchGames unfortunately yeah, thank God I came across your channel, good thing that I don't watch much tutorials or rely on them, unless I'm exploring something new and for the UI was from when I was a beginner, so I kept doing these bad practices until this video, thank you!
      My jaw dropped when I saw that print screen printing all the time

  • @mikelkram
    @mikelkram 9 หลายเดือนก่อน +1

    thanks for this explanation, it is very helpful

  • @PerumNagajaya
    @PerumNagajaya 2 หลายเดือนก่อน +1

    I hope u can make a series how to make games until finished with best practices, this thing is very rare in yt 😢

  • @driftmirror
    @driftmirror 9 หลายเดือนก่อน +9

    As I get more experienced in gamedev, I also look back on some of the content creators I've followed earlier in my journey and I can see the bad practices and bad optimization. But my opinion on them has changed a bit lately. I think its important to not discount those types of channels completely because they're responsible for bringing a lot of new and aspiring devs into the community. They may have bad practices, but sometimes for someone brand new, getting something up and running quickly can be such a huge spark of inspiration. I think they have their place very early in someone's gamedev journey. And their audience is different than the more intermediate devs that hopefully grow out of that phase. Just my thoughts on it since I saw the thumbnail!

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +7

      Unfortunately, it is a zero sum game. If a person is wanting to learn Unreal engine, they will likely pick 1 out of 10 youtube results.
      They will likely pick the videos with the many views or the highest shown result, they don't know that they will learn bad practices. They are very unlikely to watch all 10 results and find out which is good or bad. They are also unlikely to break free from those bad channels, since they now get suggest more from those channels.
      If they had instead been suggested a different video, from a channel that is more competent to begin with, they would have saved themselves time learning better from the start. This applies to everyone watching these videos. Every single view is one learner mislead.

    • @Master_Poizan
      @Master_Poizan 9 หลายเดือนก่อน

      @@LeafBranchGamesagreed!

    • @TorQueMoD
      @TorQueMoD 9 หลายเดือนก่อน +1

      Not to mention that we learned not just from experimentation, but from Epic's OFFICIAL videos where their own developers told us to use UI Bindings. lol.

    • @As_Ss
      @As_Ss 9 หลายเดือนก่อน +1

      Thats the issue, they are content creators, not real ue devs they pretend to be, they never evolve, thats why they constantly do yt tutorials and not games, cuz they dont know how to do a game properly, thats why they will promote again and again, bad practices, cuz they dont create real games, so they dont know the issues of a real game cuz they never did one.
      And ppl like that are teaching others... LOL
      Their simple tutorials will work without issues even with bad practices, a real game will not. The are basically misleading ppl that they know things.
      The only exception are those that at least mention its a bad practice and a quick setup and u shouldn't do it in a real game.

    • @driftmirror
      @driftmirror 9 หลายเดือนก่อน

      @@LeafBranchGames I agree completely on the quality part, I'm not defending that in the slightest. I don't agree that it's a zero sum game though. I used to watch those channels a lot a couple of years ago and I found your channel and others with higher quality from YT recommendations. I know I'm not the only one and I disagree that beginners will stick with one channel only if they really want to pursue game dev in Unreal. Many that are excited by what they see look for more content and other creators.
      My argument is that while the quality is not good, bringing more people into this hobby and potentially this career is always a good thing. This community only thrives and survives if it consistently grows and we get more people interested in it. To that effect, those lower quality channels are good for introducing more people to the hobby. Sure, many will probably leave once they're game doesn't package or they can't figure out why their performance is awful after following a bad tutorial. But overall I still think its a net positive to get more developers interested in game dev.

  • @jarnine-d9n
    @jarnine-d9n หลายเดือนก่อน

    Thanks for this, very helpful. Maybe the only time you might get away with using it is with a timer with milliseconds.

  • @johnp3103
    @johnp3103 9 หลายเดือนก่อน +1

    This is great content - thank you, you've earned a subscriber! I first realised "bind" was problematic a few years ago, and switched to Event Dispatchers to communicate with my HUD. For my current project I've taken a different approach and have zero (or very little) code in my Widgets at all. At begin play, the character gets a reference to the hud. If something needs to change (health, etc) the character reaches into the HUD and changes that value when needed. The Widget is just a canvas (pun intended) for other blueprints to update as needed. Seems pretty clean so far. Thoughts?

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +2

      Thank you for the support!
      That works. My concern is that as a person who has not worked on your project, or for yourself if you are gone for a long time and come back, that you will instinctively look in the widget for logic, so it may not be the "logical" place for the code. For the widget to be changed outside of that specific blueprint can feel odd.
      If you at least have a function in the widget that is "update widget health" or whatever, and you always call that from other blueprints, you at least have a common funnel for your code, and you can backtrack where that function gets called in case you need to troubleshoot or expand on your logic.

  • @HongPong
    @HongPong 9 หลายเดือนก่อน +1

    perfect timing for a good review on this since its always weird to pick up in /any/ framework .. UE itself does not publicize these basic practices as much as they should probably

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +1

      This is true. Epic maybe should be a bit more transperent on this front, since they are the prime authority on the subject since it is their engine.

  • @becmuda174
    @becmuda174 7 หลายเดือนก่อน +1

    thank you so much for this! But I also wonder what would be the best case to use UI bindings? Or we should never use them at all?

    • @LeafBranchGames
      @LeafBranchGames  7 หลายเดือนก่อน +1

      I would not use them even for prototyping personally.

  • @Zeryphim
    @Zeryphim หลายเดือนก่อน +1

    Gorka was the first channel I tried learning from and it took maybe 4 videos before I really realized something was off. Near constant errors that weren't properly tested for, everything felt like a mess, and pretty much nothing was built with forethought, he never seemed to fully understand what he was trying to do at given points.
    I saw he made a course on how to build a stealth game for GameDevTV, while searching Udemy at the time for some supplemental learning, and that has since made me be extra cautious about their unreal content.
    I have never even had Matt Aspland how up in my feed but that seems to be a good thing as well.

    • @LeafBranchGames
      @LeafBranchGames  หลายเดือนก่อน

      Yes. It is unfortunately a common journey people have to go through since his videos are promoted by the TH-cam algortihm. It is rough to try to learn something new and not being able to tell what is good or bad, so you find out far down the road.

  • @thedog2320
    @thedog2320 9 หลายเดือนก่อน +1

    So question with this, I have a VR project that features a tablet that the player can use as a in-world interactable menu. The tablet is stored on the players back, and the widget on the tablet is only active when the tablet is picked up and turns off when dropped. The widget displays the current real world time, which is pulled from a bind to get current time (now>gethour etc). What do you think is the best approach to do this? Should i fire off a timeline each for hour, minute, and seconds instead of a bind? Is that more efficient, or is this a case where the bind is more beneficial?
    I think as an alternative, i could fire it off every minute updating hour and minute and omit the seconds as they are not commonly displayed on tablets/phones.
    Thoughts?

    • @thedog2320
      @thedog2320 9 หลายเดือนก่อน

      well, I just tested it and answered my own question. this is absolutely a better solution than using the bind. I need to sync the timer up better with current time but overall its working. I removed the seconds as it was unnecessary information and now fire the timer by event every 60 seconds to update the hour and minutes. This obviously is a significantly better solution than the bind firing on tick. Thanks for the info and teaching me something new.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      Glad to hear you sorted it out. What is best will depend very much on the design and what your needs are. If you need something updated frequently, then you want to pick a solution that handles that. If you don/t need such a high frequency of updating, then you can find something more performant and rare.

  • @shubhamgangwar4165
    @shubhamgangwar4165 8 หลายเดือนก่อน

    Huge fan of this channel, I have a request: Can you please create some videos on vehicle part, very less concent is available

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน

      You mean like this? th-cam.com/video/tR3sSMD-D0E/w-d-xo.html
      th-cam.com/video/YSA8PpeM8_E/w-d-xo.html

  • @john-thejohn-johnson4403
    @john-thejohn-johnson4403 3 หลายเดือนก่อน +1

    How expensive on memory is to have widget references as variables? I have about 5 references of UI stuff on my character and i cant help but feel bad about it.

    • @SplittingOfPrides
      @SplittingOfPrides 2 หลายเดือนก่อน

      I think this is Ok since UI references are not a million polygon model. And the fact that the UI on the screen is needed almost all the time.

  • @IGiveTheBestTakes
    @IGiveTheBestTakes 7 หลายเดือนก่อน +1

    Whats funny is I always thought this but every tutorial I watched used binding so I assumed it was standard practice and doing it the way I did it in Unity was over complicating it.

    • @LeafBranchGames
      @LeafBranchGames  7 หลายเดือนก่อน

      I can see how you would come to that conclusion. But no, it is not standard. It is a very bad practice and it is shown by the tutorial channels that are the least competent when it comes to Unreal engine. They generally just copy some other channel and don't know what or why they are doing it. It is fairly common like you said.

  • @unknownrh155
    @unknownrh155 9 หลายเดือนก่อน +1

    Again, I have to point out. The binding function has it's own purposes and that is why Epic Games keep it. Professionals use it all the time but with conditions. Other YT videos I have to agree they use it in the wrong way, but it's a way for you to understand how it works. They are meant to be easy to understand and straight to the point.
    It's not all bad like you said, otherwise why would Epic Games keep this binding function in the first place. Even their official documentation impelementation uses and encourage to use this method. In Fortnite they use it.
    I'm not to condemn your claim but to be open.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      Everything has a purpose. But if the purpose for example is only for prototyping, and not to be used for continued development, then it should not really be taught as such. Like I said in the video, Epic is working on making a system that avoids the negatives of bindings.

  • @finesseandstyle
    @finesseandstyle 7 หลายเดือนก่อน

    So what if you have health regeneration or DoT damage? You'd have to use it on tick or you could maybe set on a set inverval but it won't be smooth when it's updating.
    Couldn't you use Invalidation Box with binding instead so it won't update when the health is staying still?

    • @LeafBranchGames
      @LeafBranchGames  7 หลายเดือนก่อน

      Have you actually tried it and observed it isn't smooth?

  • @MegaAlexkiller
    @MegaAlexkiller 8 หลายเดือนก่อน +2

    lmao, someone got the balls to tell the truth here, thanks for that.

  • @protophase
    @protophase 2 หลายเดือนก่อน

    I have a question. I have previously made a stamina bar using a status component and I follow this tutorial to create a health bar which I then changed to be used by my status component. I have made a widget called Healthbar and a widget called Staminabar which are being used in a playerUI widget. The Healthbar updates and works as expected but for some reason I can't set the percent value on my Staminabar despite it's the exact same method. I get the "Blueprint runtime error "Accessed None trying to read property BP Player Character" Node: Set Percent Graph. I cast to my player BP at construct and sets the value of my status component

    • @LeafBranchGames
      @LeafBranchGames  2 หลายเดือนก่อน

      This explains your issue th-cam.com/video/9PsoeBM82mk/w-d-xo.html

    • @protophase
      @protophase 2 หลายเดือนก่อน

      @@LeafBranchGames Tack! Jag ska spana in den

  • @HumpaLumpaBiriBam
    @HumpaLumpaBiriBam 7 หลายเดือนก่อน

    excellent. but how did you store reference to your HUD? Mine is initated through hud class (game mode setting). how did you get it player controller?

    • @LeafBranchGames
      @LeafBranchGames  7 หลายเดือนก่อน

      You can just create a widget called hud and add it to the viewport. The old HUD system is deprecated as far as I know.

    • @HumpaLumpaBiriBam
      @HumpaLumpaBiriBam 7 หลายเดือนก่อน

      @@LeafBranchGamesplease advise: I want to load umg widget on screen, i will do it once at the start of the map. Logically I can do it from 3 places, hud, level, playerController class. Its inrelevant if hud class will be depreciated, its just another "level in hierarchy". Problem I got... IF I want to access widget from playerController while it was initiated by level class. How do I access it? and vice versa. If I have some logic in level class and I want to access my widget created from PlayerController class. (class mean blueprint). I did it using GetAllWidgetsOfClass and store obj ref locally, but i dont think this is nice/right way.

    • @HumpaLumpaBiriBam
      @HumpaLumpaBiriBam 7 หลายเดือนก่อน

      @@LeafBranchGamesplease advise #2: also doing so.. I cant be certain that my widget-obj-ref variable will be initiated correctly.
      Since it's all happen in BeginPlay.. I cant be guaranteed the order of initiation. So I might try to get ref to non-existing object. :(
      It did happen to me and I had to implement "delay 0.5 sec" before calling to find widget by class... again... looks messy.

    • @LeafBranchGames
      @LeafBranchGames  7 หลายเดือนก่อน

      @@HumpaLumpaBiriBam Hopefully this will shed some light for you: th-cam.com/video/bdsROh8mQZk/w-d-xo.html

    • @LeafBranchGames
      @LeafBranchGames  7 หลายเดือนก่อน

      @@HumpaLumpaBiriBamInstead of begin play you can make use of onpossess event. Should be a better event for most UI cases.

  • @ACouchpirate
    @ACouchpirate 8 หลายเดือนก่อน

    I am not entirely sure whether the data would reach the widget correctly 100% of the time with the method I am about to mention, but couldn't you just bind to the character's On Any Damage event and have it update the widget through that? I could imagine it might need to wait for a frame, but that way you dont need to store all of your widgets as references in the HUD

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน

      You could bind an event dispatcher if you want sure, I show this a lot in my RPG series. But you may not want to have the widget process information isntead of just displaying the health reality. What if you for example have armor and the 10 damage in the any damage event needs to be mitigated down to 7. Then the widget will process 10 damage, or the even the mitigations, which should really not be in the widget.

  • @lambda-snail
    @lambda-snail 9 หลายเดือนก่อน +1

    Hmmm, I think you only demonstrate function bindings, but what about property bindings? Do they also suffer from the same problem?

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +1

      I can not say for certain. So I would err on the side of caution and assume they are bad. I will make a note of this and try to get the the truth on the matter.

    • @lambda-snail
      @lambda-snail 9 หลายเดือนก่อน

      @@LeafBranchGames I agree! I guess it's a bit difficult to test since we can't log things when we set or read them (as far as I know) so it seems reasonable to assume they're bad :)

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +1

      @@lambda-snail You may be able to discern it using Unreal insights. Feels a bit like killing a fly with a shotgun though.

  • @HenrikMakesGames
    @HenrikMakesGames 4 หลายเดือนก่อน

    Can bindings still work for an options menu that does not run in real time?

    • @LeafBranchGames
      @LeafBranchGames  4 หลายเดือนก่อน

      What kind of menu do you imagine exists outside of real time?

    • @HenrikMakesGames
      @HenrikMakesGames 3 หลายเดือนก่อน

      @LeafBranchGames Sorry I wasn't clear, I mean that I use bindings in my settings menu to display the current graphics setting, vsync, etc. I might be wrong but I think it doesn't matter because the settings menu isn't constantly loading during gameplay

    • @LeafBranchGames
      @LeafBranchGames  3 หลายเดือนก่อน

      ​@@HenrikMakesGames That is possibly the worst situation to have them. You will maybe change one settings every few seconds at most, but every single setting will be checking the value 100 times per second. So 1 update was needed but you had thousands of thousands of updates happening. You may or may not notice the performance hit, because your screen might not have much to display, but why would you even consider doing that?

    • @HenrikMakesGames
      @HenrikMakesGames 3 หลายเดือนก่อน

      @@LeafBranchGames I followed a shitty tutorial before I found yours 😢

  • @PopcornChicken99
    @PopcornChicken99 9 หลายเดือนก่อน +1

    Do you recommend any other ue5 channels that show the better solutions like you do? I don't want to watch any channels that will give me bad habits and make my projects run slow.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +1

      I am unaware of any channels that point out things in this manner. But if you want to know of some great channels, I have a playlist called great content creators, you can find it here: th-cam.com/play/PLNBX4kIrA68nNmiUEl79NYZJIeL62NuH4.html

    • @Yggdrasil777
      @Yggdrasil777 9 หลายเดือนก่อน

      Kekdot does wonderful UI work.

  • @dorondavid4698
    @dorondavid4698 9 หลายเดือนก่อน +1

    I was surprised to see that the binding is called every tick.
    From my experience, a new value should only be assigned if it differs from the old value.
    So why would unreal engine implement it this way?
    The Devs at epic are extremely smart, so I doubt it's an oversight.
    Does it maybe have something to do with needing to update the ui as frequently as possible so the gameplay appears smoother?
    I'd really like to know why it was implemented this way!

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      It is unlikely to be used for anything other than prototyping except for maybe some value that really needs to be updated on a per tick basis.

    • @dorondavid4698
      @dorondavid4698 9 หลายเดือนก่อน

      @@LeafBranchGames I was reading into it and what it should be used for and it's basically as you had mentioned; light weight values/computations only.
      It was made so Devs wouldn't have to manually update hundreds of ui elements by hand, which makes sense.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +1

      @@dorondavid4698 Indeed.

  • @MIKELENZTIPS
    @MIKELENZTIPS 9 หลายเดือนก่อน +2

    I was guilty of this in the past!!! Until I realised it was on tick

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      Indeed. The prevalence of it is wide spread.

    • @MIKELENZTIPS
      @MIKELENZTIPS 9 หลายเดือนก่อน

      That being said - I thought this was now less of an issue in UE5 as I thought the UI binding system has been rearchitectured - I have a vague recollection UE video stating this - I think it might have been that fantast UI Materials video... or perhaps the other one that shows the responsive cards system...
      @@LeafBranchGames

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +1

      @@MIKELENZTIPS It is something in the works, but I don't thing they have finished it yet. I do recall it from the road map in the past.

    • @MIKELENZTIPS
      @MIKELENZTIPS 9 หลายเดือนก่อน

      @@LeafBranchGamesthank you for clarifying 🙏

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      @@MIKELENZTIPS No problem

  • @image4546
    @image4546 9 หลายเดือนก่อน

    Hi, thanks for tutorials. Im using in Blueprint (PlayerCharacter_BP / NPC_BP) at Beginplay cast to Widget - create reference and make whole calculation HP/Mana in BP (like smooth decrease/increase hp bar) and then just send by reference result to Widget. Do you think is it good way?

    • @GC-jm9bt
      @GC-jm9bt 9 หลายเดือนก่อน +1

      No, your UI should be aware of your pawn/controller. Not the other way around.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      I would suggest something like this: th-cam.com/video/bdsROh8mQZk/w-d-xo.html

  • @carlosrivadulla8903
    @carlosrivadulla8903 9 หลายเดือนก่อน +12

    Uisco is the king of bad practices

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      Thanks for the tip!

    • @washynator
      @washynator 9 หลายเดือนก่อน +2

      True, but I believe he has rebranded as "Unreal University"

  • @AndreaFromTokyo
    @AndreaFromTokyo 9 หลายเดือนก่อน +1

    TBF, even the unreal devs said that bindings are meant only for debug purposes and should never be used in a finished product for that exact same reason!
    Guess not many people indulge in reading documentation or listening to the Devs ( unreal engine devs)

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +1

      Indeed. Unreal devs does not have as great of a reach to the new people wanting to learn Unreal engine, so they don't get exposed to this information and it gets lost.

  • @AdeptusIncompetus
    @AdeptusIncompetus 6 หลายเดือนก่อน

    So what's the point of having the option to use Bindings?
    Should this be removed from the engine all together?

    • @LeafBranchGames
      @LeafBranchGames  6 หลายเดือนก่อน

      It will probably become deprecated at some point.

  • @Animamundi24
    @Animamundi24 8 หลายเดือนก่อน

    Technically, [Divide] calculation is harder than [Multiply], so I could say do not divide by 100, multiply by 0.01 instead.

    • @LeafBranchGames
      @LeafBranchGames  8 หลายเดือนก่อน

      Sure. But that is like turning the side mirrors on a card to make it more aerodynamic so it can move faster and overlooking that someone has stolen all your tires.

  • @arturzolkos2859
    @arturzolkos2859 9 หลายเดือนก่อน +1

    Why do bindings even exist? Is there a use case where it is better to calculate UI each frame?

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +2

      There could be an argument for very rare cases. Maybe a time being displayed that needs to be as accurate s possible, like for timed laps or performances. Or possibly a UI element that would need updating constantly, like a speedometer or something. But it is exceedingly rare. Most likely it is there for convenience, and very very light weight calculations where it might not have an impact.

  • @BROCKSGAMING
    @BROCKSGAMING 9 หลายเดือนก่อน

    As a coincidence , i also found this type of bindings are bad using printstring but in early stages of development

  • @dwain.d
    @dwain.d 9 หลายเดือนก่อน +2

    I've noticed that over time as I've become better at UE I'm finding I'm coming across better quality tutorials and channels such as this one. There is so much bad advice out there.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +1

      Unfortunately, that is not what new learners are exposed to. So they all have to go through the bad ones. This is a problematic issue. So unless they reach your point where they go outside of those channels, they are kept learning the low quality.

  • @nikgamesgamedev
    @nikgamesgamedev 9 หลายเดือนก่อน

    I think this is war between gorkagames, uisco and you)))))😂

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      Don't know who uisco is, but that is Matt Aspland, not Uisco.

    • @nikgamesgamedev
      @nikgamesgamedev 9 หลายเดือนก่อน

      @@LeafBranchGames my mistake. matt aspland, you wright

  • @kellowattentertainment
    @kellowattentertainment 9 หลายเดือนก่อน +1

    Those Gorka Games tutorials are always simple and he always looks for easy ways to do stuff in unreal engine. Don't get me wrong, he's a good lad, but I stopped following his tutorials when I understood that his approach is far from the best even though it is simple.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      That something is simple is ususally a warning sign.

  • @Adil-vi8xw
    @Adil-vi8xw 9 หลายเดือนก่อน +1

    Early comment 💬

  • @fael097
    @fael097 9 หลายเดือนก่อน +1

    I only like this cuz matt aspland is like the worst "gamedev" on youtube lol

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน

      Which is unfortunate considering how many people "learn" from him.

  • @dreadtrain2846
    @dreadtrain2846 9 หลายเดือนก่อน +1

    Haha those channels are great examples of bad practice in everything they post. Not just those two either, heh.

  • @buster5661
    @buster5661 9 หลายเดือนก่อน

    Bro you could have just stated at the begining that it's a tic issue. You could of saved me 5 minutes. That's the problem with all these gosh darn tutorials

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +5

      Yeah I could have. That might have been good for you. But for someone who doesn't understand tick, it would not be as clear cut. Even for someone who understand tick may not have believed it and wanted visual confirmation. Yet others may have understood all of these things but not known of a better alternative to it.
      You do not represent everyone, and no tutorial can fit everyones need. The tutorial can't be 20 seconds long as well as describe Unreal Engines architecture.

    • @buster5661
      @buster5661 9 หลายเดือนก่อน

      @@LeafBranchGames I represent those who dont not understand blueprints. So it would be a benefit to everyone if you did.

    • @LeafBranchGames
      @LeafBranchGames  9 หลายเดือนก่อน +1

      @@buster5661 You represent a small subset of that demographic, sure.

  • @achtnullachtInsights
    @achtnullachtInsights 6 หลายเดือนก่อน

    Hi, I've been following you for some time now and I really enjoy your videos. Do you have a Discord server where I can get in touch with you?

    • @LeafBranchGames
      @LeafBranchGames  6 หลายเดือนก่อน

      Thank you! Yes, you can find the Discord link in the description of every video.