For the record guys, I'm sticking with Unity! But it's good to know the reasons why Unreal can be used as well! ► Get 50% off Full Time Game Dev during the Black Friday sale: www.fulltimegamedev.com/full-time-game-black-friday ► Learn how to become a full time game dev, free: www.fulltimegamedev.com/opt-in-how-to-make-six-figures ► Enroll in my 3D workshop, free!: www.fulltimegamedev.com/opt-in-15-minute-3D-game ► Make your game instantly beautiful with my free workbook: www.fulltimegamedev.com/opt-in-instant-beauty-color-workbook ► Get my 2D game kit, free: www.fulltimegamedev.com/opt-in-2D-game-kit ► Join my 2D character workshop, free: www.fulltimegamedev.com/opt-in-2d-character-art-workshop ► Wishlist Twisted Tower: store.steampowered.com/app/1575990/Twisted_Tower/ ► Learn how to make money as a UA-camr: www.fulltimegamedev.com/opt-in-indie-game-income-workshop
you add in a bunch of 3rd party addons to unity and its pretty darn close to unreal.. especially for a solo dev. with Unity 6 when they fix alot of the issues with performance with the meshes, it will be even closer... at the end of the day, its not "Unity" thats stopping you from making money, (like being on Unreal would fix it). its your own effort / talent / skill, you can make a good game on both platforms...
Agreed. I'm always telling people there's hundreds of ways to code a simple movement controller No one developer does it the same way. So go learn your way and save it as a script or blueprint and keep updating it as you learn Eventually you'll have a game you can import and reskin and resell
As a struggling indie dev, I like how you mention that there's a million ways to do something, and that even though you're making it "wrong", if it works, then it works. The end user doesn't care as long as they're not lagging or suffering. Edit: this is getting misconstrued as supporting bad practice in programming, but that's not what I'm talking about. All I'm saying is that it's ok to not be 100% conventional all of the time as long as you're doing so responsibly.
Totally agree. While making my game (real small, nothing crazy), I kept thinking "Am I making this the most efficient way?" And then I thought "No. But they don't know that."
Just stick to the trusted and true phrase: "If its stupid but it works it ain't stupid." Obviously if you do somtheing differently than everybody recommends and it does not work you have every right to be called stupid.....
Gavens "wrong" way of texturing is not as wrong as it seems. He did something quite similar to trimsheets, which are commonly used by AAA studios for texturing models like buildings etc.
Agreed, this is a totally valid workflow. Uniquely unwrapping and texturing every prop in a game causes texture memory issues more than trimsheet workflows. Which is why I personally prefer the latter.
I’m a new solo game dev using ue5. Started about a week ago. Already have a player controller, basic hit detection and combat animations for the player. I have a map and new sky boxes. I also just got the beginnings of some NPCs working. And this is just within a week starting with zero prior knowledge. It’s easy to learn if you are willing to fix something 200times before it works the right way!
@@twdmoments-zd2qx good. Things have been slow bc I started college again but I’m still working on it. I have basic npcs now and a health system. I’m working on the combat and damage system rn. The game will never release for money it’s just a fun thing for me to work on but if I ever post it for free I will post here and lyk!
@@twdmoments-zd2qx it’s like a third person action adventure game. I’m focusing heavily on getting the game mechanics and hard code to be as good as possible because I really start to nail down the more in depth game design
On the gaming front I too have found that blueprints can do pretty much everything, maybe like 95%-99% of all the things you care about with that last small part being only relevant for complex things you may not even care about in an indie game. The separation from blueprint and C++ is really meant for larger studios where you'd have a few senior coders that write all the core gameplay logic in C++ and then let the level designers and artists consume that in blueprint, so that there is a separation of workflows based on department and skillset, but as a solo or even a small team that's not really important anyway. And regarding the "you can make it wrong and still be profitable" applies to not just games but all software. I'm a programmer w/ over 25+ years experience and work on HR software and I swear to god if folks saw the code that powered their online banking and 401Ks they'd keep their money in a shoebox, lol
Many will say something can't be done just because they couldn't figure out a way to do it. That's kind of the beautiful thing about programming something so crazy complex like video games.
@@Helthurian this comment show that you have not made a game more complex than the average... Try to program mass AI just with blueprint, program the processor, the mass processor. Once your project become more complex than the average, you will see the limitations of blueprint
Disagree entirely as comments like this will 100% drag new devs into dev hell. Being able to hop in a debugger and trace the game flow from entry to shutdown is so powerful. Sadly blueprints can only scale so far before you enter a stage of dependency issues and bouncing between many blueprints causing confusion. blueprints should fill the gap between logic and visuals. I tend to write systems like pickups in C++ and expose events for designers to hook into and script logic on top. Even if solo I still do this because, at the end of the day, debugging is king and blueprints cannot beat C++.
I love blueprints. It's the only reason I started game dev because raw code never clicked with me. The cool thing is too, I now can read raw code better because of my use of blueprints since the terminology is similar. Glad to see yet another successful dev call out gatekeeping.
This is how I learnt coding for the first time. Learnt gamemaker visual scripting, which slowly turned into coding and now I code. Honestly, I would actually recommend some people who are intimidated by coding to start with visual scripting.
@@azzaamnasir5819 Yep. Started with Game Maker Visual blocks, learned some GML, got a hang of the foundations. Started learning Java and a lot seemed very familiar! Now learning intermediate level Java, and my goal is to become advanced and start C++ by the end of 2024. COME ON GUYS, GET A TASTE OF CODE, there's so many opportunities out there! I'm struggling a bit but we gotta push forward; no turning back when we already started.
Nope. There are objective rights and wrongs. People who say so otherwise have no clue what they're doing and get offended by their lack of skill. Please stay out of programming if you are this type of person.
@@user-og6hl6lv7p But usualy in programing thare are multiple ways of doing it right, and oblivious ways to do things wrong. From my experience its always some kind of trade. You trade your solution between optimalization, code acces, readability, modularity etc. Most of the time you dont have data to choose right solution, and end up guessing. In industry as chaotic as gamedev best solutions rarely exist.
Using Unreal Engine is a good idea, but only if you are making a 3D game. If you are making a 2D game, working in Unreal Engine might feel like fighting windmills. Unity is much more universal in this case.
I wouldn't say this. I'd say Unreal out of the box is not 2D friendly. But there is a free plugin on the marketplace called Paper ZD that makes it more 2D friendly, and some tutorials on it around. That said, it's better for 2.5D games like Octopath Traveler. In fact, Gavin himself made a 2.5D game before Choo Choo Charles called My Paper Smile. I just want to be careful about scaring people away from Unreal engine just because they want to do 2D. It's possible, and there are resources for it. But yes, Unity is better made for 2D games and has more resources. But if you want to make a game, and regular coding is scary, you can do it with Unreal. It will just be a little challenging. Personally, I'd love to see more 2D games with Unreal so that Epic learns there's a market for it, and to build better tools for it.
As a Solo Developer myself who is working on a massive open world farming game, I am sticking with Unity for now, but I do have second thoughts for switching to Unreal after this project mainly because there are a few bottlenecks that I have encountered in Unity... Although Unity has been my bread earner from almost a decade now so it feels like i am doing unfair with the software. Lets see what the future holds.! 🤞
@@dreamcatforgotten8435 there are a few limitations with post processing when i am using multiple cameras and there’s no in built LOD system like in unreal. Although Unity is a BEAST when it comes to mobile and 2D. But for 3D it is sometimes giving me a haard time 😅
@@hamzahgamedev A guy named Chris Kahler(sp) is working on something called Nano Tech for Unity, which will basically be a Nanite-like solution for Unity. I think he plans on selling it as an Asset for 100-200, or so. I'm looking forward to it. As for the Post Processing, I don't have a solution since I typically avoid that kind of stuff unless absolutely necessary.
Wow what a great interview! I could listen to you 2 talk for 3 hours... As a guy who has zero background in game developing and is currently learning UE5, I am so happy to hear that I can do everything in blueprint and C++ is not necessary.
Actually Gavin’s way of texturing was a very legit way back in the day when you had a very limited texture budget. In the ps2 area that technique was a super effective way of ensuring your texture budget didn’t blow up.. and made it easy for models to share textures.
I work as a Senior Tech Artist in the automotive industry and I couldn't agree more. Indie games can entirely be made with Blueprints. In the automotive field there is much to be done by C++ Programmers as they want very specific 3D pipeline related stuff or strange stuff like tracking a cars position to kind of make a Mario Kart VR thingy with realy driving cars but anything that goes into the region of games, we just use Blueprints.
Sure, but if performance matters, doing it in Blueprints will incur a massive performance penalty. I would bet that a large reason why many Unreal games released are running poorly is due to people cutting corners and using Blueprints when they should only be using Blueprints for prototyping and then transferring the code to native C++. If you can't code C++, then I of course understand that it is not possible, but people also have a misconception that Unreal C++ is somehow hard to learn when in reality it is pretty much as easy to learn as C#. Unreal C++ compared to regular C++ is very different, as you don't really need to care about memory management and the syntax resembles C# syntax.
I use about 75% C++ and 25% blueprint and that's mostly because for me C++ is easy, generally easier to make something complicated like a full on system, AI or a playable character, but I also love using blueprint for anything simple like triggering an event, changing music, sound effect and I do all my UI stuff in blueprint, cause for UI is definitely better than C++. Sometimes I even take a peek in the code of a blueprint node to know how to do something in C++. I definitely wont gatekeep on it. As Thomas mentioned, there's always people telling you that what you are doing is wrong and they know THE ONLY RIGHT WAY, but the truth is: there is no right and wrong way, there's only something that works and something that doesn't. The players don't care, they just want a game they enjoy.
Hi, I am considering creating my next project in UE5. The only thing that kept me from UE for now was blueprints. I like writing code. I also know how to code in C++. However since I discovered shader graphs in Unity,I have to admit that visual scripting can be very efficient. That being said I still don't want to rely 100% on blueprints, as this guy did. May I ask how you deal with looking up stuff for UE, because most of the time, the tutorials are for blueprints?
@@narmjep5674 Like I said up there, I do the majority of the coding in C++ and pretty much everything can be done in both C++ and blueprint. I generally chose based on how easy it is to do it one way or the other. I use blueprint generally when it involves a lot of reference to specific assets / objects, so generally to trigger level design events, sound or UI, since they are specific things and not systems. And C++ when it involves a lot of code, with states, variables and specially when it involves a lot of mathematics. I had experience with other engines and with C++ prior using Unreal. So I first bough a Udemy "C++ in Unreal" course and followed a portion of it until I knew the basics. Then I... often just look at the code really. It's an option when you install Unreal that I STRONGLY suggest doing if you plan on doing any C++: download Unreal's source code as well, way easier to debug and you can just look the code to see what exists. Also since 99% of the code can be done either in C++ or blueprint, following a blueprint tutorial will still teach you what to do. You can right click on blueprint nodes and open the C++ code directly from the node, so you can see what's the code under the hood to know how to do it in C++. Blueprint is not some black magic shenanigan, it's just visual scripting calling a C++ function. With the source code, you can just look at said C++ code. People bash Unreal's documentation and in good part because... it's autogenerated from comments in the code, BUT it also means that the doc is basically directly in the code. I often just wander in header files, searching for what I want.
@@narmjep5674 A lot of the functions share the same names so a good way to get started with that would be to transfer an existing Blueprint class to C++. I think there's a mini class on it in the Epic learning services or it might be on UA-cam.
@@narmjep5674 Shaders are materials. They have their own set of nodes for their blueprints. But you can write custom expressions or even full HLSL code with a plugin if you want. Very flexible. As for general blueprint use, you can and should always have a blueprint even if it's empty. I create a C++ base class and parent the Blueprint to it. So the Blueprint can have access to everything available in C++. There's a menu to create these C++ classes for you (and any unreal C++ class really). Going the other way is usually done by defining a function in C++, but implemented in the Blueprint. This lets you call BP functions from C++. What I often do is prototype in a blueprint. And if it's good or starts to get too unwieldy, I just write a function in C++ that the blueprint can call if necessary. Inheritance is BP->My C++ class->Engine base class. You can reparent a BP anytime. So you can create a blueprint first and add a C++ base class later if you need/want C++. To look stuff up, there's online docs and the UE forums are great if you ask your question clearly with enough information. There are people at all hours of the day just waiting to help people. There is also discord if you need more immediate help, but you need to be a bit persistent. If you go with Unreal, first thing to learn is what is an actor and a component. You can't use Unreal if you don't know what those two things are in Unreal. They're simple, but you need to make sure you know them. Then learn the difference between Actor, Pawn and Character. There's a running joke that when you find out, please let us know :) There is a difference, but some parts aren't always clear.
Very much appreciate the sentiment of it's about progress not perfection. I often get paralyzed by the idea of doing something the "right way" when in reality it's more about the final result. It's also nice to hear devs being open about knowing they do something the "wrong way". One last thing I would like to highlight is the reality that you can build a game solo. Talk to any AAA dev and they are gonna shoot down your dreams, but content like this reminds people like me that it is not only possible but has been done many times. Thanks for making this video!
The number one reason most people say to use C++ over BPs is the claim that BP is slower. While that may be true, it's also a premature optimization thing, and in most cases the what actually slows a game down has nothing to do with the BP anyway, it's the objects in a scene or lighting. C++ isn't fixing that. But it's still the default answer for most people, and they just can't find a way to get off it.
@@evvveeeeeeeeYeah and to the point made in the video most indie devs won't be making something so complex where C++ is going to make a huge difference compared to other optimization.
I always had this notion that while u could do most of the things in blueprints it might not be as optimised as raw code so I thought that for higher level of optimisation Devs would still go to c++
I mean, if it boils down to programming there is basically just a bunch of different ways to do the same thing. The thing that matters is what the side effects are of doing it the way you did as some are faster, some are easier to read, some merge in with other code better. and so on and so on
5:42 Thomas is right, you should listen to the people who've done it. Hundreds of developers have used C++ to build their games in Unreal. *Gavin* is actually the special one, capable of doing it all in Blueprint. I very rarely see people in the forums stating that x/y/z can't be done in blueprints. Though, whenever someone asks about building a multiplayer game, the answer is inevitably going to involve C++.
I wouldn't say that, C++ network coding is not very safe. Mess things up and you can end up putting in a memory error, and all of a sudden hackers are installing ransomware on your customer's PCs using your matchmaking system. C# is safer, and better suited for networking, since the signal is traveling through kilometers of wire, the small performance benefits of C++ don't really contribute significantly.
@@ShadoFXPerinolol bro, the biggest most successful games ever made are in C++. Also hackers can get into any network and alter client experiences via mods and ransomware. The language the game was written in even for the backend code has nothing to do with the security, it all comes down to the failsafes created by the developers to encrypt client connections to the servers and confuse anybody who is trying to breach the network.
@@ShadoFXPerinoalso a signal traveling through kilometers of wires is safer than what? Signals traveling through wires can be intercepted physically, that's why they twist the metal strands inside the casing of ethernet cables so people can't get clear data from them
Depends on the multiplayer project. If its something akin to lethal company and "primitive" it can be done without any major issues. If you're talking AA sized games utilizing data stores the clients have to pull from then yeah.
This is a perfect example on why you should work on having you game out there and not stress too much on making it in the perfect way and worrying about the small stuff. Learn from the project and do it better on the next one, as this perfectly exemplifies that you can be successful while doing things in a less than optimal way. Thanks for the wisdom, great video!
The attitude is a whole vibe. I love how you're encouraging people to get away from whatever the cult is saying and just focus on progress. Did you move forward? You did! Great, keep moving, the learning comes for free during the ride.
Great stuff about gatekeeping. The amount of things I’ve done where people have said ”you can’t do it”. People really need to understand how filled the internet is with people who try to drag you down or make you discouraged.
I would love to have used Unreal Engine. But that Engine is so massive. It takes several gigabytes and sort of clogs my computer up. I even asked the Unreal Engine developers to make a condensed version of their engine and they said that they might do it. As of now, I use Godot which takes up megabytes instead of gigabytes. Thus, as of now, Godot has less strain on my computer.
Godot's also better for 2D. The problem is with it's 3D pipeline though (and I'm saying it as an avid fan of the engine). Godot's 3D is.. lacking? As of now, it doesn't even offer a good real time global illumination solution. I'm probably bad at optimization, but Godot doesn't seem suited for big, open world games, like Gavin here was making. The lack of a marketplace/asset store that's deeply integrated into the engine doesn't help. Yeah there's the asset browser, but it lack the potential of something like Unreal's marketplace Unreal Engine is also just really pretty
Unfortunately, we'll never be able to make a massive game like V Rising with Godot, because it doesn't have DOTS technology. But it's very lightweight for mobile and 2D games
Godot is the 2D engine to recommend, in my opinion. Its capabilities in 3D are not lacking - Unreal is simply a solid generation ahead of it. Its not so much that Godot is bad at 3D - its probably a good engine for VR, where graphics capabilities are not that important, since your target device is not that capable anyway. And at that point, it provides the unique and intuitive node system, that makes its general development flow easier than Unreal. So 2D and VR: Godot, and standard 3D goes to Unreal.
More on Unreal seeming complex: there is a lot of systems in it that facilitate creation of big games with fancy graphics with good performance. Stuff like texture streaming, TAA/TSR settings, HLODs, PSO caching are all optional and not required. If you're making a small game by yourself, you won't need to touch most of those systems. Default settings for most systems are fine for vast majority of cases. For a beginner, Blueprints and Material basics is all you need to get something running and that's already going to be a huge step towards a finished project!
The gatekeepers nearly stopped me from building the game I have wanted to for quite a while. So glad I found this video when I did, I was very close to making the wrong decision. Great video thank you 💗
I always struggling with the textures and substances and apply them on a object I've done. Hearing you talking about how your train was done, wow, I will definitely try again! Thank you!
You just need to take it one tool at a time. Unreal has a ton of tools right from initial install, but you don't need to acknowledge them all right out of the gate.
Unity has the best pricing even after that drama. 2.5 % is nothing if I own a half Million. I will not learn a new engine which requires RTX 3070 and High end processor. So, for mobile and low end hardware you will have to use a decent engine for your indie title. BTW I'm also planning to learn Flax Engine.
Blueprints are an awesome way to learn programming. Because programming and syntax, are different things. I always struggled with coding, but when I learned blueprints I understood the logic behind programming without having to worry about the syntax. Now I'm learning C# and it's so much easier because I can focus on the syntax exclusively. What matters is that you learn math, no matter if you use visual scripting or blueprints. Knowing trigonometry and linear algebra will get you a long way.
The fact that Thomas didn’t know about splines is an example of the many legs-up that Unreal has over Unity. Unreal splines are super easy and intuitive to use. Unity just last year finally released a spline package and the UX is pretty awful.
we use splines ALOT in unity for alot of things he most deffo knows what it means ux is self preference clearly coz i really like the minimalistic style of the ui and unity only change i would like is if they made the dark theme more darker and in unity we dont really rely much on the official tools and build our own mostly coz its more customisable that way and less bloated i have used both unreal and unity if u want you could check what ive done in my channel though those are js small prototypes and havent been working on something big lately coz of a broken laptop and school
@@upsurge5541 I mean when it works it works, but if you just look at it the wrong way it will start throwing errors and be a pain in the ass. The splines are pretty difficult to edit sometimes and the node positions being offsets relative to the GameObject can make them hard to move, as the transform gizmo is all over the place.
Literally the same thing with audio engineering. I started self teaching 4 years ago and just recently got to a point where I can make a jump doing it full-time. And that whole journey consisted of me listening to only a few people who actually do it full-time while filtering out all the others who think they know what they’re talking about but don’t actually do it. Lately, I’ve been debating game development too since games are another passion of mine. I feel like this would be a good time to get in since AAA companies seem to be pissing off a lot of people.
to be fair the way gavin is doing it is a technique called trim sheets. it is very useful for level designs and texturing larger assets. i would 100% recommend people learn how to texture assets like that.
Unreal had been a real beast for me and at this moment I am more focused on the filmaking aspect. But want to do game dev eventually. Very interesting talking points but the barricaded door kept catching my attention 😅.
As a 2D artist and someone learning guitar and game dev people will always try and tell you how they have done it or heard it's meant to be done but that's very limiting to not only your growth but to your creativity. Everyone is different and all our brains are unique what's important is finding the way you remember it and get the outcome YOU want. Could there be a more "ideal" way to do something sure but there is no point stressing over it till it's perfect because that's a double-edged sword you'll spend hours, days, weeks, months or even years sometimes trying to perfect it when in that time you could have made 20 - 30 different things and grown from each of them. You'd be further along then you otherwise would have been. The way that you do things as long as it works for you should be the end goal especially with creative skills having hard set rules or ways to do things often will just make you loath the experience and if you loath the experience why are you even doing it? To much structure and you lack the "soul" in what ever creative thing you are doing. We learn from failure and mistakes if we don't make those mistakes or try to always have the answer feed to us we have no means of actually growing because you have nothing to reflect on which means you'll end up growing far slower or give up
As a small indie game dev, my moto i always go by when programming something is I don't care how I do it, if it works, it works. Really enjoyed this video, it gives a lot of good information about how Unreal works and its Blueprints system.
Wow, it's so funny, today, as a ex-Unity developer I actually launched Unreal Engine for the first time and then this vid edit: I made my first (and kind of only) game also in Unity and only used Visual Scripting for that as well while also thinking i couldn't maybe do everything with Visual Scripting. I did need around 10 lines of C# code tho, but that was for connecting Unity's Online Services (I wanted to make it possible for me to let ppl know in-game, whenever there was an update available for them)
great advices, totally fell in love with that podcast format, that is all i needed. "making progress" is the key here, there is no smart or talented, it is just matter of focus and dedication. as a software engineer i don't like working with blueprints, even if i'm doing it, probably because it feels less controllable. but i definetly see how powerfull they are, and i totally agree with what Gavin said.
I think the c++ gate keeping was a little overblown. There is some functionality that is cut off from blueprint in standard unreal engine. While external plugins might solve that, there are thousands upon thousands of external plugins and you can't expect people to know all of them. Also worth noting that these plugins likely are just porting the functionality from c++ to blueprint, so it is true that it was only doable in c++, someone just did the work for you, which is perfectly acceptable.
They dont describe the technical difficulties as gate keeping. But the attitude of the people, and C++ people do this A LOT, also outside of game development, just in normal computer programming.
One of the big advantages of Unreal to me is that it all comes out of the box. You don't have to look for plugins on the marketplace to complement the engine unless you really want to. Everything you can possibly want for your basic needs as a gamedev comes with the engine. And it's so flexible, even though many people consider it to be hard to learn. Blueprints is a superb system even for programmers, but especially for non-coders. And day by day it becomes more powerful and reliable, it's not just for prototyping, but for releasing entire games (not to say it's perfect, of course). The only way I would not recommend Unreal is if you want to do a 2D or mobile game. After Fortnite it got much better for mobile, but still, it should present some challenges that Unity probably handles better.
Agreed on the blueprint stigma. I develop in blueprint and really enjoy its flow, and generally havent been limited by it at all yet. Theres always a way.
yeah i've started working in unreal at work recently and yeah the majority of the work we're doing is still in blueprints even though we are working on a AA game. THe main things that are in c++ is the networking stuff and the GAS system or just simple base classes to be used as the base for blueprints, which if needed should be simple enough to learn
DAMN! The whole blueprint thing has completely changed my way to aproach the engine. I was always under the impression that as much as I loved Unreal's blueprint system, it was something I could only use on my early days but not by the time I was planning to finish my game. I guess I was wrong not only I could finish the game I planned to make with blueprint but also make it the way I want to with blueprints without feeling like Im cutting potentially good corners and either being forced to learn C++, which for somebody like me that is a bit.... Lets just say.... Codephobic? XD Feels like quite the relief. You two are golden! :3
I have to say, I know people have the misconception that coding is all about writing code, but it's not. 90% the coding process is about thinking about how to structure everything, and it's not trivial. Coding has barely anything to do with learning syntax, but knowing what you can do and how to structure it in a way that allows extensibility, readability and performance. Also, while C++ is indeed a language I don't want to touch ever again since college (and C# is a much better language overall), the version of C++ in Unreal is very different. Being adverse to math or coding, is see it as a sign that someone is advert to being curious, which is never a good thing.
I think it's great that you clearly showed the "mistakes" and still managed it. Sometimes the community is a bit spiteful and it's nice to see that you don't always have to be perfect. I was also a unity developer before but have now switched to unreal and I don't regret it.
I've shipped games as a solo developer (unity) and as a producer (10m downloads, UE 4.27). I personally wouldn't recommend unreal without c++ for 99% of people. Biggest downfall is debugging something complex. If it works, fine. But if you have deeper issues either you learn coding or you are stuck. And debugging with c++ is way harder than c#. The guy from Choo Choo Charles is an outlier (incredibly smart, gifted, great sense of game design), of course you can try to go with UE but it's a road that's not for everyone (tough for non coders). He has the skillset of an artist, producer and designer of the same time. Being good at one is rare already. But it's really inspiring to hear him, guy is a stone cold genius.
i don't think what he did with blender is wrong, smart uv + premade texture in gimp is the classic way and it is so efficient technique, this is was the main texturing way before substance painter, and if it works than its good in my opinion
On the subject of gatekeeping, Unity has several very good and very complete "gamemaker" plugins or modules on the asset store. One of them is called Game Kit Controller that not only makes building a full fledged game of almost any type with no code/low code, it has a lot of things built in such as animations (shooting, melee, etc). For someone who doesnt want to jump right into codig but wants to make games, tools like these are great and not something most engines have.
Im a full stack software engineer and developer (not game dev) for 16 years at this point. I tried getting into both UE4 and UE5 and i can confidently say i absolutely despie Blueprints with a passion. It doesnt make any sense to me when to use what, resources are poor and most "tutorials" are outdated by the time you find them. I understand this is supposed to be visual programming and "easier", but for me its the inverse: I feel 100% lost with Blueprints, even if i get somewhere, i can never figure the next step out. Id much rather prefer C++ programming over Blueprints, if the learning resources for C++ werent even poorer. UE is just kind of removing itsellf off my desk.
I love these talks, especially how they get into the technical details, not just some high level things. I feel like the AAA gaming industry is very secretive, so it's refreshing to see indies spilling the beans. I totally feel your point about some developers gatekeeping, insisting on C++ and hating blueprints. For me, I got into C++ programming because I wanted to make games first and foremost, not because I love C++. It is a means to an end and I'm fine with my C++ code not being the best, most efficient, as long as it's clean, readable and structured. I would use blueprints without hesitation because I love that they are data driven.
Well considering I still have a shitty laptop that can barely run a default unreal template scene at 30fps I'm sticking with unity or godot lol, in fact I was thinking of making my own C based game engine with only the features I need for my game so I can get the most performance
You will either never, or it will take an extremely long time to ship a game with a custom engine. If your goal is to actually make a game you should stick to an already made engine
Good interview but umm lets talk about Gavins God Teir Lock system he has going on in the door in the back ground. He is trying to keep Choo Choo Charles out of his room? WE NEED TO KNOW!
And why should solo developers use Unreal now? Because Gavin did? The interview was nice and all but I don't get why I should use Unreal over any other engine from this video. Splines for example you can use the same way in other engines and I really think you could recreate Choo choo Charles in Godot as well. After all this is just a clickbaity title and there is no right or wrong if it comes to your engine of choice.
I dig this channel but I gave up Unity years ago for Unreal Engine. I still enjoy the channel (obviously), but it was seriously nice to see Unreal Engine getting some love. Gavin also made some fantasic points to shut down some very popular misconceptions about complications of UE, along with showcasing the amazing usability of the blueprints system to get straight into development with no experience or the giant perceived mental cost-of-entry that most people seem to associate with it.
You're great. I've been facing the issue of everyone saying "you can't do that in blueprint" too, and I've always been able to achieve the thing at the end of the day. WISE WORDS!
i KNEW it! i played that game when it came out and LOVED it! When I saw the players train, i knew the textures were hand drawn, he says its an example of doing something wrong, but in all honesty, thats the one charactaristic that truly stuck with me as an artist, its one thing to pick up an asset and flip it onto the market in the indie space, but to take the time to create your own asset, and skin it yourself, high quality or otherwise, thats a personal touch, and i noticed that immediately and i loved it, it gave me bendy and the ink machine vibes but i didnt care because i knew in my core he did it personally. You can make a b-rank game with hand drawn assets from the heart, and ill play the life out of that game and itll feel like a AAA title to me the whole time, an A-rank cookie cutter game thats just been following the trends could release the same day i start playing it and ill stick to it because it has Heart and passion. So my thanks to Gavin for putting his heart into it, you had a vision and you made it happen with a personal touch to it as well! thats true craftsmanship. cheer man!
You have no idea how much this helped/encouraged me. I'm starting my first game soon and have been discouraged by not knowing much. Hearing you guys explain some of the "wrong" ways you did things, but it works makes me feel awesome. "As long as you're making progress" - Thomas Brush 2023
Installed Unreal days ago, my gamedev journey just started :D I also practice to be 2D and especially 3D generalist so i do my assets, animations and co. as well. And yes, C++ is my first language to actually learn as well so good luck to me lol. I might have got my brother as a partner tho but this will be seen in 1,5-2 months. Let the party begin ;)
After 10+ years, there is only 1 thing I know of that you can't do with Blueprints. When deal with AI, the available visual toggles for settings whether an AI is friendly or not does not do anything in Blueprints, because the near-deprecated system that uses those values is only accessible in C++.
Thank you !!!! Thank you very much .... I wasnt born in english speaking country( I think that my biggest problem), and allready 2 years im working on my game in UE5. And I ALLWAYS come to situacion where all peoples on all chats and forums saying its imposible just with blueprint or just with blender or just with free assets and than all tutorials are to much complex with not good results .... and ALLWAYS I just stacked for couple months until i find way how to make this or that ( first half year with blender was for me really pain ) . And this ten minutes with someone who allready made something gave me more than last 100 hours of tutorials !!!! THANK YOU VERY MUCH BOTH !!!!
One thing to remember guys, some times the wrong way (even if it works), isn't the best and most productive way. I have friends that's studying game design with me who mostly use the wrong practices. I tend to stick to the 'correct usages' as far as I can (like 75%) and my games usually has much less bugs, doesn't take as much time as their stuff, etc. So yeah, sure, you can do whatever you want, but there are always more productive, less time consuming ways of doing things. Anyway, great video!
The fact he said to use a uv map in photoshop literally answered a question I had for the previous video I watched from him ahahah good stuff I will continue to use photoshop
If I had to take one thing I learned from this video is to always do things that u feel comfortable doing it in even if others think it’s wrong if it works for u keep doing that and find ways to improve that method because who knows maybe eventually it will become the best method
I jumped onto Unreal with the same idea, C++ is the correct way and BP can only do certain things. But after getting experienced with both C++ and Unreal, I think the ideal way to use it is actually using both. C++ for anything that really requires it, like base systems, heavy computing, etc and BP for the implementations and anything that is a one off thing. For example, I've built an Utility AI system for my game entirely in C++ but it's actually used via BPs, where you create tasks, NPC behavior presets, etc. Same with an ability system I've built. Both are easy to work with because each task or ability is made in BP and since the core systems are in C++, you don't really get spaghetti BPs.
One thing I’ve heard on two different teams as a dev is “I wouldn’t have done it that way”. That annoys the crap out of me. It works every time and even runs quicker than what they have. Point being there is no “right” or “wrong” way if it works. Sometimes there are more efficient ways or easier ways to achieve the same thing, but that doesn’t discredit the way someone else writes a block of code or handles textures and models. If everyone did things the same way then when they come across a problem they can’t solve no one would be able to solve it.
For the record guys, I'm sticking with Unity! But it's good to know the reasons why Unreal can be used as well!
► Get 50% off Full Time Game Dev during the Black Friday sale: www.fulltimegamedev.com/full-time-game-black-friday
► Learn how to become a full time game dev, free: www.fulltimegamedev.com/opt-in-how-to-make-six-figures
► Enroll in my 3D workshop, free!: www.fulltimegamedev.com/opt-in-15-minute-3D-game
► Make your game instantly beautiful with my free workbook: www.fulltimegamedev.com/opt-in-instant-beauty-color-workbook
► Get my 2D game kit, free: www.fulltimegamedev.com/opt-in-2D-game-kit
► Join my 2D character workshop, free: www.fulltimegamedev.com/opt-in-2d-character-art-workshop
► Wishlist Twisted Tower: store.steampowered.com/app/1575990/Twisted_Tower/
► Learn how to make money as a UA-camr: www.fulltimegamedev.com/opt-in-indie-game-income-workshop
this is 100% random, watch the indie show bigtop burger made by worthikids DO IT!
you add in a bunch of 3rd party addons to unity and its pretty darn close to unreal.. especially for a solo dev. with Unity 6 when they fix alot of the issues with performance with the meshes, it will be even closer... at the end of the day, its not "Unity" thats stopping you from making money, (like being on Unreal would fix it). its your own effort / talent / skill, you can make a good game on both platforms...
Agreed.
I'm always telling people there's hundreds of ways to code a simple movement controller
No one developer does it the same way.
So go learn your way and save it as a script or blueprint and keep updating it as you learn
Eventually you'll have a game you can import and reskin and resell
Id say that purely for 2D the best thing to go with would be Godot
Hey, I wanted to know your thoughts on Godot too? Seems like an up and comer.
Bro really doesn't want what's behind that door to get out.
He's keeping his darker side in there. 🤣
Thats wherre he keeps the people that say "thats impossible to do in blueprint"
Chu chu Charles is in there.
@@insomniacgr1 Chu Chu Charles sounds like the evil version of Thomas the Tank Engine NGL
He should have sealed that door with C++.
Did anyone notice how many locks Gavin has on the door?
Yeah wtf?
Meant to be a joke from the Dev logs, but it wasn't funny from the start tbh.
First thing I noticed. It’s like someone is out to get him. Probably the folks at Unity. Their decision making hasn’t been the best of late… 😅
yeah i think charles is after him
I thought it was a Silent Hill 4: The Room reference 😅
As a struggling indie dev, I like how you mention that there's a million ways to do something, and that even though you're making it "wrong", if it works, then it works. The end user doesn't care as long as they're not lagging or suffering.
Edit: this is getting misconstrued as supporting bad practice in programming, but that's not what I'm talking about. All I'm saying is that it's ok to not be 100% conventional all of the time as long as you're doing so responsibly.
Bethesda built an empire on borked games. As long as the player is satisfied the game is good.
Totally agree. While making my game (real small, nothing crazy), I kept thinking "Am I making this the most efficient way?"
And then I thought "No. But they don't know that."
Undertale is the best example I can think of for this.
Just stick to the trusted and true phrase: "If its stupid but it works it ain't stupid."
Obviously if you do somtheing differently than everybody recommends and it does not work you have every right to be called stupid.....
@@Quixoticrow Excuse me, I am not satisfied with Starfield or Bethesda games since Skyrim.
6:14 "You can make a game wrong and it be profitable"
AAA games: Yes
EA liked that.
making a game wrong only matters when you need to fix a bug or it is a live service.
if you dont touch it after release who cares what it looks like
FIFA: YES
Ubiaoft: **coughs** **leaves**
EA was the first to like his comment they sensed this comment the moment it was posted
Gavens "wrong" way of texturing is not as wrong as it seems. He did something quite similar to trimsheets, which are commonly used by AAA studios for texturing models like buildings etc.
Exactly, if you're using trim sheets or tileable textures it's common to adapt the UV to the texture since the texture is reusable across many models.
Agreed, this is a totally valid workflow. Uniquely unwrapping and texturing every prop in a game causes texture memory issues more than trimsheet workflows. Which is why I personally prefer the latter.
Yeah idk why this guy thought it was ridiculous. Vfx artists do that all day everyday for photogrammetry.
wtf is with his door ?
I think cho cho Charles is on the other side
@@MatiasFatiasnot gonna say it IS the meths but deff not gonna say it ISN’T the meths either 😂💀
It's probably a joke. He is a horror game dev, I'd be surprised if he didn't pull something like that.
He’s keeping the IRS out of his room 😂
It's how he finished the game lol
I’m a new solo game dev using ue5. Started about a week ago. Already have a player controller, basic hit detection and combat animations for the player. I have a map and new sky boxes. I also just got the beginnings of some NPCs working. And this is just within a week starting with zero prior knowledge. It’s easy to learn if you are willing to fix something 200times before it works the right way!
How you doin now its been almost 3 weeks
@@twdmoments-zd2qx good. Things have been slow bc I started college again but I’m still working on it. I have basic npcs now and a health system. I’m working on the combat and damage system rn. The game will never release for money it’s just a fun thing for me to work on but if I ever post it for free I will post here and lyk!
@@thewhyyyguy6274 thats pretty nice bro what kind lf game you are creating?
@@twdmoments-zd2qx it’s like a third person action adventure game. I’m focusing heavily on getting the game mechanics and hard code to be as good as possible because I really start to nail down the more in depth game design
@@thewhyyyguy6274 thats nice update me
On the gaming front I too have found that blueprints can do pretty much everything, maybe like 95%-99% of all the things you care about with that last small part being only relevant for complex things you may not even care about in an indie game. The separation from blueprint and C++ is really meant for larger studios where you'd have a few senior coders that write all the core gameplay logic in C++ and then let the level designers and artists consume that in blueprint, so that there is a separation of workflows based on department and skillset, but as a solo or even a small team that's not really important anyway.
And regarding the "you can make it wrong and still be profitable" applies to not just games but all software. I'm a programmer w/ over 25+ years experience and work on HR software and I swear to god if folks saw the code that powered their online banking and 401Ks they'd keep their money in a shoebox, lol
Trust me, there are many things you can not do with blueprint, this is why I switched my project from blueprint to C++ because I saw the limitations
Many will say something can't be done just because they couldn't figure out a way to do it. That's kind of the beautiful thing about programming something so crazy complex like video games.
@@joantonio6331Such as?
@@Helthurian this comment show that you have not made a game more complex than the average... Try to program mass AI just with blueprint, program the processor, the mass processor. Once your project become more complex than the average, you will see the limitations of blueprint
Disagree entirely as comments like this will 100% drag new devs into dev hell. Being able to hop in a debugger and trace the game flow from entry to shutdown is so powerful. Sadly blueprints can only scale so far before you enter a stage of dependency issues and bouncing between many blueprints causing confusion.
blueprints should fill the gap between logic and visuals. I tend to write systems like pickups in C++ and expose events for designers to hook into and script logic on top. Even if solo I still do this because, at the end of the day, debugging is king and blueprints cannot beat C++.
I love blueprints. It's the only reason I started game dev because raw code never clicked with me. The cool thing is too, I now can read raw code better because of my use of blueprints since the terminology is similar. Glad to see yet another successful dev call out gatekeeping.
This is how I learnt coding for the first time. Learnt gamemaker visual scripting, which slowly turned into coding and now I code. Honestly, I would actually recommend some people who are intimidated by coding to start with visual scripting.
@@azzaamnasir5819 Yep. Started with Game Maker Visual blocks, learned some GML, got a hang of the foundations. Started learning Java and a lot seemed very familiar! Now learning intermediate level Java, and my goal is to become advanced and start C++ by the end of 2024. COME ON GUYS, GET A TASTE OF CODE, there's so many opportunities out there! I'm struggling a bit but we gotta push forward; no turning back when we already started.
Bro has 40 locks on his door behind him LMFAO what the heck
its the door to his haunted basement lmao
Bro living in granny house
that's where the eggs are
2:53 that door behind him tho… Gavin knows/has seen things he shouldn’t…
was wondering why no one was mentioning that lol
The real chochoo charles😢
1000% agree on the gatekeeping "what's right/wrong" discussion!
You see it all over these comments LOL
which is then followed by them gatekeeping how to texture things. hilarious
Nope. There are objective rights and wrongs. People who say so otherwise have no clue what they're doing and get offended by their lack of skill. Please stay out of programming if you are this type of person.
@@user-og6hl6lv7p But usualy in programing thare are multiple ways of doing it right, and oblivious ways to do things wrong.
From my experience its always some kind of trade. You trade your solution between optimalization, code acces, readability, modularity etc.
Most of the time you dont have data to choose right solution, and end up guessing.
In industry as chaotic as gamedev best solutions rarely exist.
Thanks for your input, Xem!
Using Unreal Engine is a good idea, but only if you are making a 3D game. If you are making a 2D game, working in Unreal Engine might feel like fighting windmills. Unity is much more universal in this case.
Not really, you can use paper 2D plugin for making 2D games ua-cam.com/video/TBpbGaEERI0/v-deo.html
I wouldn't say this. I'd say Unreal out of the box is not 2D friendly. But there is a free plugin on the marketplace called Paper ZD that makes it more 2D friendly, and some tutorials on it around. That said, it's better for 2.5D games like Octopath Traveler. In fact, Gavin himself made a 2.5D game before Choo Choo Charles called My Paper Smile.
I just want to be careful about scaring people away from Unreal engine just because they want to do 2D. It's possible, and there are resources for it. But yes, Unity is better made for 2D games and has more resources.
But if you want to make a game, and regular coding is scary, you can do it with Unreal. It will just be a little challenging.
Personally, I'd love to see more 2D games with Unreal so that Epic learns there's a market for it, and to build better tools for it.
It still works, an engine is more than it's graphics. Making 2D in Unreal still allows you to use everything else that doesnt relate to 2D/3D.
Wasn’t there a plugin for 2d in unreal?
Or Godot and gamemaker.
My guy Gavin never plans on leaving his house ever again. 😅True dev.
As a Solo Developer myself who is working on a massive open world farming game, I am sticking with Unity for now, but I do have second thoughts for switching to Unreal after this project mainly because there are a few bottlenecks that I have encountered in Unity... Although Unity has been my bread earner from almost a decade now so it feels like i am doing unfair with the software. Lets see what the future holds.! 🤞
What bottlenecks, specifically?
Have you considered DOTS (ECS, Jobs and/or Burst Systems?)
I have decided to use both Unity and Unreal. I am now learning Unreal Engine.
@@dreamcatforgotten8435 there are a few limitations with post processing when i am using multiple cameras and there’s no in built LOD system like in unreal. Although Unity is a BEAST when it comes to mobile and 2D. But for 3D it is sometimes giving me a haard time 😅
@@hamzahgamedev A guy named Chris Kahler(sp) is working on something called Nano Tech for Unity, which will basically be a Nanite-like solution for Unity. I think he plans on selling it as an Asset for 100-200, or so. I'm looking forward to it.
As for the Post Processing, I don't have a solution since I typically avoid that kind of stuff unless absolutely necessary.
@@dreamcatforgotten8435 hmm, i know him from his cloth physics asset. Didn’t knew anything about nanite, i will definitely give it a look. Thank you 🙏
what da hell is in his door
For real 😂😂😂
Wow what a great interview! I could listen to you 2 talk for 3 hours... As a guy who has zero background in game developing and is currently learning UE5, I am so happy to hear that I can do everything in blueprint and C++ is not necessary.
Blueprints only become a problem with incredibly complex things like mass AI but those things are usually things large companies deal with, not Indie.
Actually Gavin’s way of texturing was a very legit way back in the day when you had a very limited texture budget. In the ps2 area that technique was a super effective way of ensuring your texture budget didn’t blow up.. and made it easy for models to share textures.
I work as a Senior Tech Artist in the automotive industry and I couldn't agree more. Indie games can entirely be made with Blueprints. In the automotive field there is much to be done by C++ Programmers as they want very specific 3D pipeline related stuff or strange stuff like tracking a cars position to kind of make a Mario Kart VR thingy with realy driving cars but anything that goes into the region of games, we just use Blueprints.
Sure, but if performance matters, doing it in Blueprints will incur a massive performance penalty. I would bet that a large reason why many Unreal games released are running poorly is due to people cutting corners and using Blueprints when they should only be using Blueprints for prototyping and then transferring the code to native C++. If you can't code C++, then I of course understand that it is not possible, but people also have a misconception that Unreal C++ is somehow hard to learn when in reality it is pretty much as easy to learn as C#. Unreal C++ compared to regular C++ is very different, as you don't really need to care about memory management and the syntax resembles C# syntax.
I use about 75% C++ and 25% blueprint and that's mostly because for me C++ is easy, generally easier to make something complicated like a full on system, AI or a playable character, but I also love using blueprint for anything simple like triggering an event, changing music, sound effect and I do all my UI stuff in blueprint, cause for UI is definitely better than C++. Sometimes I even take a peek in the code of a blueprint node to know how to do something in C++.
I definitely wont gatekeep on it. As Thomas mentioned, there's always people telling you that what you are doing is wrong and they know THE ONLY RIGHT WAY, but the truth is: there is no right and wrong way, there's only something that works and something that doesn't. The players don't care, they just want a game they enjoy.
Hi, I am considering creating my next project in UE5. The only thing that kept me from UE for now was blueprints. I like writing code. I also know how to code in C++. However since I discovered shader graphs in Unity,I have to admit that visual scripting can be very efficient. That being said I still don't want to rely 100% on blueprints, as this guy did. May I ask how you deal with looking up stuff for UE, because most of the time, the tutorials are for blueprints?
@@narmjep5674 Like I said up there, I do the majority of the coding in C++ and pretty much everything can be done in both C++ and blueprint. I generally chose based on how easy it is to do it one way or the other. I use blueprint generally when it involves a lot of reference to specific assets / objects, so generally to trigger level design events, sound or UI, since they are specific things and not systems. And C++ when it involves a lot of code, with states, variables and specially when it involves a lot of mathematics.
I had experience with other engines and with C++ prior using Unreal. So I first bough a Udemy "C++ in Unreal" course and followed a portion of it until I knew the basics. Then I... often just look at the code really. It's an option when you install Unreal that I STRONGLY suggest doing if you plan on doing any C++: download Unreal's source code as well, way easier to debug and you can just look the code to see what exists.
Also since 99% of the code can be done either in C++ or blueprint, following a blueprint tutorial will still teach you what to do. You can right click on blueprint nodes and open the C++ code directly from the node, so you can see what's the code under the hood to know how to do it in C++. Blueprint is not some black magic shenanigan, it's just visual scripting calling a C++ function. With the source code, you can just look at said C++ code.
People bash Unreal's documentation and in good part because... it's autogenerated from comments in the code, BUT it also means that the doc is basically directly in the code. I often just wander in header files, searching for what I want.
@@narmjep5674 A lot of the functions share the same names so a good way to get started with that would be to transfer an existing Blueprint class to C++. I think there's a mini class on it in the Epic learning services or it might be on UA-cam.
@@narmjep5674 Shaders are materials. They have their own set of nodes for their blueprints. But you can write custom expressions or even full HLSL code with a plugin if you want. Very flexible. As for general blueprint use, you can and should always have a blueprint even if it's empty. I create a C++ base class and parent the Blueprint to it. So the Blueprint can have access to everything available in C++. There's a menu to create these C++ classes for you (and any unreal C++ class really). Going the other way is usually done by defining a function in C++, but implemented in the Blueprint. This lets you call BP functions from C++.
What I often do is prototype in a blueprint. And if it's good or starts to get too unwieldy, I just write a function in C++ that the blueprint can call if necessary.
Inheritance is BP->My C++ class->Engine base class.
You can reparent a BP anytime. So you can create a blueprint first and add a C++ base class later if you need/want C++.
To look stuff up, there's online docs and the UE forums are great if you ask your question clearly with enough information. There are people at all hours of the day just waiting to help people. There is also discord if you need more immediate help, but you need to be a bit persistent.
If you go with Unreal, first thing to learn is what is an actor and a component. You can't use Unreal if you don't know what those two things are in Unreal. They're simple, but you need to make sure you know them. Then learn the difference between Actor, Pawn and Character. There's a running joke that when you find out, please let us know :) There is a difference, but some parts aren't always clear.
Very much appreciate the sentiment of it's about progress not perfection. I often get paralyzed by the idea of doing something the "right way" when in reality it's more about the final result. It's also nice to hear devs being open about knowing they do something the "wrong way". One last thing I would like to highlight is the reality that you can build a game solo. Talk to any AAA dev and they are gonna shoot down your dreams, but content like this reminds people like me that it is not only possible but has been done many times. Thanks for making this video!
The number one reason most people say to use C++ over BPs is the claim that BP is slower. While that may be true, it's also a premature optimization thing, and in most cases the what actually slows a game down has nothing to do with the BP anyway, it's the objects in a scene or lighting. C++ isn't fixing that.
But it's still the default answer for most people, and they just can't find a way to get off it.
@@evvveeeeeeeeYeah and to the point made in the video most indie devs won't be making something so complex where C++ is going to make a huge difference compared to other optimization.
@@Helthurian I think the point more was “understand the line drawn on what C++ benefits you have and what benefits BP have”
@@evvveeeeeeee I meant Thomas's interview. I could have worded that better. :)
I always had this notion that while u could do most of the things in blueprints it might not be as optimised as raw code so I thought that for higher level of optimisation Devs would still go to c++
"pick something and move forward" that the kind of thing you should always have in mind in any situations
yep
Bro has easter egg behind his door. You need to keys to open, but be hold for boss fight.
Gavin's door looks like he's anticipating Choo Choo Charles.
I mean, if it boils down to programming there is basically just a bunch of different ways to do the same thing. The thing that matters is what the side effects are of doing it the way you did as some are faster, some are easier to read, some merge in with other code better. and so on and so on
5:42 Thomas is right, you should listen to the people who've done it.
Hundreds of developers have used C++ to build their games in Unreal. *Gavin* is actually the special one, capable of doing it all in Blueprint. I very rarely see people in the forums stating that x/y/z can't be done in blueprints. Though, whenever someone asks about building a multiplayer game, the answer is inevitably going to involve C++.
I wouldn't say that, C++ network coding is not very safe. Mess things up and you can end up putting in a memory error, and all of a sudden hackers are installing ransomware on your customer's PCs using your matchmaking system. C# is safer, and better suited for networking, since the signal is traveling through kilometers of wire, the small performance benefits of C++ don't really contribute significantly.
@@ShadoFXPerinowhat are you talking about?
@@ShadoFXPerinolol bro, the biggest most successful games ever made are in C++. Also hackers can get into any network and alter client experiences via mods and ransomware. The language the game was written in even for the backend code has nothing to do with the security, it all comes down to the failsafes created by the developers to encrypt client connections to the servers and confuse anybody who is trying to breach the network.
@@ShadoFXPerinoalso a signal traveling through kilometers of wires is safer than what? Signals traveling through wires can be intercepted physically, that's why they twist the metal strands inside the casing of ethernet cables so people can't get clear data from them
Depends on the multiplayer project. If its something akin to lethal company and "primitive" it can be done without any major issues. If you're talking AA sized games utilizing data stores the clients have to pull from then yeah.
This is a perfect example on why you should work on having you game out there and not stress too much on making it in the perfect way and worrying about the small stuff.
Learn from the project and do it better on the next one, as this perfectly exemplifies that you can be successful while doing things in a less than optimal way.
Thanks for the wisdom, great video!
The attitude is a whole vibe. I love how you're encouraging people to get away from whatever the cult is saying and just focus on progress. Did you move forward? You did! Great, keep moving, the learning comes for free during the ride.
Amen! So true
"As long as you feel good, you're program can't possibly be slow!"
Massive, massive, massive cope right there.
@@user-og6hl6lv7pas long as you have an actual product, I don’t think it matters too much
Great stuff about gatekeeping. The amount of things I’ve done where people have said ”you can’t do it”. People really need to understand how filled the internet is with people who try to drag you down or make you discouraged.
I would love to have used Unreal Engine. But that Engine is so massive. It takes several gigabytes and sort of clogs my computer up. I even asked the Unreal Engine developers to make a condensed version of their engine and they said that they might do it. As of now, I use Godot which takes up megabytes instead of gigabytes. Thus, as of now, Godot has less strain on my computer.
Godot's also better for 2D. The problem is with it's 3D pipeline though (and I'm saying it as an avid fan of the engine). Godot's 3D is.. lacking? As of now, it doesn't even offer a good real time global illumination solution. I'm probably bad at optimization, but Godot doesn't seem suited for big, open world games, like Gavin here was making. The lack of a marketplace/asset store that's deeply integrated into the engine doesn't help. Yeah there's the asset browser, but it lack the potential of something like Unreal's marketplace
Unreal Engine is also just really pretty
Unfortunately, we'll never be able to make a massive game like V Rising with Godot, because it doesn't have DOTS technology. But it's very lightweight for mobile and 2D games
@@absentspaghetti4527 Don't they have VoxelGI and SDFGI? Do they both suck?
@@megac0ffeeno they are fine. Godot has some rough edges but gi is not one of them imo
Godot is the 2D engine to recommend, in my opinion.
Its capabilities in 3D are not lacking - Unreal is simply a solid generation ahead of it.
Its not so much that Godot is bad at 3D - its probably a good engine for VR, where graphics capabilities are not that important, since your target device is not that capable anyway.
And at that point, it provides the unique and intuitive node system, that makes its general development flow easier than Unreal.
So 2D and VR: Godot, and standard 3D goes to Unreal.
More on Unreal seeming complex: there is a lot of systems in it that facilitate creation of big games with fancy graphics with good performance.
Stuff like texture streaming, TAA/TSR settings, HLODs, PSO caching are all optional and not required.
If you're making a small game by yourself, you won't need to touch most of those systems. Default settings for most systems are fine for vast majority of cases. For a beginner, Blueprints and Material basics is all you need to get something running and that's already going to be a huge step towards a finished project!
The gatekeepers nearly stopped me from building the game I have wanted to for quite a while. So glad I found this video when I did, I was very close to making the wrong decision. Great video thank you 💗
I always struggling with the textures and substances and apply them on a object I've done. Hearing you talking about how your train was done, wow, I will definitely try again! Thank you!
If you're familiar with Unity, Unreal's UI and logic is making it very hard to get use to. That's why I stick with Unity atm.
Yeah me too dude
just dont become familiar with them take 40% of your profits ;)
you mean 2.5% of profit over a million dollars a year, which is still less than Unreal. Not 40%. gtfo with that ignorance.
You just need to take it one tool at a time. Unreal has a ton of tools right from initial install, but you don't need to acknowledge them all right out of the gate.
Unity has the best pricing even after that drama. 2.5 % is nothing if I own a half Million. I will not learn a new engine which requires RTX 3070 and High end processor. So, for mobile and low end hardware you will have to use a decent engine for your indie title. BTW I'm also planning to learn Flax Engine.
Blueprints are an awesome way to learn programming. Because programming and syntax, are different things. I always struggled with coding, but when I learned blueprints I understood the logic behind programming without having to worry about the syntax. Now I'm learning C# and it's so much easier because I can focus on the syntax exclusively. What matters is that you learn math, no matter if you use visual scripting or blueprints. Knowing trigonometry and linear algebra will get you a long way.
The fact that Thomas didn’t know about splines is an example of the many legs-up that Unreal has over Unity. Unreal splines are super easy and intuitive to use. Unity just last year finally released a spline package and the UX is pretty awful.
He probably knew but was asking for the benefit of the audience
we use splines ALOT in unity for alot of things he most deffo knows what it means ux is self preference clearly coz i really like the minimalistic style of the ui and unity only change i would like is if they made the dark theme more darker and in unity we dont really rely much on the official tools and build our own mostly coz its more customisable that way and less bloated i have used both unreal and unity if u want you could check what ive done in my channel though those are js small prototypes and havent been working on something big lately coz of a broken laptop and school
at the end its about the developer coz theres nothing i wont be able to do in unreal that i cant in unity and vice versa theres always a way
that's the vibe I got. Often an interview will ask a guest to define a term for the benefit of the audience@@RandomGuyyy
@@upsurge5541 I mean when it works it works, but if you just look at it the wrong way it will start throwing errors and be a pain in the ass. The splines are pretty difficult to edit sometimes and the node positions being offsets relative to the GameObject can make them hard to move, as the transform gizmo is all over the place.
Literally the same thing with audio engineering. I started self teaching 4 years ago and just recently got to a point where I can make a jump doing it full-time. And that whole journey consisted of me listening to only a few people who actually do it full-time while filtering out all the others who think they know what they’re talking about but don’t actually do it. Lately, I’ve been debating game development too since games are another passion of mine. I feel like this would be a good time to get in since AAA companies seem to be pissing off a lot of people.
Already doing it.
Been using Unreal for a month now, never going back to Unity.
Is it unreal lot better i kind think to go to unreal
@@twdmoments-zd2qx For me it's a lot better, blueprints make it so much easier to code, and Unreal was easier to learn personally.
to be fair the way gavin is doing it is a technique called trim sheets. it is very useful for level designs and texturing larger assets. i would 100% recommend people learn how to texture assets like that.
Unreal had been a real beast for me and at this moment I am more focused on the filmaking aspect. But want to do game dev eventually. Very interesting talking points but the barricaded door kept catching my attention 😅.
right? what's up with that?
@@jtms1200 I was waiting for something to burst through.
I love that door!!
Yeah, video about the door pls :)
i was staring on the door behind him the whole video , like for a triple a game you have to do a triple lock door
As a 2D artist and someone learning guitar and game dev people will always try and tell you how they have done it or heard it's meant to be done but that's very limiting to not only your growth but to your creativity. Everyone is different and all our brains are unique what's important is finding the way you remember it and get the outcome YOU want. Could there be a more "ideal" way to do something sure but there is no point stressing over it till it's perfect because that's a double-edged sword you'll spend hours, days, weeks, months or even years sometimes trying to perfect it when in that time you could have made 20 - 30 different things and grown from each of them.
You'd be further along then you otherwise would have been. The way that you do things as long as it works for you should be the end goal especially with creative skills having hard set rules or ways to do things often will just make you loath the experience and if you loath the experience why are you even doing it? To much structure and you lack the "soul" in what ever creative thing you are doing. We learn from failure and mistakes if we don't make those mistakes or try to always have the answer feed to us we have no means of actually growing because you have nothing to reflect on which means you'll end up growing far slower or give up
As a small indie game dev, my moto i always go by when programming something is I don't care how I do it, if it works, it works. Really enjoyed this video, it gives a lot of good information about how Unreal works and its Blueprints system.
Wow, it's so funny, today, as a ex-Unity developer I actually launched Unreal Engine for the first time and then this vid
edit: I made my first (and kind of only) game also in Unity and only used Visual Scripting for that as well while also thinking i couldn't maybe do everything with Visual Scripting. I did need around 10 lines of C# code tho, but that was for connecting Unity's Online Services (I wanted to make it possible for me to let ppl know in-game, whenever there was an update available for them)
great advices, totally fell in love with that podcast format, that is all i needed.
"making progress" is the key here, there is no smart or talented, it is just matter of focus and dedication.
as a software engineer i don't like working with blueprints, even if i'm doing it, probably because it feels less controllable. but i definetly see how powerfull they are, and i totally agree with what Gavin said.
I think the c++ gate keeping was a little overblown.
There is some functionality that is cut off from blueprint in standard unreal engine. While external plugins might solve that, there are thousands upon thousands of external plugins and you can't expect people to know all of them.
Also worth noting that these plugins likely are just porting the functionality from c++ to blueprint, so it is true that it was only doable in c++, someone just did the work for you, which is perfectly acceptable.
They dont describe the technical difficulties as gate keeping.
But the attitude of the people, and C++ people do this A LOT, also outside of game development, just in normal computer programming.
One of the big advantages of Unreal to me is that it all comes out of the box. You don't have to look for plugins on the marketplace to complement the engine unless you really want to. Everything you can possibly want for your basic needs as a gamedev comes with the engine. And it's so flexible, even though many people consider it to be hard to learn. Blueprints is a superb system even for programmers, but especially for non-coders. And day by day it becomes more powerful and reliable, it's not just for prototyping, but for releasing entire games (not to say it's perfect, of course).
The only way I would not recommend Unreal is if you want to do a 2D or mobile game. After Fortnite it got much better for mobile, but still, it should present some challenges that Unity probably handles better.
well this video didnt really explain why i should be using unreal, but it is inspiring to continue pursuing game development
the title is just clickbait, use whatever engine you want
big fan of the videos you two put out together. Speaking nothing but truth! and seeing solo devs succeed like this is very inspiring
Anyone else keep staring at that guys door and all the locks?
It seems Gavin has locked Choo Choo Charles inside the door.
Agreed on the blueprint stigma. I develop in blueprint and really enjoy its flow, and generally havent been limited by it at all yet. Theres always a way.
yeah i've started working in unreal at work recently and yeah the majority of the work we're doing is still in blueprints even though we are working on a AA game. THe main things that are in c++ is the networking stuff and the GAS system or just simple base classes to be used as the base for blueprints, which if needed should be simple enough to learn
@@ShamerGamerJM I have heard that regarding replication.
Keep coping nothing beats programming
Who hurt you broke code bro😂😂😂😂 @@tanura5830
@@tanura5830 If the product sells, who cares.
there's one feature which is the top reason why I'd ever switch, with the free UEVR app it will easily turn almost any Unreal 4 or 5 game into full VR
DAMN! The whole blueprint thing has completely changed my way to aproach the engine. I was always under the impression that as much as I loved Unreal's blueprint system, it was something I could only use on my early days but not by the time I was planning to finish my game. I guess I was wrong not only I could finish the game I planned to make with blueprint but also make it the way I want to with blueprints without feeling like Im cutting potentially good corners and either being forced to learn C++, which for somebody like me that is a bit.... Lets just say.... Codephobic? XD Feels like quite the relief. You two are golden! :3
I have to say, I know people have the misconception that coding is all about writing code, but it's not.
90% the coding process is about thinking about how to structure everything, and it's not trivial. Coding has barely anything to do with learning syntax, but knowing what you can do and how to structure it in a way that allows extensibility, readability and performance.
Also, while C++ is indeed a language I don't want to touch ever again since college (and C# is a much better language overall), the version of C++ in Unreal is very different.
Being adverse to math or coding, is see it as a sign that someone is advert to being curious, which is never a good thing.
I think it's great that you clearly showed the "mistakes" and still managed it. Sometimes the community is a bit spiteful and it's nice to see that you don't always have to be perfect. I was also a unity developer before but have now switched to unreal and I don't regret it.
I've shipped games as a solo developer (unity) and as a producer (10m downloads, UE 4.27). I personally wouldn't recommend unreal without c++ for 99% of people. Biggest downfall is debugging something complex. If it works, fine. But if you have deeper issues either you learn coding or you are stuck. And debugging with c++ is way harder than c#. The guy from Choo Choo Charles is an outlier (incredibly smart, gifted, great sense of game design), of course you can try to go with UE but it's a road that's not for everyone (tough for non coders). He has the skillset of an artist, producer and designer of the same time. Being good at one is rare already. But it's really inspiring to hear him, guy is a stone cold genius.
That was really interesting, but my focus was on that door. Bro must be living in a rough neighbourhood 😂
i don't think what he did with blender is wrong, smart uv + premade texture in gimp is the classic way and it is so efficient technique, this is was the main texturing way before substance painter, and if it works than its good in my opinion
@@karlwest437 yes exactely
as an indie dev, its great to hear im not the only one who just tries to get things to work and not make everything perfect
Bro really charging $1000 for a course? Cmon man..
fr i got a 300 hour java integrated with web course for like 10 bucks
Shit you can probably figure shit out on your own with youtube, the Unreal forums and reddit lol.
Spline meshes are awesome. Also why does his door have so many locks 👀
Why does bro have so many locks on his door 💀💀
On the subject of gatekeeping, Unity has several very good and very complete "gamemaker" plugins or modules on the asset store. One of them is called Game Kit Controller that not only makes building a full fledged game of almost any type with no code/low code, it has a lot of things built in such as animations (shooting, melee, etc). For someone who doesnt want to jump right into codig but wants to make games, tools like these are great and not something most engines have.
Damn bro has 4 locks and 2 boards nailed to the door what kinda shitty neighborhoods are indie devs living in??
6:11 - Now, I noticed his door.
Im a full stack software engineer and developer (not game dev) for 16 years at this point. I tried getting into both UE4 and UE5 and i can confidently say i absolutely despie Blueprints with a passion. It doesnt make any sense to me when to use what, resources are poor and most "tutorials" are outdated by the time you find them. I understand this is supposed to be visual programming and "easier", but for me its the inverse: I feel 100% lost with Blueprints, even if i get somewhere, i can never figure the next step out. Id much rather prefer C++ programming over Blueprints, if the learning resources for C++ werent even poorer. UE is just kind of removing itsellf off my desk.
100% agree. Blueprints is just a spaghetti jumble mess to me. I have yet to find a decent beginner course in unreal that doesn’t use blueprints. 😢
how does he not notice that gavins door is boarded up and has 7 locks on it
What's up with that dudes door?!
I love these talks, especially how they get into the technical details, not just some high level things. I feel like the AAA gaming industry is very secretive, so it's refreshing to see indies spilling the beans.
I totally feel your point about some developers gatekeeping, insisting on C++ and hating blueprints. For me, I got into C++ programming because I wanted to make games first and foremost, not because I love C++. It is a means to an end and I'm fine with my C++ code not being the best, most efficient, as long as it's clean, readable and structured. I would use blueprints without hesitation because I love that they are data driven.
Well considering I still have a shitty laptop that can barely run a default unreal template scene at 30fps I'm sticking with unity or godot lol, in fact I was thinking of making my own C based game engine with only the features I need for my game so I can get the most performance
You will either never, or it will take an extremely long time to ship a game with a custom engine. If your goal is to actually make a game you should stick to an already made engine
Good interview but umm lets talk about Gavins God Teir Lock system he has going on in the door in the back ground. He is trying to keep Choo Choo Charles out of his room? WE NEED TO KNOW!
Just make progress.. ❤
@@karlwest437 yep! Doing 1% better a day makes 100% better in 100 days.
Gavin’s door lock situation is bonkers.
And why should solo developers use Unreal now? Because Gavin did? The interview was nice and all but I don't get why I should use Unreal over any other engine from this video. Splines for example you can use the same way in other engines and I really think you could recreate Choo choo Charles in Godot as well. After all this is just a clickbaity title and there is no right or wrong if it comes to your engine of choice.
I dig this channel but I gave up Unity years ago for Unreal Engine. I still enjoy the channel (obviously), but it was seriously nice to see Unreal Engine getting some love. Gavin also made some fantasic points to shut down some very popular misconceptions about complications of UE, along with showcasing the amazing usability of the blueprints system to get straight into development with no experience or the giant perceived mental cost-of-entry that most people seem to associate with it.
3d unreal, 2d godot. You don’t need Unity any more.
You're great. I've been facing the issue of everyone saying "you can't do that in blueprint" too, and I've always been able to achieve the thing at the end of the day. WISE WORDS!
Developed my 2D game with Unreal for one year before starting over with godot. If you're creating a 2D game, DO NOT use Unreal
Thanks for the note !
i KNEW it! i played that game when it came out and LOVED it! When I saw the players train, i knew the textures were hand drawn, he says its an example of doing something wrong, but in all honesty, thats the one charactaristic that truly stuck with me as an artist, its one thing to pick up an asset and flip it onto the market in the indie space, but to take the time to create your own asset, and skin it yourself, high quality or otherwise, thats a personal touch, and i noticed that immediately and i loved it, it gave me bendy and the ink machine vibes but i didnt care because i knew in my core he did it personally. You can make a b-rank game with hand drawn assets from the heart, and ill play the life out of that game and itll feel like a AAA title to me the whole time, an A-rank cookie cutter game thats just been following the trends could release the same day i start playing it and ill stick to it because it has Heart and passion. So my thanks to Gavin for putting his heart into it, you had a vision and you made it happen with a personal touch to it as well! thats true craftsmanship. cheer man!
I like one of the dev dudes door all barricaded behind him lmao
You have no idea how much this helped/encouraged me. I'm starting my first game soon and have been discouraged by not knowing much. Hearing you guys explain some of the "wrong" ways you did things, but it works makes me feel awesome.
"As long as you're making progress" - Thomas Brush 2023
6:45 Lixian: As long as it works, that's what matters
The Blueprint slander is strong out there. Blueprint is a perfectly viable way to code a shippable product.
Installed Unreal days ago, my gamedev journey just started :D I also practice to be 2D and especially 3D generalist so i do my assets, animations and co. as well. And yes, C++ is my first language to actually learn as well so good luck to me lol. I might have got my brother as a partner tho but this will be seen in 1,5-2 months. Let the party begin ;)
After 10+ years, there is only 1 thing I know of that you can't do with Blueprints. When deal with AI, the available visual toggles for settings whether an AI is friendly or not does not do anything in Blueprints, because the near-deprecated system that uses those values is only accessible in C++.
Thank you !!!! Thank you very much .... I wasnt born in english speaking country( I think that my biggest problem), and allready 2 years im working on my game in UE5. And I ALLWAYS come to situacion where all peoples on all chats and forums saying its imposible just with blueprint or just with blender or just with free assets and than all tutorials are to much complex with not good results .... and ALLWAYS I just stacked for couple months until i find way how to make this or that ( first half year with blender was for me really pain ) . And this ten minutes with someone who allready made something gave me more than last 100 hours of tutorials !!!! THANK YOU VERY MUCH BOTH !!!!
Whay game you making bro?😀
@@twdmoments-zd2qx Souls-like Rough-like Survival Game...... its sound like something hard but principiel its really simple game style
@@MartinSvandaDeveloper thats nice keep me updating bro i will play this
bros locked in fr
if i was a game dev using unreal, i would prefer blueprint than c++
Why isn't everyone talking about the door behind Gavin. Damn bro are you safe? I hope you have some guns for home defense.
One thing to remember guys, some times the wrong way (even if it works), isn't the best and most productive way. I have friends that's studying game design with me who mostly use the wrong practices. I tend to stick to the 'correct usages' as far as I can (like 75%) and my games usually has much less bugs, doesn't take as much time as their stuff, etc. So yeah, sure, you can do whatever you want, but there are always more productive, less time consuming ways of doing things. Anyway, great video!
Honestly, thats realy encouraging. Doing things the wrong way sometimes shows you new better way so ... that's cool !
I'm currently using Unity and it's good to know I can switch to Unreal and still not need to code.
The fact he said to use a uv map in photoshop literally answered a question I had for the previous video I watched from him ahahah good stuff I will continue to use photoshop
If I had to take one thing I learned from this video is to always do things that u feel comfortable doing it in even if others think it’s wrong if it works for u keep doing that and find ways to improve that method because who knows maybe eventually it will become the best method
I jumped onto Unreal with the same idea, C++ is the correct way and BP can only do certain things. But after getting experienced with both C++ and Unreal, I think the ideal way to use it is actually using both. C++ for anything that really requires it, like base systems, heavy computing, etc and BP for the implementations and anything that is a one off thing.
For example, I've built an Utility AI system for my game entirely in C++ but it's actually used via BPs, where you create tasks, NPC behavior presets, etc. Same with an ability system I've built. Both are easy to work with because each task or ability is made in BP and since the core systems are in C++, you don't really get spaghetti BPs.
@2:19 "Oddly dedicated to be beaten up by a computer" - Looking at the number of locks and chains on his door...He's asking for a fricken beating!
ROFL that texturing method at 7:52 ...omg. If this guy can make a game, so can I.
One thing I’ve heard on two different teams as a dev is “I wouldn’t have done it that way”. That annoys the crap out of me. It works every time and even runs quicker than what they have. Point being there is no “right” or “wrong” way if it works. Sometimes there are more efficient ways or easier ways to achieve the same thing, but that doesn’t discredit the way someone else writes a block of code or handles textures and models. If everyone did things the same way then when they come across a problem they can’t solve no one would be able to solve it.