Unreal vs. Unity: Actors & Components, Inheritance & Composition

  Рет қаралды 39,135

Alex Forsythe

Alex Forsythe

Күн бұрын

Пікірлер
@anthonyapm
@anthonyapm Жыл бұрын
Where did you go man? Best tutorials on the tuubs.
@mana20
@mana20 3 жыл бұрын
How do you only have 3k subs? This is better quality than most paid courses
@GasterLab
@GasterLab Жыл бұрын
Because he's not updating content on this channel for two years xD
@mana20
@mana20 Жыл бұрын
@@GasterLab He's probably got better things to do than make KZbin videos for free.
@klausklavikus3836
@klausklavikus3836 Жыл бұрын
Well the thing is there is rly not much more to tell about the Engine 🤷‍♀ @@GasterLab You got realy everything worth to know about Unreal 😂
@alphamineron
@alphamineron 8 ай бұрын
All*
@greyly_
@greyly_ 4 жыл бұрын
I've been coding for 38 years and last week I decided it was time to learn a game engine. Unity's C# API was immediately obvious to me and felt clean. My initial impression of UE4 was that it's a mess, struggling under the weight of layers of legacy. I'm happy to have found someone making videos about these things that seems to be an actual experienced developer and who can set me straight.
@Ruhrpottpatriot
@Ruhrpottpatriot 4 жыл бұрын
It's really not that bad. Most people I've seen struggling with UE4 are trying to work against the engine by trying to apply concepts that hardly work in UE (but can be done in an UE way). For example, the two inheritance trees: C# has the same notion with everything starting at "Object" (that's where UE got it from, actually). In UE it just sticks out because AActors and AActorComponents are the most often used classes. Does UE have legacy things that are a PITA? Yes, the immediate thing that comes to mind is AHUD, but even those can be useful in certain situations. For example in my project most of the UI is written in Slate and using AHUD makes it much easier. But if you have a simple UI that just has UMG you can make a master widget and do everything there.
@SirToxe
@SirToxe 2 жыл бұрын
@@jfht318 UE is clearly not what you are looking for in the first place so blaming it seems a bit daft. Maybe you should look into something like SDL2?
@ViceAdmiralHoratioNeIson
@ViceAdmiralHoratioNeIson 2 жыл бұрын
Unfortunately Unity seems hell-bent on doing the same thing with the number of systems they're deprecating and replacing at a snail's pace
@Sergeeeek
@Sergeeeek Жыл бұрын
Yeah, at least in unreal if they introduce a feature that's experimental it usually becomes stable in the next few releases (and they're probably using it in fortnite already, so it's stable enough). When they deprecate something like the old input system, they have a way to gradually migrate.
@uzizizu
@uzizizu 3 жыл бұрын
you should apply for Unreal Grant, they give money for people who teaches their engine and you are a GOD in teaching
@shableep
@shableep 2 жыл бұрын
Seriously!
@AlexForsythe
@AlexForsythe 4 жыл бұрын
Quick correction: in the DefaultGame.ini snippet shown at 11:52, the object path should read: [/Script/TouchyCore.InteractionTrace] Also note that the reason for UInteractionTrace being a class is that it encapsulates both data and functionality - if we just wanted to run a simple line trace and we didn't care about debug drawing or having a configurable distance, then it'd make sense to just call UWorld::LineTraceSingleByChannel directly in our Pawn's tick function. In cases where you have a complicated bit of functionality (but no accompanying state) that you want to factor into a reusable form, then a plain old function is often the way to go.
@mariosbikosvideos
@mariosbikosvideos 11 ай бұрын
Damn I really want Alex to come back and do more videos like this one. The video visualisations are amazing!
@nabeelsherazi8860
@nabeelsherazi8860 Ай бұрын
the trickies thing for me picking up unreal being familiar with unity was the coupling between blueprints and the event graph. i thought of blueprints as being the equivalent of like unityscript for a while and so i didn't even look at them and was so confused until i realized that most of the "assigning references" stuff from unity has to happen inside the blueprint. still much prefer the way unity does it, but i respect how much you can do with unreal.
@teac117
@teac117 Жыл бұрын
This is a very helpful 30,000 ft view of the architecture hierarchy. And props for front-running typical programmer questions of 'can we just use...'
@Zamaroht
@Zamaroht 2 жыл бұрын
As a developer with 7 years of experience in Unity who has never used Unreal before, this was really insightful, thank you. I found myself pausing the video every few seconds to digest the examples and concise information, or to play around a bit in the editor. Everything was really well explained and clear, thank you! It's definitely a bit of a paradigm shift
@anilhdas
@anilhdas 9 ай бұрын
Couldn't agree more here!
@rahdanger4277
@rahdanger4277 3 жыл бұрын
You are the fuckin best teacher I have ever seen I still need and don’t fully understand everything yet , but this video has just given me the biggest learning leap yet , thank you sir I absolutely mean that thank you thank you and don’t ever stop
@shreyas7801
@shreyas7801 3 жыл бұрын
I can't believe that you only have 5k subs!! Your production quality is better than most of the tutorials on youtube.
@clearsky4049
@clearsky4049 Жыл бұрын
Best video I've seen on the topic by far. No bloat, clearly made by someone with experience, presented with good real world examples. Can't ask for better honestly.
@kiaranr
@kiaranr 4 жыл бұрын
Brilliant, clear explanations of a complex topic. Coming from Unity to Unreal, it took me a very long time to piece together a mental mapping of how their architectures relate. Looking forward to your next video! This may be the channel that finally convinces me to use Patreon.
@spalunkiA
@spalunkiA Жыл бұрын
Really appreciate sucha comprehensive and effective video. Really helps me understand the conceptual structure of UE more than any tutorial I've tried before. Thank you
@owencoopersfx
@owencoopersfx Жыл бұрын
This is seriously an excellent video. I work both with Unity and Unreal, and this is a great explanation of the differences between them.
@owencoopersfx
@owencoopersfx Жыл бұрын
I typically have the mindset that: - Unity leans more heavily into composition, where your prefabs define what the objects actually ARE, but the scripts don’t define what the thing is. - Unreal leans more heavily into inheritance and is truer OOP, where your objects aren’t necessarily just a composition of things, but actually ARE the thing.
@Vidrohi_2
@Vidrohi_2 Жыл бұрын
Freaking finally ... Thanks for explaining the dual hierarchies !
@beanboy504
@beanboy504 4 жыл бұрын
Absolutely without a doubt the best videos on Unreal Engine, please keep creating. I know how much work the fancy animations can be, especially is bulky software like After Effects, but they are SO worth it! That hierarchy graph cleared up so much confusion for me about the Actor hierarchy in unreal. This explains how even though Unreal uses a composition approach it always seemed so different than Unity or Godot!
@beanboy504
@beanboy504 4 жыл бұрын
Also SUBBED
@FarazKhan-lg9ul
@FarazKhan-lg9ul 3 жыл бұрын
Amazing video! the visualization is easily getting the point across. It’s surprising that unreal tutorials are missing basic vids like engine breakdown. Alex this makes your video really valuable especially for beginners. Keep up the good work!
@estranhokonsta
@estranhokonsta 2 жыл бұрын
Thanks. That was extremely useful. I will need to re-check this video often when i am stuck in the old "high on OOP approach" as i surely will. Changing ingrained habits is not so easy...
@TonOfHam
@TonOfHam 3 жыл бұрын
First Class! I'm going to make this and your other recent videos mandatory viewing for all our developers.
@conkerconk3
@conkerconk3 Жыл бұрын
You make some of the most educational videos ever! I used unity for a long while because of how simple the scripting is and I didn't even realise UE had the components similar to unity; i thought it was just either custom actor or interface. Composition for the win
@IgnoreSolutions
@IgnoreSolutions 2 жыл бұрын
Thank you so much for this. Unity was easy for me to grasp as a desktop C# developer, but Unreal's macro playground & inheritance tree had me confused. While still slightly confused, I feel as though I have a much more solid grasp of these concepts now. So thank you!
@TheLolilol321
@TheLolilol321 3 жыл бұрын
This video is incredible. Every single frame is spring-loaded with accessible, useful information. It takes
@christhwaites
@christhwaites Жыл бұрын
Thank you for putting this together Alex! It's probably the most concise and informative overviews of Unreal's core types I've seen, dare I say easier to grasp than the official docs! I was wondering how you're creating the branching nodes animation? Thanks again and hope you keep making videos like this!
@nickcy5083
@nickcy5083 3 жыл бұрын
This is amazing, the best video I've seen that goes into the different popular engines' approaches and their differences. Thank you so much!
@TwiejkVR
@TwiejkVR 2 жыл бұрын
dude..... for free? you are a legend
@napstablook25
@napstablook25 3 жыл бұрын
I have been watching your whole unreal playlist. This is the video I have just started but I just have to say. This series is brilliant and heaven-sent. I have already learnt so much from these videos and I plan to learn everything you have to offer. I am not a Patreon guy but each video is making me think, "Just support the guy. This is the kind of content that you need to learn" and I am on my way to becoming a Patreon. At least in the lower tier for now. Thank you for this brilliant content.
@ArtVandelayInc
@ArtVandelayInc 3 жыл бұрын
Flawless... You're so good at this
@unreolog8699
@unreolog8699 3 жыл бұрын
I think this channel one of the most important channels about Unreal Engine for those who want to understand the engine more deeply. Alex, thank you! I believe that you will continue to do education content because you are EPIC and deserve Epic Mega Grant too.
@毛氈苔
@毛氈苔 2 жыл бұрын
A really really useful tips , this is so friendly to watch!
@QuackTeamJames
@QuackTeamJames 4 жыл бұрын
Very interesting video :D Now I want to play around in Unreal when I get the chance to see what I can come up with using the blueprints and actors. Looking forward to the next one! Thanks for all your hard work Alex.
@infinitiom
@infinitiom 3 жыл бұрын
Increíble la calidad de tus Videos ! Muchas Gracias por compartir !
@irtezarahman5370
@irtezarahman5370 3 жыл бұрын
You deserve millions subscribers. subscribed
@Th3EpitapH
@Th3EpitapH 3 жыл бұрын
you're running a real good channel here man. keep it up
@jessexing3456
@jessexing3456 2 жыл бұрын
What a fantastic video!
@krisitak
@krisitak 4 жыл бұрын
Alex, amazing channel! Thank you very much.
@AmeenAltajer
@AmeenAltajer 3 жыл бұрын
Superb work man, keep 'em coming.
@volodymyrbarannik179
@volodymyrbarannik179 3 жыл бұрын
More videos about game design patterns, please!
@iercan1234
@iercan1234 3 жыл бұрын
im glad i found this channel, this is really cool!
@svenyo
@svenyo 3 жыл бұрын
This is pure gold!
@backgroundmusicorg6960
@backgroundmusicorg6960 4 жыл бұрын
Great Video !! helped a lot with my switch to unreal
@mkaram4893
@mkaram4893 3 жыл бұрын
This is really unbelievable! I used Unity for 10 years.. and I keep regretting my life choices and decide to switch to Unreal every few months.. but I get overwhelmed by its complexity and stay in the Unity world (my comfort zone)... after watching a few of your videos, I was able to get something working in Unreal for the first time! you made everything clear and simple from the point of view of a Unity developer.. Thanks a lot man!!! This is better than any paid course I've ever seen.. if you ever decide to make a paid course I'll be the first to buy it.
@shableep
@shableep 2 жыл бұрын
Did you end up sticking it out with Unreal?
@mkaram4893
@mkaram4893 2 жыл бұрын
@@shableep nope xD back to Unity :)
@shableep
@shableep 2 жыл бұрын
@@mkaram4893 Interesting. What made you switch back?
@mkaram4893
@mkaram4893 2 жыл бұрын
@@shableep so restrictive, e.g. can't have something like Unity Events out of the box that lets you configure different behaviors for each instance of a script in the UI is a big NO for me..
@G0WithTheFl0w
@G0WithTheFl0w 4 жыл бұрын
Amazing video Alex! Very well done. Thank you for making it.
@Dayogg
@Dayogg 3 жыл бұрын
Thank you, important topic.
@krisitak
@krisitak 4 жыл бұрын
Hey Alex, I really enjoy your videos. At @10:48 you make the case for the UObjects. Recently I have discovered the UDataAsset. I'd like to hear your opinion on the "UObject vs UDataAsset" discussion.
@cocacola7535
@cocacola7535 3 жыл бұрын
Sir, how did you make your slides consisting of animated code and diagrams? Using LaTeX `beamer` document class?
@yunus5949
@yunus5949 3 жыл бұрын
Really cool tutorials! Congrats !!!
@mana20
@mana20 3 жыл бұрын
I'd recommend data management (tables, data assets, external formats like JSON and how and when to use them.) As a future video if it interests you.
@l_t_m_f
@l_t_m_f Жыл бұрын
Thank you best videos ever!
@VonchkynProduction
@VonchkynProduction 9 ай бұрын
Thank you for the informative video:)
@pontosinterligados
@pontosinterligados 2 жыл бұрын
These videos are amazing. 4 years ago I was developing a spatial experiment in games and tangible level creation for my PhD and as a prototype I had build myself a game engine in processing to deal with the electronics and special rendering demands. It worked, but I wanted to move forward and learn if I could use these amazing engines to distribute my research. I left academia/started working and didn’t find a way (time) to study how to implement my project on unreal or unity so far. I was wondering if I could have some sort of tutoring to get me back on tracks with this sort of development
@user-gy6cv3ug5i
@user-gy6cv3ug5i 4 жыл бұрын
Really great video, extremely well explained and illustrated. Rather than instantiating a new UObject helper class as you did for UInteractionTrace in this video, would creating a UObject class with static methods be equally viable? Unreal makes heavy use of these kinds of classes in C++ for many common operations like spawning FX (see UGameplayStatics for examples). I find this easier as you just need to include the header of that class in whatever cpp you are using it in and call UMyStaticsClass::LineTrace and pass the TraceDistance / bDebugDraw as arguments to the function!
@AlexForsythe
@AlexForsythe 4 жыл бұрын
Yep, that's a totally valid approach: if you're just defining a set of functions, you can extend UBlueprintFunctionLibrary and declare static BlueprintCallable functions (using a WorldContext parameter as needed; see GameplayStatics.h for examples), and then those functions will be callable from Blueprints and C++. A bit more on the thought process here - I wanted the input parameters for the trace (TraceDistance and bDebugDraw) to be UPROPERTYs, so that I could: - Hardcode default values for those parameters in whatever class owned them, while also allowing those values to be viewed or overridden in Blueprints - Flag them as Config so those defaults could be overridden in a config file - Use console commands to get/set their values at runtime in standalone development builds (e.g. I could run 'GetAll InteractionTrace bDebugDraw' to check whether debug drawing was enabled and use 'Set InteractionTrace bDebugDraw True' to enable it) Those properties have to be declared somewhere, so that leads me to two equally sensible approaches: either put the data in the Pawn class (in which case the Pawn either handles the trace directly or calls a static helper function and passes in those parameters), or wrap up the data alongside the trace functionality in a helper class (in which case, the Pawn just tells its helper object "OK please run a trace now", and other code that references the Pawn doesn't have to know anything about how the trace works). Either approach is fine - I mostly wanted to demonstrate how you can use simple helper classes to encapsulate different bits of functionality, and how UObject is a valid choice for those helper classes. A common principle in software design is that each class (or module, or function) should have exactly one responsibility, and it's a common pitfall in Unreal projects for the PlayerController and Pawn classes to grow grotesquely huge and messy, since it's so tempting to just add new functionality directly to those classes without any indirection. That can work perfectly fine in simple cases, but as projects grow in complexity it can become more and more of a nightmare to maintain. The key takeaway is that you can avoid that problem by keeping your Pawn (or Controller, or GameMode) simple and having it defer to separate interfaces to handle different overarching responsibilities, whether those interfaces are defined as a set of plain ol' C++ functions, a set of static functions in a UBlueprintFunctionLibrary subclass, a raw C++ struct or class, a UObject class, an ActorComponent, or a full-blown Actor.
@user-gy6cv3ug5i
@user-gy6cv3ug5i 4 жыл бұрын
@@AlexForsythe Thank you for the incredibly detailed answer, very interesting to hear your reasoning there, definitely makes sense that you’d go with the instantiated UObject if you wanted the extra control that it brings as mentioned. Keep up the great work, thoroughly enjoyed this video
@mana20
@mana20 3 жыл бұрын
@@AlexForsythe how about the use of Subsystems? What use cases would that be more beneficial than a UObject? Coming from Unity I'm also trying to understand how to handle "Manager" classes and Subsystems seemed like a good fit to handle encapsulation. However debugging seems harder to do within the editor.
@ajharbeck2075
@ajharbeck2075 Жыл бұрын
Would've been nice if he went into more detail on Godot and it's stucture.
@trampflips101
@trampflips101 3 жыл бұрын
8:30 I feel like most people are still high on OOP :/ I got a laugh out of that though
@aarxo5237
@aarxo5237 Жыл бұрын
"It's the 90's and we're all high on OOP" lmaoooooo
@StrayVertex
@StrayVertex 4 жыл бұрын
Super informative video, thx!
@GraaD-87
@GraaD-87 3 жыл бұрын
It started as "2+2=4" and then in a blink escalated to rocket science so I totally lost any hope of understanding anything. Shows how little I know, really. Great video though. =)
@kken8766
@kken8766 3 жыл бұрын
i am your big fan now !!
@Ovicior
@Ovicior 3 жыл бұрын
Subbed. Good content.
@rahultandon9749
@rahultandon9749 2 жыл бұрын
This video remains unmatched and with no parallel. Also, please comment on the ECS pattern /architecture. UNREAL does have ECS. However, like UNITY, is making a step-wise roll-out of the capability. What's happening with the two? A code-base rewrite .....?
@slimnet04
@slimnet04 2 жыл бұрын
vids so good
@guyalsfere7470
@guyalsfere7470 2 жыл бұрын
"Its the late 90s and we're all high on OOP"
@jimmytrouble7038
@jimmytrouble7038 11 ай бұрын
such a good video dude, how ever are you aware as to why they called them "Actors", its a confusing term to me, i was wondering why they went with the name, I cant find anything online about
@nfrancisj2122
@nfrancisj2122 4 жыл бұрын
Great!
@kunyan164
@kunyan164 3 жыл бұрын
so cool , i want to know how to make these cool anmations like code animation
@manasjoshi2939
@manasjoshi2939 Жыл бұрын
I wish you didn't stop uploading😔
@ymi_yugy3133
@ymi_yugy3133 3 жыл бұрын
I hope this get's simplified a bit with UE5.
@yunus5949
@yunus5949 3 жыл бұрын
You should keep going to publish new content!
@3sgamestudio
@3sgamestudio 4 жыл бұрын
omg I wish that my videos were 1/5 of the professional level of your videos : (
@beanboy504
@beanboy504 4 жыл бұрын
Crazy to see you here! Keep up the good vids :)
@thecancermen245
@thecancermen245 4 жыл бұрын
good stuff
@zeddgamedesigner
@zeddgamedesigner 2 жыл бұрын
Unity or Unreal engine?? your opinion.....
@SnakeEngine
@SnakeEngine 2 жыл бұрын
In Unity you can have child objects. In Unreal only child components. Isn't it limiting?
@nicolasgalipeau3632
@nicolasgalipeau3632 3 жыл бұрын
1337, nice
@khealer
@khealer Жыл бұрын
13:37 LOL
@trampflips101
@trampflips101 3 жыл бұрын
leet video length, even leeter video quality ;)
@neotrixsine7846
@neotrixsine7846 2 жыл бұрын
As a Unity user, I understood nothing from Unreal Engine explanation
@OnyeNacho
@OnyeNacho 3 жыл бұрын
You should have named this "Unreal vs Unity vs Godot: Actors & Components, Inheritance & Composition". Slightly misleading when the comparisons are actually three engines, not two of them.
@youngtran8986
@youngtran8986 3 жыл бұрын
Only thing Epic Game need to put in their "Unity User" document section is this video. The rest is useless.
@Western_TV
@Western_TV Жыл бұрын
1337
@mikul3122
@mikul3122 2 жыл бұрын
ty so much for these
The Unreal Engine Game Framework: From int main() to BeginPlay
27:22
Alex Forsythe
Рет қаралды 224 М.
Using Composition to Make More Scalable Games in Godot
10:13
Firebelley Games
Рет қаралды 256 М.
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 31 МЛН
Software Architecture in Unity
7:13
Jason Storey
Рет қаралды 123 М.
Blueprints vs. C++: How They Fit Together and Why You Should Use Both
47:14
Unreal Engine - Inheritance Explained
24:12
Reids Channel
Рет қаралды 14 М.
Подробный урок по Entity Component System в Unity
15:27
Insane One - Разработка игр
Рет қаралды 45 М.
Unreal Actors vs GameObjects
11:30
Craig Perko
Рет қаралды 6 М.
Why I'm not switching to Unreal Engine... | Unity vs Unreal
7:08
The Future of Game Development
8:58
Brackeys
Рет қаралды 1,3 МЛН
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,7 МЛН
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41