15 Tips for Clean and Tidy Blueprints in Unreal Engine

Поділитися
Вставка
  • Опубліковано 22 січ 2025

КОМЕНТАРІ • 60

  • @CobraCode
    @CobraCode  3 роки тому +21

    If you're advanced you probably already know a few of these tips
    so make sure to use the timestamps to skip to the sections you think might be helpful for you and share this video with your friends that have dirty blueprints!

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

      A good collection of tips. One note on the section about collapsed nodes: You don't actually lose access to local variables when collapsing nodes inside a function. It's true that any of the local variables included in the collapsed selection break, but this appears to be a bug of some sort. If you place a fresh "Get Variable" inside the collapsed node it will work correctly. This allows you to skip having to pass them in like parameters.

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

      @@MagForceSeven Oh that's awesome, thanks for the tip!

    • @andreww4751
      @andreww4751 2 місяці тому

      @@MagForceSeven Epic tip, glory to you.

  • @MrKosiej
    @MrKosiej 2 роки тому +33

    One of the very useful features for me (and i learned it too late xd) is interfaces. It's basically a way to connect blueprints without having them related. For example, if we wanted to check if an actor is available for interaction, we could cast to it, get the ref, check the variable. Sure, but if we had 10 different, unrelated blueprints (but still had the interaction part in common we'd like to check), we'd have to make 10 cast nodes, check if it's the right actor and then get the variable. If you add more bps it will get pretty messy. Instead you just implement an interface (and set it up), and then you just send a message. If it implements that interface, it will answer.

  • @RC-1290
    @RC-1290 2 роки тому +17

    I agree with a bunch of these (in fact, I considered making a similar video, and decided to do a search first), but I would like to note that functions and collapsing aren't always better.
    I always encourage compression based programming, where you only move things to functions when you start re-using a piece of code. Having the full set of nodes in front of you lets you use the spatial parts of your brain, and when something is hidden in a function, you have to imagine it. Sometimes that trade-off is worth it, sometimes it's not.

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

      Thanks for pointing that out!
      Yeah, I can definitely see an argument to not collapse everything all the time.

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

      "I always encourage compression based programming, where you only move things to functions when you start re-using a piece of code"
      I do this as well, but the down's side is that some of my blueprint functions are HUUUGE

  • @elliottberkley
    @elliottberkley 8 місяців тому +3

    Nice list. These are all great tips. I'd add that Alt and Ctrl let you unplug and hold wires or just unplug them. I didn't figure this out until years deep.

  • @Fighter05
    @Fighter05 8 місяців тому +1

    One thing I don't see a lot of people talk about that often is that you can create multiple Event Graphs. Actor components are super common professionally but beyond that its super helpful to keep major parts of BP isolated on their own Event Graphs within a Actor BP or AC.

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

    Thanks for the resources. The alignment shortcut is awesome!! 😎

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

    1:10 Gotta admit that this subtle reference made me laugh 😂
    Thank you for the advices !

  • @johnrex7108
    @johnrex7108 10 місяців тому +1

    Excellent tutorial, man. Thanks for making it available.

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

    01:51 by god this is a blessing. Thank you!!!!!!

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

    The q shortcut for alignment is super useful! Thx🎉

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

    Great video. Straight to the point and informative!!

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

    Thank you so much for that movie. It will help a lot with maintaining my code!

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

    I learned a lot form these tips. Thank you! 👍✌

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

    This was very helpful. Thanks!

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

    Good video.
    I'd also add data assets and data tables. It's the idea of data oriented design over object oriented.
    It makes dev much cleaner.

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

    Excellent content

  • @couchpotato2751
    @couchpotato2751 10 місяців тому +1

    Helpful tips! Curious how do you add a pinned comment? Like @ 7:35 where it says "Move spawn location forwards a bit". Is this only available in Unreal Engine 5?

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

      Hey, you can do that even in UE4.
      You just need to hover over the node and in the top left it should show a speech bubble with 3 dots

  • @Themusingsofamadman
    @Themusingsofamadman 10 місяців тому +1

    Great content

  • @АлександрБальчинов-п9м

    Hey
    Thanks for the video on blueprints - I liked it very much
    Do you plan to record any more tutorials?

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

      Thank you, I'm glad you liked it!
      With my current schedule I'm releasing one video every ~2 weeks and already go the next one lined up to come out December 22nd :)

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

    Thanks, that was the great guide

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

    1:51 THANKSS I LOVE YOU!!! THANKSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    I hate when that happens and now I discover there is a solution :'D I'm going to cry

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

      Does someone knows how to do the same with comments? Sometimes they don't align :c

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

    Man, do asmr...
    Thanks for the tip about Timer by function name. Never used that before, always had problems with functions and delay.

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

    Any chance anyone knows the track at 2:40?

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

    I know most of this tips but still that's a good video we've got there)

  • @ghislainfontainebujold7834
    @ghislainfontainebujold7834 7 місяців тому +1

    Step 4 genuinely blew my mind 😂

  • @rifat.ahammed
    @rifat.ahammed Рік тому +1

    Thank You

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

    Excellent

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

    I cant find the vid u referencing in that video one on actor components. 6.52

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

      Hey, it should be this video
      ua-cam.com/video/UvLRljfK4VU/v-deo.html

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

    Is it really optimize to bind event go to a other custom event ?

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

      Do you mean 'Set Timer by Function Name'?
      But anyway this video isn't really about optimization, but about making things more readable and easier to navigate.
      Even if something is slightly less optimized, the improved readability and therefore faster workflow might be a worth wile trade off in many cases.

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

    0:43 be careful with sequence, especially with timings as it will not flow correctly and be out of sync

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

      You mean when using a delay, timeline or something along those lines with a sequence?
      Yeah I should have mentioned that, thank you!

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

      @@CobraCode it's also problematic for asynchronous operations (like calling an API), as one operation can "end" (reach the end of the call) before it actually resolves (usually by triggering a callback function). Basically, much trickier once you have callbacks.

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

    Thank you thank you so much

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

    Great!

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

    Good advice. But I would rather remove 7, 8 and 9.
    7 - You create extra graph depth, which is superfluous. If you want, you can create "Tick graph" for example instead of collapsed nodes.
    8 - Better not to even try to use any async logic in functions. At a minimum, using the timer only by event will create the same design throughout the project.
    9 - The select node doesn't take just one input, it executes all the code on each input and then selects one of the results. It may cause trouble if every input is a complex pure function.

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

    1:11 lol I love the yandev meme

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

      Finally somebody noticed 😅

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

    My brain for some reason wants to think that the computer has to process each reroute node, making the game slower at runtime. It's kinda funny now that I think about it

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

    I love you

  • @motionclips4451
    @motionclips4451 3 місяці тому

    Make Mess first..... Fix Later... Now, this is advance level. 😂

  • @summationx8376
    @summationx8376 11 місяців тому

    When you said subscribe, the subscribe button lit up hahahaa

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

    Meanwhile your chad computer ignoring the visual mess and yeeting through the code: 🦍💪🏻

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

    I just use sequences, set timers by events and collapse all other excess code into functions.

  • @BlueEnhanced
    @BlueEnhanced 11 місяців тому +2

    Step by step tutorial to solve world hunger.
    step 1: become a beginner to unreal engines bps again.
    step 2: make a procedurally generated backrooms game in bp.
    if you finished the tutorial you should have solved world hunger.

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

    Best move I ever made with Unreal was diving into C++. Now when I do use Blueprint node graphs for certain things, it's AMAZING how much cleaner they are. I anyone reading this is serious about Unreal development and hasn't picked it up yet, I can't recommend it enough. I won't say there's no additional learning curve, but if you can write code in Blueprint then you're entirely capable of writing code in C++ (at least as far as Unreal goes). Your node graphs will be cleaner, your games will run more efficiently, there are still things you'll be able to do that you can't do in Blueprint, and you'll generally just gain a much better understanding of how the engine works under the hood.

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

    Just buy Blueprint Assist plugin

  • @koyima
    @koyima 2 роки тому +12

    tip 1: learn to code

    • @CobraCode
      @CobraCode  2 роки тому +28

      tip 2: Realize that even when you write c++ your code won't magically be clean and you still have to stick to certain principles to make it readable and re-usable
      tip 3: Realize that you will never be able to ship a game if you spend 80% of your time looking through documentation to see which headers you need to import and wait for your code to compile
      tip 4: Get frustrated and start working with Blueprints after all
      tip 5: Realize that c++ and blueprints were supposed to be used together anyway and complement each other
      tip 6: Come back to this video and learn how to clean up your blueprints

    • @Jakethunter
      @Jakethunter 5 місяців тому +1

      @@CobraCodebro got angry

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

      ​@@JakethunterHe's not mad he's true.