Taking the leap from Unity

Hello, i am a programmer (mostly c# focused) with some experience in video-game creation.
My jam used to be Unity but i recognize that although it it performed well in my other projects i really feel like doing something else… It doesn’t do well open-world games (my personal opinion), i mean, that is the thing with unity, it does most things fairly well but it feels like sometimes feels “underpowered”( i really can’t explain it ).
And in my research cryengine and unreal came up as the most capable choices and in all fairness Unreal does sound (and i believe this is the scientific term for it) freaking cool!
Now the thing is, the game is a FPS like game, Open world and (if the mighty god of deadlines goes merciful of us) we will be adding multiplayer as well. Can unreal deliver this well?
The type of open world is not like minecraft where the terrain needs to be saves, here the terrain will be static (some buildings might collapse or be destroyed after completing a specific mission or something like that but other than terrain is not editable), it’s more along the lines of Fallout.
Do you think Unreal will deliver? (i will code in c++)
P.S: I do realize that coming here asking this is like going to MacDonalds asking if their food is any good, but i really am looking for honest answers.

1 Like

UE4 has its quirks and issues like any other engine, but otherwise, yes, it will do what you’ve listed here, provided you will indeed code in C++.
A number of people coming from Unity have to insisted Epic add C# support directly to the engine rather then just getting on with the job in C++ & Blueprints :slight_smile:

I’ve heard about blueprint and it was told to me that it was an alternative to the c++ scripting but i just can’t believe it. C++ will make me grow more as a programmer thought so i am going for it as it is more useful.
Still, what is your personal opinion on UE4? Do you feel like it kicks ***? With Unity the feeling was that i could only slap ***, it felt kind of “weak” (not weak it’s actually a proper engine it just feels like an entry level engine sometimes…)

For most projects it makes sense to use both Blueprint and C++. How much of each is a matter of skill and taste.

UE4 definitely kicks ***. You might have to spend some more time compared to Unity, but the result will be a real wallop!

You can create entire games using Blueprints and never touch a line of C++.
That qualifies as an alternative to C++ :slight_smile:

Personally, I wouldn’t do a pure Blueprint game, as they can be a bit finicky sometimes and/or corrupt because the name of the day happens to end in a ‘y’.
As long you don’t make all your Blueprints look like spaghetti and no when to use C++, you’ll be fine.

As far as raw engine vs engine, Unity kicks as much butt as any other engine - more so in some areas, less in others.
I just can’t say I’m a particular fan of Unity’s locked in nature or need to buy basic features.
I feel feel that non-2d or mobile games using the Unity engine feel off… but that could just be me.

Those bits make this post good in my book :stuck_out_tongue:

My 2cents on the topic. Everyone has their preferences, full disclaimer ue4 is mine haha.

Re ‘Underpowered’ I feel ya. I made my first big game in unity after learning ue4 for some time, and while I appreciated that the little things were easy to accomplish, as soon as you start aiming for bigger things, they get stupidly difficult in comparison to unreal and even udk back in the day (my best example of this is trying to make a beautiful large terrain in world-machine and import, generating materials with flow maps and such - the biggest stuff around to make that happen in unity haha).

Generally, I’ve found that little tasks/games/projects in ue4 can be more involved at first than they would be in unity, but once you start trying to do bigger things with more complexities, ue4 ‘kicks ***’ as you say, imo haha.

I’d recommend looking into level streaming - for large worlds it’s very valuable (arguably nessecary), though this poses some questions when considering multiplayer.

Same as Kris, I appreciate you not being a unity crossover demanding c# haha. C++ is a bit of a learning curve, but it’s just one of those things you’re better of biting the bullet and doing. The ue4 infrastructure for it is really good in my opinion. Depending on your experience this may be too basic for you, but i found the tutorial series by epic excellent and it covers ue4 C++, how it interacts with blueprints, and the general process of writing custom classes as a whole, within the unreal engine ecosystem:

I also referred to for awhile when running into casting and pointers and stuff, which I hadn’t really had anything to do with when scripting in unity previously. Solid site.

In terms of blueprint/c++, my personal strategy has been to try and do anything that has a heavy tick() aka update() in unity, mostly in c++, and then create blueprints as children of my c++ class to add any extra (less performance intensive) frills. Doing it this way we’ve managed to utilize the best of both worlds so to speak - the inter-connectivity and rapid prototyping of blueprint, with the performance advantage of c++ (which, while varied, is significant).

Glad we’re not the only ones haha.

As still a beginner in Unreal and not far ago being a Unity dev, I can tell my experience so far: Unreal is great! But it has it flaws as always. For me, Unity is simpler and easier to grasp at first. Unreal makes it easier and more structured to make bigger games (but that’s common sense, for I haven’t made any big game myself). Nonetheless, Unreal is not that complex once to get the hang of it. Blueprints is awesome for designers and also very helpful for programmers. From what I know, Unreal’s natural pipeline involves making in-game logic with Blueprints (even big games are many times made like that) and leaving more robust/demanding logic for C++ (logic that otherwise wouldn’t be very optimal in Blueprints). Nonetheless, you can make games fully with C++ or Blueprints, though I believe both options are not the best fit, instead a mix of it is preferred.

If you want power, Unreal will deliver it.