So if we're very clever (and masochistic), we could possibly generate CIL from Rust, compile that into .NET assembly, decompile into C#, and then pass the result through IL2CPP? ...I'm sure someone has already done it :D
@@joanvillora wrong, I hope it will help you to sleep better at night. C# is Light year better than Blueprint cringe, and not far from C++. With Burst Compiler and the DOT System they are even better than C++ at some case. The only thing Unreal better at is Visual Render and some great tools. That's it
Just wanna point out that both C++ and C# in fact are compiler languages. Also, I think that when you say 'normally you would use Rider' you should also point out that while it is more convenient to use than Visual Studio for most ppl, it is paid Software.
@@Mr.overload Tim Sweeney (the founder / CEO of epic) shared it himself answering on twitter some month ago, GameFromScratch talk about it in one of his video :)
The company im working on is dropping Unity and we are moving many of our new projects to Unreal. I've been working with the engine source for couple of months, since it was required to modify and implement custom shading models, mod the gbuffer render pass and implement other render graph features. The experience has been a breeze, despite having very little information on how to customize source parts of the engine. In regards to Unreal's Engine C++ implementation, it's both easy and confusing but not for the absolute beginner. If you are new to programming and game development, it's better to stick with blueprints. Don't worry about performance at this stage.
Unreal coding is decades behinds Unity. Unity support hot reload (recompile script while the game is running). Its reload time is less than half a second. Unreal's recompile is painfully slow.
I've started using blueprints to do mock ups and prototypes. Then I convert almost all of it to C++. Why? Because most of my game logic is in C++. I have some custom navigation and other things that are just better handled in C++. And that means I need Blueprint Implementable Events in C++ to that you can implement in BP. This allows C++ code to call BP events. It means that BP and C++ work really well together. But this going back up to BP is mostly unnecessary in my game and I like how much smaller the code is in C++ compared to the equivalent BP. I even convert most of the UI BP (although you really shouldn't be doing that). It also has another advantage. It means I have a second look to everything I've done. Unused variables, functions and events are deleted. I often realize there's a quicker or better way. The implementation almost always ends up better. I feel like I'm always learning something. But most of all, it's really fun to do. There's nothing I love doing more than deleting code and deleting BP is the next best thing.
That's awesome! Sounds like you have a really productive workflow between blueprints and C++. It's always great when you can fix up some stuff and learn a few new things at the same time
Both c# and c++ are compiled languages What makes unreals c++ pain in the ass is its monolithic foundation and its super heavy use of reflection system which makes it a pain in the ass to compile
Yes, but normally you don't do this very often. And also after first-compile, you'll almost never have to compile everything again. Just the thing you changed. You are intended to use C++ for programming, blueprints for implementation of that code... but i disgres.
I did, but only later. It was a video about how I switched from Unity to UE and my experience of C# and Cpp and Blueprints. If you don't like my aproach do it differently, thats the way I learned how to use cpp and blueprints combined, everybody does it differently.
Good question! Maybe everyone’s too busy comparing the visuals to Unreal to stop...also HDRP optimization is awful, my game was first made in Standard and then HDRP...now it's Unreal for me!
Python does not get compiled, there are no binary files or compiles, it gets interpreted at run time and then executed. No compilation. Besides that both C# and C++ do get compiled after being interpreted, the difference is that C# Code runs on the virtual runtime environment while C++ gets compiled to a specific hardware and/or operating system if I am not fully mistaken. So both langues do make compiles (.exe for example or .dll files) while python is left with its source code in a .py and not a binary file. Edit: I think the only reason why you would think C# does not get compiled is because you have never ever worked with C# in a none-unity application before. But that still leaves the question why the hell do you think python gets compiled. It is a script aka interpreter language.
Python has an Interpreter yes, but before that runs, it generates bytecode... or what are the .pyc files then? Why do you think the extension literally says "compiled" at the end!? Yes it's bytecode not machine code, still a compilation step tho. But yes, it needs a running "vm" for it to get executed. And C# is the *scripting* language of the .NET platform... and has a JIT-Compiler. like Java, it doesn't run ON the VM, it uses one to compile IL to machine code. Both get compiled down to bytecode, an intermediate platform independent representation or IL, which will get compiled down by it's "vm" to native maschine code. Which can be executed natively. Also, Unity compiles C# to C++ with IL2CPP on build anyway. What's your point?
For someone saying they've worked in Unity for over 5 years, and also suggesting the C# isn't a compiled language (3:40) is WILD! Kinda lost most of your credibility with that one statement. When you save your script and tab back to Unity, what do you think the engine is doing with the loading bar - it's compiling
I personnaly think unreal is harder to code more advanced features. When i code with it I feel stuck in the myriad of tools that try to tell me how I should code my game. In Unity at least I feel like I paint on an almost blank canvas with just some ink I can use instead of the already used canvas full of paint.
I've been able to make any sort of code and functionality that I want with just blueprints. Stupidly complex functionality that is. It really depends on what kind of an experience you want to create ,though.
It's absolutely true that setting up the tools properly to use C++ with unreal is complicated and difficult but once it's done it's not too hard to use. Do a Udemy course to get you started with c++ in unreal.
blueprints are great for basic functionality games like fp /fps games, but once you want to have some extra functionality you would need cpp and compare to c# its really hard+long compile time.
Never used cpp huh? You only have to compile it ONCE, then you can have incremental builds which are near instant in most cases same as c# And then again... you program you procedures ONCE in cpp. Then do the scripting and experiementation for the implementation in blueprints... RTMF
@@MrSofazocker cpp has terrible doc, can crash easily, poor debugging tools in visual studio (a bit better in rider), takes a lot more space in disk, and imo is way more annoying to navigate with a lot of reflection even with the tools given by unreal.
@@MrSofazocker That's his opinion and I agree with it as I developed games on both the engines for mobile. And I am telling you developing games on UE for mobile is a lot more complex and time-consuming than Unity, you will face so many problems in building a simple game on UE.
@@MrSofazocker Your argument can be used the same way but for games for PC and Console made with unity, still the gacha with most revenue on mobile is from unity, is just a engine and the sucess will come from the idea not the numbers in a screen.
Unity coding is better. Unity supports hot reload, allowing you to change code while the game is running.(some store assets reduces reload time to less than 0.3seconds for a script) Unreal is practically impossible to do so. Coding become increasingly difficult for larger project. Each recompile takes minutes.
I love C# I moved to Unreal because of its features; Note: you can prototype your game in blueprints then when you get it working change over to C++; Blueprints is pretty quick to compile, at least on my computer.
1:55 ? Unity and Unreal literally support both. If you have an actor and attach components (how unity basically bullies you into) Or a class and add methods... is literally your choosing.
i have used unreal for more than 6 years now and blueprints is good to make a quick prototype with but the ship a actual game with it is just simply said hell. upgrading engine versions is also hell when blueprint is used. imo both engines have their own issues
I enjoyed the video regardless of how factual you where some of the people havnt sought the whole picture from your perspective of swtiching one to another, and your fundamental steps to learn how to adapt to the UE Engine "eco" system so to speak, my thoughts on unreal engine is its bloated, very bloated, lose the bloat , bam its amazing, also unreal drops a lot of unwanted preset upon you like the normal project scene, a new starter is lost like a pin in the ocean, when looking at it, a blank canvas and tutorial steps on adding the visual components up would be nice, unity straight out of the box is approachable, and for the most part understandable and logical, myself im still getting my head around DOTS/ECS.
You're just expressing your opinions about the superiority of Visual Scripting over C# (which is not true at most cases), but you should know that this is just your opinion, and please don't milk the Unity incident like others!
Your opinion seems rather uninformed and from a perspective of a beginner, e.g. Dunning Kruger - Peak of Mount Stupid. For example Unity and UE can achieve very very similar visual fidelity, you just don't know how. Same with C# / BP / C++ which is just full of errors and seems very uninformed and not knowledgeable about any of the languages.
Thank you for the feedback. It is more that achieving higher visual fidelity is easier and faster in UE than in Unity. Yes, I'm new to UE, having used Unity for years and then switching, but that doesn't justify calling me stupid. I'm sharing my perspective on switching, and I'm well-informed about the topics that regard Unity. If you believe it or not, mistakes can happen...even in RUclips Scripts.
@@Mr.overload he didn't say you were stupid. You just said that you were a victim of the Dunning-Kruger effect, which is clearly evident from the video
@@Th3-Mast3rmind Did you stop reading after he said Dunning-Kruger effect? He then said he said he is at the "peak of mount stupid"...that means he is the most stupid someone could be. That's actually worse than calling him stupid.
even if you are going to make hyperralistic game by yourself which is impossible enough, just wait until you see it you cannot use billions of polygons just bcs of nanite allows you to do that
C# is also compiled tho
And Unity converts it to C++ with IL2CPP on build anyway.
So if we're very clever (and masochistic), we could possibly generate CIL from Rust, compile that into .NET assembly, decompile into C#, and then pass the result through IL2CPP?
...I'm sure someone has already done it :D
Not unless you enable it else it’s just the standard c# route source -> il -> byte code
Not as good as Unreal C++ pure. And IL2CPP not always works, and when it works, is not as good.
@@joanvillora wrong, I hope it will help you to sleep better at night. C# is Light year better than Blueprint cringe, and not far from C++. With Burst Compiler and the DOT System they are even better than C++ at some case. The only thing Unreal better at is Visual Render and some great tools. That's it
Just wanna point out that both C++ and C# in fact are compiler languages. Also, I think that when you say 'normally you would use Rider' you should also point out that while it is more convenient to use than Visual Studio for most ppl, it is paid Software.
Oh thank you so much for the feedback! :)
Worth every penny too.
I wish UE had a programming language that meets it in the middle, kind of like their old UnrealScript
That would be awsome, yea!
It' coming, it's called Verse, it'll probably be in unreal next year (it's already used to develop Fortnite) :)
@@jeanmakesgames Oh sick, where did you get that info?
@@Mr.overload Tim Sweeney (the founder / CEO of epic) shared it himself answering on twitter some month ago, GameFromScratch talk about it in one of his video :)
@@jeanmakesgames The syntax of Verse seems very functional/Haskell like so it will be a pain to work with.
The company im working on is dropping Unity and we are moving many of our new projects to Unreal. I've been working with the engine source for couple of months, since it was required to modify and implement custom shading models, mod the gbuffer render pass and implement other render graph features. The experience has been a breeze, despite having very little information on how to customize source parts of the engine. In regards to Unreal's Engine C++ implementation, it's both easy and confusing but not for the absolute beginner. If you are new to programming and game development, it's better to stick with blueprints. Don't worry about performance at this stage.
Unreal coding is decades behinds Unity.
Unity support hot reload (recompile script while the game is running). Its reload time is less than half a second.
Unreal's recompile is painfully slow.
I've started using blueprints to do mock ups and prototypes. Then I convert almost all of it to C++. Why? Because most of my game logic is in C++. I have some custom navigation and other things that are just better handled in C++. And that means I need Blueprint Implementable Events in C++ to that you can implement in BP. This allows C++ code to call BP events. It means that BP and C++ work really well together. But this going back up to BP is mostly unnecessary in my game and I like how much smaller the code is in C++ compared to the equivalent BP. I even convert most of the UI BP (although you really shouldn't be doing that).
It also has another advantage. It means I have a second look to everything I've done. Unused variables, functions and events are deleted. I often realize there's a quicker or better way. The implementation almost always ends up better. I feel like I'm always learning something. But most of all, it's really fun to do. There's nothing I love doing more than deleting code and deleting BP is the next best thing.
That's awesome! Sounds like you have a really productive workflow between blueprints and C++. It's always great when you can fix up some stuff and learn a few new things at the same time
Both c# and c++ are compiled languages
What makes unreals c++ pain in the ass is its monolithic foundation and its super heavy use of reflection system which makes it a pain in the ass to compile
Yes, but normally you don't do this very often. And also after first-compile, you'll almost never have to compile everything again.
Just the thing you changed.
You are intended to use C++ for programming, blueprints for implementation of that code... but i disgres.
@@MrSofazocker Agreed
But it sure is a chore
The thing that Microsoft cant create/update their own editor to work with their own language but another corp just do it for every language
What makes you think that?
This such a TLDR video... RTFM on how blueprints and cpp interop... you'll be living your life much easier.
I did, but only later. It was a video about how I switched from Unity to UE and my experience of C# and Cpp and Blueprints.
If you don't like my aproach do it differently, thats the way I learned how to use cpp and blueprints combined, everybody does it differently.
why there are no comments about HDRP?
Good question! Maybe everyone’s too busy comparing the visuals to Unreal to stop...also HDRP optimization is awful, my game was first made in Standard and then HDRP...now it's Unreal for me!
Python does not get compiled, there are no binary files or compiles, it gets interpreted at run time and then executed. No compilation.
Besides that both C# and C++ do get compiled after being interpreted, the difference is that C# Code runs on the virtual runtime environment while C++ gets compiled to a specific hardware and/or operating system if I am not fully mistaken. So both langues do make compiles (.exe for example or .dll files) while python is left with its source code in a .py and not a binary file.
Edit: I think the only reason why you would think C# does not get compiled is because you have never ever worked with C# in a none-unity application before. But that still leaves the question why the hell do you think python gets compiled. It is a script aka interpreter language.
Thanks for the feedback. I noticed the mustake in post!
Python has an Interpreter yes, but before that runs, it generates bytecode... or what are the .pyc files then? Why do you think the extension literally says "compiled" at the end!?
Yes it's bytecode not machine code, still a compilation step tho. But yes, it needs a running "vm" for it to get executed.
And C# is the *scripting* language of the .NET platform... and has a JIT-Compiler. like Java, it doesn't run ON the VM, it uses one to compile IL to machine code.
Both get compiled down to bytecode, an intermediate platform independent representation or IL, which will get compiled down by it's "vm" to native maschine code. Which can be executed natively.
Also, Unity compiles C# to C++ with IL2CPP on build anyway. What's your point?
For someone saying they've worked in Unity for over 5 years, and also suggesting the C# isn't a compiled language (3:40) is WILD! Kinda lost most of your credibility with that one statement. When you save your script and tab back to Unity, what do you think the engine is doing with the loading bar - it's compiling
Yea, made a mistake in the script, I realized it after uploading😅
I personnaly think unreal is harder to code more advanced features. When i code with it I feel stuck in the myriad of tools that try to tell me how I should code my game. In Unity at least I feel like I paint on an almost blank canvas with just some ink I can use instead of the already used canvas full of paint.
I've been able to make any sort of code and functionality that I want with just blueprints. Stupidly complex functionality that is. It really depends on what kind of an experience you want to create ,though.
Totally agree, blueprints are a great tool
Ever heard about shaders? That's how you can make it as pretty as you want in Unity.
I think he only knows the shader editor if at all...
It's absolutely true that setting up the tools properly to use C++ with unreal is complicated and difficult but once it's done it's not too hard to use. Do a Udemy course to get you started with c++ in unreal.
I want to make a 2D Bullet hell game and was thinking C#..
For that I think c# is great!
If you want to do 2d always go unity or godot. Unreal is not optimised for that
Or use C++ it's actually not that hard to use C++ with unreal. But do learn blueprints too as you will still end up using both.
blueprints are great for basic functionality games like fp /fps games, but once you want to have some extra functionality you would need cpp and compare to c# its really hard+long compile time.
Never used cpp huh?
You only have to compile it ONCE, then you can have incremental builds which are near instant in most cases same as c#
And then again... you program you procedures ONCE in cpp.
Then do the scripting and experiementation for the implementation in blueprints... RTMF
@@MrSofazocker cpp has terrible doc, can crash easily, poor debugging tools in visual studio (a bit better in rider), takes a lot more space in disk, and imo is way more annoying to navigate with a lot of reflection even with the tools given by unreal.
Unity is way more better than UE for mobile game dev and XR applications. UE is better than Unity for PC games and Films. That's it.
Soo... PUBG mobile, Vigor and all other mobile games made with Unreal don't exist in your world-view? Okay!
@@MrSofazocker That's his opinion and I agree with it as I developed games on both the engines for mobile. And I am telling you developing games on UE for mobile is a lot more complex and time-consuming than Unity, you will face so many problems in building a simple game on UE.
@@MrSofazocker Your argument can be used the same way but for games for PC and Console made with unity, still the gacha with most revenue on mobile is from unity, is just a engine and the sucess will come from the idea not the numbers in a screen.
@@MrSofazocker Pubg, vigor and all other games can be made in Unity as well.
But it's complex in Unreal
Depends on what kind of PC game you’re going for. rust is one of the most popular games ever and it’s Unity
great content
Thanks!
Lets compile Rust or Zig instead and test
or maybe just use c
Unity coding is better. Unity supports hot reload, allowing you to change code while the game is running.(some store assets reduces reload time to less than 0.3seconds for a script)
Unreal is practically impossible to do so. Coding become increasingly difficult for larger project. Each recompile takes minutes.
I love C# I moved to Unreal because of its features; Note: you can prototype your game in blueprints then when you get it working change over to C++; Blueprints is pretty quick to compile, at least on my computer.
@@dougwarner59 Have you tried the UnrealSharp plugin? It allows you to use C# as a scripting language.
Yes, but why use Microsoft Java instead of c++ ?
There are blueprints for unity as well and a suprisngly good one as well
1:55 ? Unity and Unreal literally support both.
If you have an actor and attach components (how unity basically bullies you into)
Or a class and add methods... is literally your choosing.
The point is the freedom of choice.
i have used unreal for more than 6 years now and blueprints is good to make a quick prototype with but the ship a actual game with it is just simply said hell.
upgrading engine versions is also hell when blueprint is used.
imo both engines have their own issues
Thats a perfect summary. Esprcially the last sentence
@@Mr.overload thanks man! Just talking out of experience. Unreal engine is powerful but at the cost of devs sanity 😂
@@LinguisticMirage Yes, I agree ahahaha
I enjoyed the video regardless of how factual you where some of the people havnt sought the whole picture from your perspective of swtiching one to another, and your fundamental steps to learn how to adapt to the UE Engine "eco" system so to speak, my thoughts on unreal engine is its bloated, very bloated, lose the bloat , bam its amazing, also unreal drops a lot of unwanted preset upon you like the normal project scene, a new starter is lost like a pin in the ocean, when looking at it, a blank canvas and tutorial steps on adding the visual components up would be nice, unity straight out of the box is approachable, and for the most part understandable and logical, myself im still getting my head around DOTS/ECS.
I appreciate you taking the time to watch and engage with the video.
Anyone learn programming from unreal engine blueprint ?
The like/dislike ratio is hilarious lmao
The best: Unreal using C++.
Lol! Have you even tried to use DOTS?
You're just expressing your opinions about the superiority of Visual Scripting over C# (which is not true at most cases), but you should know that this is just your opinion, and please don't milk the Unity incident like others!
No, I like c# more. I am a programmer at heart, but its very versitale and my story on how I switched
@@Mr.overload Thats good man, Im just tired of seeing videos with cross on unity thumbnail
@@ADevAura Yea I totally get that.
literally use c++ if you dont want to use blueprint
c# just better
Depends, I prefer c#, but unreal has some really great benefits I don't want to miss out on.
@@Mr.overload c# .net 8 is actually faster then c++. But in general programming is better then visual scripting
Unreal have c++
Your opinion seems rather uninformed and from a perspective of a beginner, e.g. Dunning Kruger - Peak of Mount Stupid.
For example Unity and UE can achieve very very similar visual fidelity, you just don't know how.
Same with C# / BP / C++ which is just full of errors and seems very uninformed and not knowledgeable about any of the languages.
Thank you for the feedback.
It is more that achieving higher visual fidelity is easier and faster in UE than in Unity. Yes, I'm new to UE, having used Unity for years and then switching, but that doesn't justify calling me stupid.
I'm sharing my perspective on switching, and I'm well-informed about the topics that regard Unity. If you believe it or not, mistakes can happen...even in RUclips Scripts.
@@Mr.overload he didn't say you were stupid. You just said that you were a victim of the Dunning-Kruger effect, which is clearly evident from the video
@@Th3-Mast3rmind I was sharing my experience and added in some information I read in that time.
@@Th3-Mast3rmind Did you stop reading after he said Dunning-Kruger effect? He then said he said he is at the "peak of mount stupid"...that means he is the most stupid someone could be. That's actually worse than calling him stupid.
I hate visual scripting so c# is better.
If that fits your style, then go for it!
actually its not matter what you used for making your game.important thing is your game itself.
@@tlpue5 To a certain degree yes, but I've found visual scripting is harder to keep track of which can make it harder to actually create said game.
I like how the only valid reason not to use UE5 is **Fear of c++**
If you watched the entire video, you may have noticed that I suggested trying the switch even if you just want to give it a try.
@@Mr.overload No, I was talking in general, what people say/think
you couldn't get better graphics with c# no wonder why lol ever heard about shaders?
A shader won't have nanite
@@Mr.overload yea you are propably not going to make hyperrealistic game by yourself anyways
@@Mr.overload and also unreal doesn't have dots keep that in mind which is much more needed than nanite when you are solo developing a complex game
even if you are going to make hyperralistic game by yourself which is impossible enough, just wait until you see it you cannot use billions of polygons just bcs of nanite allows you to do that
@@dmrdev9934 What about the lighting and reflections then?
Blue print = noobs.
C# = profissionals.
but i like you video +sub
@@DeadSkyOficial Ty, I think its not really a thing of noob or pro. C++ is very useful with blueprints, but you gotta use both!
@@Mr.overload I guess technically you could just use C++ without using blueprints, but I would never do that.