Blueprints vs. C++: How They Fit Together and Why You Should Use Both

Поделиться
HTML-код
  • Опубликовано: 7 июн 2024
  • It's not an either/or decision. Learn what makes C++ and Blueprints different, what they have in common, and how to use them together effectively. We'll also learn a thing or two about performance optimization and some basic software design concepts.
    Read the article version: awforsythe.com/unreal/blueprin...
    00:00 - Introduction
    01:29 - Common Ground
    02:18 - Design Concepts: High-Level vs. Low-Level
    03:10 - Design Example: Weapon System
    04:44 - Design Concepts: Scripting vs. Programming
    06:44 - C++ and BP as Programming and Scripting Languages
    08:54 - Video Scope: Where C++ and BP Overlap
    09:52 - Performance: How C++ and BP Are Compiled
    10:48 - Performance: Comparing Compiled C++ and BP
    15:23 - Performance: Conclusions and Profiling
    17:35 - Project Organization: Class Design
    18:54 - Design Concepts: Types and Dependencies
    20:33 - Project Organization: C++ Modules
    23:05 - Project Organization: BP-to-C++ Dependencies
    24:36 - Design Example: Refactoring from BP to C++
    28:31 - Design Example: Doing Everything in C++
    31:03 - Design Example: Basic C++ / BP Interop
    33:11 - The Traditional Programming / Scripting Split
    33:47 - Design Example: Blueprint Function Libraries in C++
    34:13 - The Main Event: C++ vs. Blueprints (it only took 35 minutes)
    34:52 - BP Advantages: Assets, Visuals, Scripted Events
    36:54 - BP Advantages: Ease of Use
    38:34 - C++ Advantages: Performance, Fundamental Code
    39:56 - C++ Advantages: Engine Functionality Not Exposed to BP
    41:45 - C++ Advantages: External Libraries
    42:18 - C++ Advantages: Diffing and Merging
    45:05 - Personal Preferences
    46:39 - Outro and Thanks
    Patreon: / alexforsythe
    Twitter: / alexforsythe
    #UnrealEngine #UE4 #programming

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

  • @Navhkrin
    @Navhkrin 3 года назад +504

    I tried a hybrid approach where I implement low level stuff on CPP and high level on Blueprints. However, Blueprints are really not stable. For one they break if you make any refactoring in CPP code while other CPP code gets automatically refactored. Second, even for simple stuff CPP code seems to be better organized than blueprints. Third you can get various problems with blueprints when making version upgrades but CPP is almost always flawless. I once spend 2 days fixing a blueprint related problem that occurred on version upgrade, and fix was appearantly "renaming variable to something, compiling it and renaming it back to its original name"
    So yeah, now I'm just slapping CPP at everything I can wtih minimal blueprint interactions. Not because i'm "real programmer that does everything on CPP" but because I had much more stable experience working with CPP than blueprints.
    I still setup paths and references by extending classes via blueprint. I just try to keep blueprint "code" to minimal.
    I wish there was a way to "code" blueprints. Blueprints are in background just code organized in graphical manner, It shouldn't be too difficult to expose underlying code in a nice manner in text form for us to write blueprint scripts.
    I really like the concept of having high level scripting language and low level C++ for performance but I don't think blueprints - from programming perspective - work that well. Stuff that I can code in 20 lines of CPP end up taking massive visual area and turn into spaghetti with blueprints. Yes my lack of visual organization has role to play on that as well but still. I really wish we had Python instead of blueprint

    • @AlexForsythe
      @AlexForsythe  3 года назад +476

      This is a well-thought-out, reasonable comment. I held pretty much this exact opinion earlier in my career, and I still agree with a lot of your points today, so my response is "here's some additional food for thought" rather than "go to hell you're wrong."
      First, just to get the obligatory cranky-old-man, you-don't-know-how-bad-we-had-it talk out of my system: Blueprints have come a long way since their initial launch, and they're remarkably stable these days. Don't believe me? Go back to Unreal 4.1 and try working with Blueprint interop! Back then, the editor crashed if you looked at it sideways! You don't know how bad we had it!
      ...OK, sorry about that. On to some real points.
      Anyone who's ever made C++ changes only to have the editor crash when loading a Blueprint can understand what you're talking about re: Blueprints feeling unstable. If you're one of those people, and you only take one thing away from this comment, make it this: Core Redirects. docs.unrealengine.com/en-US/ProgrammingAndScripting/ProgrammingWithCPP/Assets/CoreRedirects/index.html
      If you refactor something in C++ that has downstream dependencies in Blueprints, then you just slap a line or two into the [CoreRedirects] section of DefaultEngine.ini to record the old and new paths/names for the classes/properties/functions/etc. that you've renamed or moved. The Engine takes care of the rest: all references (including references from Blueprints to native types) go through this automatic translation process and will be seamlessly fixed up.
      That's a very simple, straightforward fix that applies to the majority of cases where you need to preserve Blueprint compatibility in response to C++ changes. If you find working in C++ to be fun and carefree and light-as-a-feather, only to be crushed by the sudden thought of "oh god, but what's going to break in Blueprints if I make this change," then you need CoreRedirects in your life.
      There *are* other cases besides simple renaming/moving, where you might have to do something slightly more involved, like deprecating old properties and patching their values into new properties on PostLoad, or, in rare cases, attaching a debugger to figure out why something's crashing on load. These are costs of a workflow that supports Blueprints. These are also important skills to have.
      You just have to weigh those costs honestly, and you have to appreciate and learn those skills. After that, the decisions are yours to make.
      I've seen people who are weirdly, counterproductively resistant to Blueprints because they got frustrated with these sorts of issues and just decided "I know C++; I don't need to bother with Blueprints ever again." I nearly fell into that trap earlier in my career. The problem with that line of thinking is that it stops you from learning *why* those issues are happening and learning *how* to anticipate and avoid them, and it biases what should be an objective decisionmaking process.
      You're not doing anything wrong by choosing to use C++ for most things, as long as you're not insisting on using C++ for things that it's objectively ill-suited for (direct asset references, scripted sequences, etc.), and as long as you're not hamstringing Blueprint-savvy people on your team by yanking tools out of their hands. The workflow you're describing (i.e. a thin layer of Blueprints on top of mostly C++, where Blueprints handle asset references and visual details but have minimal gameplay-relevant logic) sounds pretty much like the workflow that traditionally-organized gamedev studios tend to use. There are plenty of good reasons why that's a common approach.
      Based on your comment, it sounds like your reasoning isn't "Blueprints are terrible," it's just "I have weighed the costs and this is the workflow that makes the most sense for what I'm doing." More power to you - my only advice is to make sure you're keeping an open mind and reevaluating based on your continually evolving understanding of how things work *now*, not based purely on past experiences.

    • @Navhkrin
      @Navhkrin 3 года назад +178

      @@AlexForsythe I truly appreciate the information and thanks for the answer! Going into the future, I will keep your valuable advices in mind and I agree that I shouldn't just ditch blueprints because I had bad experience with them but instead try to learn and understand root of these issues so that I can become a better engineer.

    • @DefinitelyNotAMachineCultist
      @DefinitelyNotAMachineCultist 3 года назад +7

      ​@@SomeKindOfMattias As of C++17/20, how much easier is it to write higher-level expressive code in C++?

    • @SomeKindOfMattias
      @SomeKindOfMattias 3 года назад +5

      ​@@DefinitelyNotAMachineCultist I'm far from an expert in C++, coming from C# fairly recently. That being said, you can use things like templates, but not expose to blueprints (I think they're working on better template support). Subsystems are great for abstraction out aspects of a system. Gameplay Tags are awesome for a host of things.
      n general though it's more about knowing a and implementing design patterns, and that doesn't requite much from the actual language

    • @majormalfunction0071
      @majormalfunction0071 3 года назад +9

      @@AlexForsythe I'd have to back up OP here. Extending Blueprints in C++ seems really interesting, and is something I plan to support in my own engine. Well, something like it, not Unreal's Blueprints, but a visual scripting compiler that you can hack at in C. Something for UI specifically. It would be nice to have a more powerful scripting language to handle asset references and gameplay code like you mention. The only problem I've heard of wrt Blueprints is performance at scale. Doing *everything* in Blueprints has a performance cost, but most may not see it AFAIK.

  • @mihail2607
    @mihail2607 3 года назад +560

    This is like watching the Bob Ross of unreal engine.

    • @lawendt
      @lawendt 3 года назад +12

      second that

    • @-abs-
      @-abs- 3 года назад +16

      Everything about this video is a masterpiece! The voice, the video animations, and obviously this immense knowledge about Unreal Engine. Thank you.

    • @gabek5760
      @gabek5760 3 года назад +3

      Couldn't have put it any better... Well besides for him not saying, 'Happy lil rockets' or whatever

    • @necrago
      @necrago 2 года назад +1

      @@-abs- it feels like Bruce Wayne is giving you a lesson on business.

    • @khronos142
      @khronos142 2 года назад

      nailed it

  • @nicholasrossi2515
    @nicholasrossi2515 3 года назад +146

    I pray you're at LEAST the head of engineering at your company. So few people have the capacity to delivery complex topics this coherently.

  • @Cattagus
    @Cattagus 3 года назад +357

    The quality of this video is exceptional, the pacing is incredible, the information is invaluable, and your explanations and included examples are extremely helpful. I am so glad I found this video, and I still can't believe that this quality of video is available for free. Thanks for making this.

  • @Evigmae
    @Evigmae 3 года назад +124

    You make the best content by an extremely large margin, and this includes the official UE4 stuff imo :D

  • @cockoroach
    @cockoroach 3 года назад +50

    I was under the assumption that all functionality was better in c++. I’m glad you explained use cases of blueprints that are more than FX. This was amazing.

    • @izvarzone
      @izvarzone 2 года назад +1

      I would prefer C++ a lot more if not super long compile times. Until I buy better CPU at least even then still blueprints would be faster to compile.
      But lot of node spaghetti can be fixed with C++ too. So best is use both.

  • @jpurser55
    @jpurser55 Год назад +7

    I learned more from this 45 minute video than Ive learned from hours of other tutorials. thank you

  • @indradb7377
    @indradb7377 3 года назад +27

    This video is so high quality, I've never seen such a high quality video before explaining UE topics.
    Please guys, give him at least one month of patreon support! I'll be doing it now too. (edit it's actually per release of video, not per month)

  • @gregathee
    @gregathee 3 года назад +63

    I'm really glad you humored the "real programmer" because I never saw the real value of blueprints until this video.

    • @gamescreator5040
      @gamescreator5040 3 года назад +1

      totally agree

    • @chancylvania
      @chancylvania 3 года назад +2

      Have you tried using c++ with UI vs the UMG editor?

    • @morderus0033
      @morderus0033 2 года назад

      @@chancylvania UI with UMG seems waaaay bad-optimized, but I don't care too much about the overall performance impact.
      In fact, I prefer to use both C++ and BP when I'm working with UI.

    • @chancylvania
      @chancylvania 2 года назад

      @@morderus0033 why does it seem badly optimized? I’m talking about the widget UI bp object you can create. Maybe the UMG editor is something different

    • @morderus0033
      @morderus0033 2 года назад

      @@chancylvania maybe I am not the best programmer, neither have the best practices, but doing a Main Menu using only blueprints causes the game to crash or just bug, if I try to do something more complex

  • @blakepeno9520
    @blakepeno9520 2 года назад +54

    At exactly :29 into this video I saw a Cursor duplicate and someone started writing two functions at once and knew I had stumbled onto something special here. How does this have so few views?! This is the single best unreal video I've seen (and yes I'm including their official videos in that comparison). The production quality, pacing, everything is A+ top tier. For the love of God I hope you keep making these--this channel deserves way more credit than it's getting currently.

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

    As a beginner in Unreal Engine . I needed this today . Vielen Dank !

  • @brannonharris4642
    @brannonharris4642 3 года назад +11

    Uhhh. This is the best unreal engine video on the internet. You are amazing, dude.

  • @TrojanLube69
    @TrojanLube69 3 года назад +36

    Best Unreal Engine teacher! Can’t explain how good this videos are. Best mix of “How’s made” tv show and game development 😆

  • @CinematographyDatabase
    @CinematographyDatabase 3 года назад +42

    This is amazing

  • @Sky-iv8zm
    @Sky-iv8zm 3 года назад +11

    Your content is unbelievably unique. There is quite literally nothing like it. Nor the quality you produce.
    You're the Bob Ross of unreal engine. Losing you is the day we all lose a part of unreal engine.

  • @alexandru2882
    @alexandru2882 3 года назад +75

    This video is incredible! It answers a vast array of questions about game development in UE4, all in a compact packaging. The voice of the narrator is pleasant, the animations are extremely good and fit the content perfectly and the subjects that are covered are exactly what I was looking for. Look no further! All the answers to your questions as a beginner game developer in Unreal are here!

  • @krzysztofkansy1133
    @krzysztofkansy1133 3 года назад +20

    Another advantage of C++ vs Blueprints: game debuggability outside of Editor. This is a major one for me, importance of this grows with the scale of the project and the number of supported platforms. You won't be able to debug blueprints directly anywhere outside of Editor.

  • @brunovaz
    @brunovaz 2 года назад +50

    This video is so well written that even though I have no experience in game development and Unreal, I left the video with a general superficial understanding of game architecture, C++ and Unreal in less than an hour, even if that wasn't the focus of the video. Literally one of the best educational videos I've ever watched on RUclips, in general.

  • @WesleyOverdijk
    @WesleyOverdijk 2 года назад +10

    I came here to learn about the differences and benefits, specific to unreal. I ended up learning things that change the way I think and create as a programmer in general. Thanks!

  • @salehbaker9221
    @salehbaker9221 2 года назад +5

    OMG, this is the best visual lecture on c++& UE4 I ever seen in my life. A truly masterpiece.
    linking your explanation with visual animation of "what it mean and how it work" make your point more clear than reading thousand & watching 100 hours of udemy ,I'm god damn serious.
    YOU ARE THE BEST . I can't wait for future uploads

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

    Hello Alex, I am a Unity dev' learning Unreal and I wanted to let you know that you did a wonderful job teaching how C++ and Blueprints should/can be used in a project.
    I thank you very much for sharing your knowledge on this, and doing it in the cleanest and most understandable way I could imagine !
    Have a great day and thank you again !

  • @Dayogg
    @Dayogg 2 года назад +3

    I am forever grateful for sharing these videos about the architecture of a video game and about how UE works in general. Every time I decided to start a project, I had exactly these questions:
    - How can I make sure that my code is clean, maintainable and scalable?
    - When should I use blueprints?
    - What design patterns are commonly used in a video game?
    - How do I organize my project?
    - How do I refactor a Blueprint to C++?
    - How do large companies handle huge and complex projects?
    All that and more has been explained in your videos, facing all the problems and with examples. I believe that any programmer has his mentor, for me, it's you.
    I'm speechless, thank you...

  • @ricofilm
    @ricofilm 3 года назад +7

    Best dang UE channel on RUclips. Thank you for everything you do!

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

    I wish I would have seen this video years ago. I learned more with this one video than I did in the last year of tutorials. Thanks

  • @Redheadtama1
    @Redheadtama1 3 года назад +13

    Good grief this is one of the most beautiful explanations of anything ever. Such great helpful visual aids. You've taken a topic that is a really tricky one for beginner/intermediate unreal users to understand and spelled it out in elegant simplicity. Thank you so much. Please do more tutorials. I hope you can monetize in some way. Would love to support you creating content like this!

  • @MyGameDevPal
    @MyGameDevPal 2 года назад +2

    Am I the only one who felt like standing up and clapping at the end of this video? Amazing work alex, thank you for your time and effort 🙌

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

    How someone can watch this and not feel obliged to subscribe is beyond me, great work and very useful information.

  • @annihilationten4644
    @annihilationten4644 2 года назад +1

    I never subscribe to any channel, I just subscribed to this channel very well done I needed this years ago, Thank you!

  • @m0rph3u5.
    @m0rph3u5. Год назад +2

    For somebody like me who has been using blueprints for years and started to learn C++ afterward, this video is a gem! a lot of the things mentioned seemed common sense to me while learning C++. I love still love quickly designing or testing codes in blueprints then writing them in C++. The time it takes to compile, close editor, recompile, crash and restart due to missed pointer check, its just crazy. Needless to say that a lot of the time, you write the code and you're sure its right, but it still doesn't work just because the live coding sucks at times or its that nullptr check you missed that ends up crashing the engine and there you miss all your unsaved work! for all that headache, its easier to quickly iterate in blueprint, tweaking..etc then transcribe the code. Blueprints are simply one UE best features!

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

    I hope Alex Forsythe is doing ok as I haven't been able to find any follow up content. But as a software engineer with 20+ years experience just playing around with UE - I found this to be a masterclass. Great work, wish there was more, hope you're OK and just busy working on some awesome stuff and don't have time for social media.

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

      Thanks! I'm glad you found it useful, and I appreciate everybody's comments.
      Indeed, I'm just busy with work and life - these videos took a ton of effort to produce, and I made most of them during a hiatus when I could devote the majority of my time to them. These days I'm more concentrated on paying the bills, which Unreal tutorial videos sadly don't do as well as a full-time software engineering job :)

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

      @@AlexForsythe Good to hear! Seriously you packed in so much general wisdom in this video about software engineering I was compelled to watch it to the end :) The extra UE C++ vs Blueprints was just a bonus.

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

      @@AlexForsythe Hi, I just stumbled on this video and I loved it. Glad you're well.
      Have you considered making shorter unreal c++ videos (5-10 mins) and instead of making these beautiful graphics and animations, you just sketch diagrams on a piece of paper for example? Maybe it would be easier to produce videos that way until you grow your channel and Patreon to the point where you could sustain yourself with this content.
      Anyway, I just watched a couple of your videos, and as Alex said, they are a masterclass. Great job, thanks for these videos and I wish you all the best! :)

  • @lukask.3465
    @lukask.3465 2 года назад +3

    I got my first AAA job back then thanks to you and your MOBU tutorials. Now history repeats with Unreal engine. Thank you a lot!

  • @TheInnerChild
    @TheInnerChild 2 месяца назад

    Best video ending the debate on C++ vs Blueprints I have ever seen, thanks for all the effort put in this video.

  • @TomChase40
    @TomChase40 3 года назад +4

    One of the best videos on Unreal I have ever watched, extremely well done

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

    The sheer amount of effort taken to make this video is astounding! I chanced upon this video with no intention to watch beyond the first few minutes, I ended watching to the end and ended becoming semi literate on computer programming design and many other topics. This video is a Masterclass! Thank you Sir!

  • @JackofAll_Raids
    @JackofAll_Raids 2 года назад +6

    This is the most informative, educational video I have ever experienced on RUclips, by FAR. Thank you for your time and work put into this content. I have learned a TON!

  • @NoumanRiaz
    @NoumanRiaz 3 года назад +6

    This is exactly what I was looking for, I am new to unreal and got some basic clarification about Blueprint VS C++ but now it's all clear! great work thank you!

  • @deadend6399
    @deadend6399 2 года назад +1

    Alex you cannot just make such a awesome video and then disappear from RUclips

  • @YuChengTing
    @YuChengTing 2 года назад

    The best course about UE blueprint & C++ I have ever watched! Without "one of".

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

    You're the first person who has explained C++ in a simple manner and demonstrated the code alongside its equivalent in Blueprint. Thank you!

  • @TerjeBallestad
    @TerjeBallestad 3 года назад +8

    Now, this is some actual good content. Advanced tutorials with this amazing production value are kind of rare.

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

    I must say that's a very professionally made video. Well structured, well narrated, cool motion graphics. And it's very useful for me.

  • @Jamonpeligroso
    @Jamonpeligroso 2 года назад +3

    Wow. Just wow. Stunningly high quality content, from the UE breakdown to the software engineering fundamentals. This was a masterclass in educational presentation just as much as it was a masterclass in UE. THANK YOU!

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

    This might be the single most impactful video i've watched as an introduction to Unreal. At least for experienced C++ developers. Great presentation style, easy to follow, maybe a bit technical for absolute beginners but for my level this is exactly what i've needed.

  • @chemicalvamp
    @chemicalvamp 2 года назад +3

    You are my new favorite teacher. You see this, and "From int main() to BeginPlay". That is how I learn, You've got an excellent method of teaching, And I can't wait to see what the next one will be.

  • @Altrue
    @Altrue 3 года назад +2

    A very articulate video about a topic difficult to summarize, with production quality off the charts. Good job :)

  • @ArtVandelayInc
    @ArtVandelayInc 3 года назад +3

    This channel is a gold mine. 10/10. I hope you continue to create content for the community. It's not easy to find decent tutorials like this on the internet

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

    I can't believe this video exists. Never in my life have I found a more clear, concise, well laid out and enjoyable explanation than in this video. Thank you Alex!

  • @musicdudem6673
    @musicdudem6673 3 года назад +3

    i have been waiting for years for something like this. Bravo

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

    This is probably the most useful video on Unreal that I've seen since I first started learning a year ago.

  • @Kingu__
    @Kingu__ 3 года назад

    Awesome video as always! Very detailed and in-depth. This is the quality that only few people achieve with their tutorials. Keep up good work! :)

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

    This entire playlist is pure gold, thank you!

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

    I really appreciate the effort into the video editing quality as well as the structure of the content.
    Please continue creating more content, you're doing great work!

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

    UNBELIEVABLE. Just an incredible master class on what a masterclass should look like.

  • @caseyclayton01
    @caseyclayton01 3 года назад +2

    By far one of the best explanations I've seen. I'd love to see a production quality build along series. It's rare to see these types of videos with proper code architecture using modules etc.

  • @iRedCraft
    @iRedCraft 2 года назад +7

    This is an exceptionally well-made video and example of the daily conversations we're having at the Unreal Slackers #cpp channel. Being a UE developer myself for years, what I loved about Blueprints back in the day was their accessibility. You had no programming experience but wanted to whack together a simple game, no worries - only thing you needed to bring is a bit of logical understanding. I probably made lots of bad practice mistakes back then but what's nice about BPs is that they teach you Unreal. They teach you how UE thinks and reacts, it's hierarchy, what a pawn and a player controller is, and so on and so on.
    If you feel experienced enough to take the step to move into C++, you don't have to worry about learning a whole new framework as the base ideas are almost the same - so you can focus on actually learning the language, what pointers are, etc. Transitioning stuff from BPs to C++ is pretty easy for most stuff (except, as you mentioned, delays, and some other QoL features Blueprints have).
    Nowadays, I use C++ for almost everything and have most Blueprint classes just as storages for actual visual assets or configurations. One exception is UI. When using UMG for your in-game UI, Blueprints are just a way better approach to build a UI - and there you can also easily create a C++ subclass to handle the lower logic level of the UI. There's even a UPROPERTY specifier called "BindWidget" which can build a gap between UI components in the UMG editor and your source code.
    Great work!
    Edit: also it's good to mention that Blueprint nativization is as of now, UE5, deprecated and I think not even included in the engine anymore.

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

    I'm trying to learn UE and am a nine-to-five developer (on the java platform). Your quote on being a [hardcore] programmer which don't want to resort to silly point and click blueprint; called me out. I wanted to do achieve everthing in C++. Until I watched this video. Thanks for calling me out with my narrow minded attitide and helping me adjust to a proper learning approach from here on.

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

    This is the single most valuable UE video on youtube. Thank you.

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

    I feel like I am watching educational TV here. And I mean this is the most postive way possible. There is quality control, things are layed out clearly and with specific intent. It feels like it has professional producers behind it. Well done.

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

    Mate, I'm 2 months into my Unreal journey after graduating from uni in computer science. This shines so bright for me compared to a lot of the tutorial videos on RUclips. The production and presentation is amazingly on point too. Great speaking voice, great visuals. Well done!

  • @christophseidl6555
    @christophseidl6555 2 года назад +4

    Exceptionally good video! I'm so glad to see someone talking about a game engine who has both comprehension of software engineering concepts and the ability to explain them in a relatable manner. I'd certainly love to see more content with this tone.

  • @DarkSwordsman
    @DarkSwordsman 2 года назад +1

    This was easily the most informative video that I've ever watched. Not only did you explain blueprints and cpp well (where I literally don't do game design and only web apps with JS), but you introduced and explained game development philosophies that I've inferred or heard about, but in a way I can tangibly understand how to apply to my projects.
    You have provided me with invaluable information that I literally could never even get a glimpse of with Unity because of their tutorials. I am very excited to start playing with Unreal and this only helped. Thank you.

  • @patrickcodes9416
    @patrickcodes9416 3 года назад +5

    this.. is.. everything. THANK YOU SO MUCH for the time and work you put into this video. Everyone has their own approach to doing things but this tutorial/exploration dictates EXQUISITELY the interactivity of code and scripting, the usefulness of c++ AND the blueprint system, and more than anything, CONTEXT in how to properly utilize the engine. I really needed this explanation. Thank you!!

  • @TheLolilol321
    @TheLolilol321 2 года назад

    Jesus, that's a good tutorial. Fleshed out detailed examples, concise, good structure, clean style.

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

    I've never seen anything so well presented in my life. It baffles me that this guy has only 25k subs for this high-quality content.

  • @kken8766
    @kken8766 3 года назад +6

    Although I use Unity instead of Unreal Engine, I still gain a lot of insight on visual scripting versus coding.
    This video is so great that it should be recorded in the Guinness World Records.
    Applaud();
    Salutations();
    Cheers();

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

    The best video that I've seen so far about the c++/blueprint topic, thank you so much, I learned really a lot!

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

    This is one of the best technical videos I’ve ever seen

  • @larrysankey6976
    @larrysankey6976 2 года назад

    This may be the highest quality educational video I have ever seen on RUclips. It is extremely well researched, edited, and illustrated. This is not your typical RUclips fare. Thank you.

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

    Alex, I am just starting my journey into Unreal, and I am so grateful for this specific video. Trying to wrap my head around not only learning a new language, a new FRAMEWORK with that language (Unreal C++), and then also trying to figure out how to split between C++ and BP in my project... it was pretty overwhelming and I almost gave up a few times after some unproductive nights. This video (and lots of answered questions on the forums) help me get me past my hump. I've rewatched this multiple times and found something that I had missed the first time and had a better understanding of it.
    I don't have anything new to add to the conversation, just a massive THANK YOU for sharing your knowledge. :)

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

    Stunningly professional and valuable explanation.

  • @TalisBarbalho
    @TalisBarbalho 3 года назад +2

    I have no idea how I got here, but I wish it happened earlier. Thank you so much for this video!

  • @Xaneph
    @Xaneph 2 года назад +1

    Just had to leave a comment about how well this video is edited and presented. Incredible visuals, flow, visibility, explanation....This must have taken days to edit. Thank you so much!

  • @drusepth
    @drusepth 2 года назад

    This is such a well-researched, well-organized video that covers everything I wanted to know (and more) coming from Unity. Thank you for all the hard work you clearly put into this.

  • @amosdotl6892
    @amosdotl6892 2 года назад +1

    All the reference material included in this is amazing...thanks for all the effort.

  • @speedy_o0538
    @speedy_o0538 3 года назад

    This video was super useful for me!! I'm a hobbyist who's learning C++ after already understanding blueprints, this video actually gives me a great base of understanding for what each is used for and where to start. The direct comparisons were especially helpful. Subbed.

  • @stoneageprogrammer432
    @stoneageprogrammer432 2 года назад +1

    Thank you so much for making these. I've been watching a lot of Unreal tutorials on Blueprints, but so far I'm having a REALLY hard time following them, as most of them are REALLY FAST and in a THICK russian accent. You take your time, you're very well-spoken, and you actually know how to communicate and have a lot of depth to convey. I hope youve done a lot more Blueprint tutorials, because I really want to watch them.

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

    Amazing explanation, excellent editing, thanks so much for making this available for free.

  • @sugarbycukia
    @sugarbycukia 3 года назад +4

    This is awesome! I'm leading a young team into Unreal with no experience in Unreal myself and the question of blueprint vs c++ is something I've been struggling with. Thanks for the video it helped validate my decisions for our team. Like you said there's a lot to consider.

  • @FMagno
    @FMagno 3 года назад +1

    That's the kind of explanation I have been looking for years! Thank you!

  • @mikehattias5837
    @mikehattias5837 2 года назад

    Been at this for a long time and this is genuinely the clearest and most informative video i've seen pertaining to coding in Unreal

  • @FrozenGale
    @FrozenGale 3 года назад +1

    Honestly this is one of the most informative and best videos I have ever seen about Unreal Engine.

  • @SuperAcousticDude
    @SuperAcousticDude 2 года назад

    Man, you nailed this breakdown/comparison perfectly! I was a little hazy on the details up until now, but your video really cleared things for me, so thank you!

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

    The ABSOLUTE best video ive ever seen that ACTUALLY explains how things work, pros, cons, the works. You even going down to the machine code level to explain things was flat out the best thing ive ever seen. PLEASE keep making videos. This video could straight up be something youd see in some Udemy course.
    subbing to keep your videos as a future reference but i honestly believe you could easily make it big on here if you continue.

  • @r6scrubs126
    @r6scrubs126 2 года назад

    how is this high quality presentation on some random small youtube channel better than any of the paid courses and official media I've seen... bravo sir, bravo

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

    WOW...WOW...WOW....!!! This is by far one of the most detailed and informative videos I have ever watched. This is a tremendously good explanation of both Blueprints and C++. Congratulations to you Alex for producing such a great video. Thank you!!!

  • @keelei
    @keelei 2 года назад

    You should really do more videos with topics like this. One of the best RUclips channels for learning Unreal here. Really appreciated!

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

    This was beautifully illustrated. Thanks!

  • @Ecker00
    @Ecker00 2 года назад

    Thank you, amazing breakdown. Had me glued for every second of the video!

  • @saulosoare
    @saulosoare 2 года назад

    I don't know man, there is just some guys out here on youtube making these high quality content about ue4 that I'm glad I can even watch it for free... Amazing job!

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

    Your videos have been extremely helpful to me. Thank you for spending the time to create such high quality content!

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

    Incredible video Alex, thanks for creating and sharing this!

  • @CyberOakEMpiRE
    @CyberOakEMpiRE 3 года назад +1

    One of the best coding explanation video ive seen in a long time, good job!

  • @rgbtryhardled636
    @rgbtryhardled636 2 года назад

    High quality, informative, entertaining video. 10/10

  • @theBejourn
    @theBejourn 3 года назад +1

    Absolutely fantastic video, clear concise and well relayed information. Thank you and keep it up!

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

    This is insane quality, wow! Great Job, thanks for sharing this valuable information for free!

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

    At 17:00 and wanted to share personal opinions. I am a solo developer and designer. I started with Blueprints exclusively. My first incentive to use C++ was the performance cost of marching cube terrain generation. Since then, I've only had to redesign a few systems in C++, for exactly the reasons you've discussed: Not everything has to be optimized, as almost all game logic is event driven (thus not firing thousands of operations per frame) and most of it I have been able to design in Blueprints about 20 times faster than in C++.
    BUT.. There have been a few performance intensive FUNCTIONS I have specifically gone back to rewrite in C++ due to either: [A] The frequency with which these functions are used, or [B] the sheer number of operations needed.
    An example: I have fully dynamic structure meshes. A "base" in my sandbox building system, is actually just 1 mesh, no matter how many walls are added to it. But when a section is destroyed, I have to recalculate the adjacent faces. When two buildings are "merged", I have to replicate an entire structure and all properties of all sections into another. With bases of a few hundred sections, Blueprints handles this fine. So were my game focused less on the building itself, I could've easily decided to leave it as it was. But since massive settlements and player artistic license of the building system is one of the core high level tenants my game rides on.. Nope. Changing the states of existing build pieces is done in C++. When a player wants to add a new one: I still do that in Blueprints. Because they only have to calculate a small number of things, and a player can't click thousands of times per frame. But if that added piece needs to update anything else, it calls on native C++ functions.
    This is really just an example of what you're talking about. Over 90% of my game systems are in Blueprints, because they don't have a large enough footprint to need optimized any further than they already are in Blueprints. This doesn't mean I ignore optimization, either (in fact, it's a major focus for the style of game I'm making.) But that, the time difference between optimizing my Blueprint system and changing it to C++ results in an overall loss in optimization in a given timeframe. I can cut 2ms to 0.002ms in a few hours of scripting many times (often just changing memory intensive variables which are used infrequently to zero length arrays to save memory consumption, this is incredibly effective at reducing memory consumption for large systems that aren't always actively in use: Saving my game an average of ~4.6GB of memory allocation (which was about 80% of consumption on highest scalability prior to making this change in habit) in testing as a result of making it a habit in the most complex systems that have hundreds of possible variables to make those variables arrays instead of individual variables so I can actually free up the memory they used when they aren't needed anymore.) But to cut that any reasonable amount more can often take a number of days. It's better, in my use case, to spend that time optimizing another system or function in scripting.
    However, a large part of this comes from the start of your video: I'm more familiar with, and thus faster with, Blueprints. But that is also basically the intent of Blueprints, to be faster and easier to prototype and design in. When I find a system I can't optimize in script, I get it working first, then replicate it in C++. But otherwise, there's often no need. I have been able to render and generate millions of mesh structure segments for things players build at runtime and the only real issue was when I had to update a significant portion of a structure. So I changed all the update functions (since making a few more hardly added any time to making the ones I absolutely needed) and I got the result I desired.
    It wouldn't be wrong to use more C++ than I do. But if I can still maintain 12-17ms frame times in every situation I can test for, and my systems have exceeded my original ambitions in scale and complexity: Where really is the benefit to getting things done more slowly?

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

    As everyone else has said: phenomenal work. You’ve done an outstanding job explaining a variety of topics. Thank you very much for your work!

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

    Best explanation I've come across, thank you 😊

  • @heyitsjoshmusic
    @heyitsjoshmusic 2 года назад +1

    I've worked with Blueprints for a few years and have been searching for videos providing a jumping off point into learning C++ for Unreal and how to combine knowledge of the two. This video popped up in my recommended and I was immediately hooked by the clarity of the production and explanations, but after a few minutes something about your voice was standing out as familiar. Finally I realized that I'm indeed quite used to hearing your voice already, as a longtime sub to StephenVlog and StephenPlays. That was an unexpected surprise. Thanks for the video Alex!

  • @fenhongdoushishabi
    @fenhongdoushishabi 2 месяца назад

    What a great video you made. This is all I could expect from this beautiful world. Thank you for sharing the insights and working through the examples. You are a hero!