Switching from Unity to Unreal concerns

Hello everybody!

I’m Lucas and new to this community. I’ve been developing with Unity for roughly 5 years now and am looking forward to starting with Unreal Engine. The text will be long and my English is not my main language, but I hope this won’t disencourage you from reading. In the following I’m trying to explain the conflicts I have with Unity that have piled up over the years, why I’m considering switching to Unreal and finally asking you for some advice or your experience.

I’ve started developing with Unity when they still had the Island Demo Project. Over the years I got more accustomed to the engine and grew to love it. It was easy to pick up and using .NET is a dream. But over the years my love for unity has developed into a love-hate relationship, though this sounds a little too harsh. But there are, in my opinion, problems with the engine in it’s current state that frustrate me.

To name a few, there’s the lack of nested prefabs which makes creation of complex UI a nightmare. There are also no real entities, only bunch of components that you throw on a GameObject. But the worst of all is that most of their main utilities are lackluster and not extendable, which is a terrible combination. A lot of things are just way too basic, like the Input System, collision matrix, Tags (only one tag per object), no cinematics, etc. so you’ll have to write it all yourself or buy a 3rd party plugin from the asset store.

On top of that comes the frustration with a lot of other small basic things that don’t work but should. I’m under the impression that the source of problem is that the guys from Unity don’t develop games with their own engine, but prefer putting out visually impressive cinematics. This adds further to my frustration with the engine.

So all of that sounds brutal and this is also the reason why I’m considering switching to Unreal Engine. But the worst is, I don’t know if that really is the right decision. After all of the above it should be clear to me, but the thing is, despite all these problems, I know how to make a game with Unity. It’s possible to work your way around all these problems and still create something worthwhile. 5 years of experience with a tool, no matter how broken the tool seems to me, is still a lot of experience that is hard to throw away.

Also, my deep love for C#/.NET holds me back too. But then again, Unreal Engine feels like a lot more fleshed out engine that has actually been used to create AAA games. I’m torn.

So I want to know: what you think? What is your experience with the engines, can you understand the suspicions or do you think they are unreasonable and ultimately, what would you recommend?

Thank your for reading so far, I appreciate it.

well, not that i have experience as much as you and out of the projects you have named i only faced the nested prefabs / UI making problems. and the tags thingy.
but what i believe is that, there is no right choice in here, just a matter of personal choice. each engine has positive effects and side effects
while yes unity has not been used with over powered AAA games, but ask yourself this, can you really push unity to the end of its limits while making a game on your own? or even with a team of 20 people? to the point where you can safely say “unity just can not handle this game?”. if you can, then yeah, it would wise to consider unreal or other engines (actually, creating your own would be smarter in this case).
if you can not do that, then it is a matter of your personal choice, did you just get bored or overly frustrated with unity? well, if you did then the answer is simple, each engine has its ****py parts, and awful weaknesses. even unreal engine, so the choice is yours, if you got too sick with unity, just move on, and learn a new tool.

but what i would suggest is forgetting the matter of engines and stuff, unless they truly stop you and slow you down a lot.
so if unity is working fine with you, just forget engines and make your games, if it is slowing you a lot, then look at the other tools, and keep in your mind they also got their weakness but if their weakness is far from what you’re doing then you might move to them.

long wall of text sorry, but yeah, there is no right answer unless an engine totally breaks you and slows you down a lot. where the other engine weakness doesnt stand your way. then it may be the right choice to move on.
what is important is the games you make not the engine :slight_smile: .
in some games it will be easier to throw on unreal and other games will be simpler on unity.

2 Likes

Hey, thank your for your response!

What you said actually aligns with a lot of what I have read. That it just comes down to whatever you feel comfortable with and that there is no clear-cut answer. I suppose that’s just the way it is and hoping for a definite answer like “use Unreal, Unity is too basic” or “use Unity, Unreal is too complex” was just naive.

Either way I’ll get through the Unreal Course and hopefully come to a satisfying conclusion in a few months from now, where I can make an educated decision as to which engine to pursue.

Thanks again for your help!

@Yellowpaper hey there! I personally have not used Unity as long as you. I have been toying around with it, directionless, for a couple years now. Until Mr. Ben Tristem and company found me and re-adjusted my compass. Unity is not the only engine I have tried either. I learned Ruby scripting with RPG Maker, learned Brisk with Realcrafter, learned DarkBasic with Dark Basic, and I have slowly been learning HeroScript for Hero Engine. While only one of those engines have been used for AAA games (Hero Engine was used to create both Star Wars: The Old Republic and Elder Scrolls Online), each had its merits depending on what I was working on at the time.

I also have Ben’s courses on Unreal, Blender, and the upcoming RPG one to go with my Unity course. I do have to say that I agree with @MoMutrz. With all the engines I have tried before, each had their flaws (Including Hero Engine). I do not think it is the engine you choose, I think it is the engine that chooses you. I still own all of the above engines (I own Hero Engine for life because I was an Alpha tester), but none of them have called to me like Unity has. It is not simplicity that did it, because you really do not get more simple than Dark Basic, but how the engine feels. The community and resources available add to that as well.

Perhaps what you need is to not look for another engine when this one really means a lot to you. Maybe your next step is to be that guy who submits solutions to issues to Unity to help the program, or to write plugins that fix the issues you have encountered and sell them through the Asset store. As was said before, if you haven’t hit the limits of the program yet, then help make it better! In the end, the choice really is yours. Unity does, in my opinion, have everything needed to make a AAA game. Who knows, if you stick with it you may just be the first of us to prove it.

2 Likes

I’ll share with you my thoughts on this, because I think I know how you feel, and having recently made the shift from C# to C++, I can tell you there are some challenges just at the basic language level. I am not deeply familiar with the Unreal engine, but I do game development in C++ (custom engine), and there are a lot of great options out there.

Performance of elements like UI and system management in Unity is certainly something you can overcome with a switch to Unreal, which is a deeply mature game development platform (consider we’re talking about an engine that’s been around since the early 90s). While it’s totally possible to code a game poorly in Unreal, the language facilitates a much deeper understanding of what’s going on inside your application as it requires you to pay a lot more attention to how you manage your memory.

Now, here’s some good news: There are a lot of versions of C++ and in addition there are language extensions for .NET within the Microsoft stack. You can work with COM, you can work with .NET, you can work with whatever you want. There will be some special considerations, though, and that will lead to a lot of struggles in understanding some of the inner workings of the language and how to configure projects for various kinds of functionality. C++ is a BROADLY flexible language, and there are several different “standards” as it were for the language and how to use it. This was perhaps the biggest challenge for me - identifying different project types from CLR to modern C++ to legacy C++. You basically have to learn each separately and understand what aspects are mutually exclusive.

Not to scare you off, you’ll have a lot of that masked in Unreal, but if you want to break outside Unreal there are options there too, to satisfy your love of .NET! Just be ready for a bit of challenge is all. I will also note that having been a C# developer since C# 1.0, and having only recently taken to learning C++, I strongly prefer C++. I work primarily with modern C++11/14 and use the DirectX Toolkit from Microsoft as my main render engine.

I’ve just read this discussion through and have little to add, excellent exchange guys and thanks for being such active community members.

Privacy & Terms