Coming from Unity, transition questions

Hello everyone !

I have been developping games with unity for 4 years now. I am essentially a technical person, I used a lot C# to do all my gameplay systems and basically everything I needed for my projects.
But recently I came over issues with Unity and breaking bugs, and I am more and more looking over transitioning to Unreal.

I am quite afraid to do so, and that’s why I wanted to ask if there was any people from experience that did the transition and how it went for them.
Even though I programmed a lot, I don’t consider myself as an engineer or anything like that, so going into C++ is really intimidating for me.
Is there any technical / programmers that made the switch, how hard was it for you to transition from C# to C++ ? Did you end up using only blueprints instead of C++ ?

In your opinion what is the “limit” of blueprints that basicly forced you to go back to C++ to accomplish what blueprints was not capable of doing ?

Thanks a lot for your time !

I moved away from Unity when the original company founders stepped down and they brought in the guy from Electronic Arts to run the company.

They jumped into “services” and cloud stuff while I felt the engine itself was becoming a secondary business.
I could bet Unity one day wouldn’t even focus on game development anymore so I left…

Before doing that, never in my life had I touched a line of C++ code so I downloaded Unreal (was subscription based back then) and started with Blueprints. 4 months learning the tools.

Then early 2015 I started diving in the c++ world of Unreal.
Got a new job after that, also helped some games ship doing freelance work and even went to work abroad a few times.

Then I thought would be nice to join the “Unreal Marketplace” as well, focused on ironing my recently acquired so called ‘c++ skills’ ha!

I began to publish plugins for Unreal somewhere in 2016.
And still doing so, several commercial games have made use of my plugins, several games for PC, Mobile, Switch, VR and PS4!

The plugins became my part-time second job. They make me push forward and keep learning the deep secrets Unreal hides, helping me improve as a coder.
With that, I can help developers to achieve their goals providing dedicated support every day when they are stuck in some process they find difficult.

That makes me very proud of my work because I know I helped somebody to be successful while I build courage and expertise to one day publish my own Indie product :wink: [HR][/HR]
The “technical” side of things, well… I believe you must be patient with yourself and understand that “change is good!”
Be resilient, when the engine bites you (and it will) bite it back, don’t give up.

Understand that the people who created this software are million times smarter than you and me. Everything in there is there for a reason, specially when we can’t see where the reasoning is.

I bought and read (for real) ‘the c++ Bible’;
Honestly, that was useless. What really matters the most is to know the tools and how they work. Being a “C++ guru” won’t serve any purpose if I don’t know how engine architecture is meant to be used.

So I personally focus on being up to date with the tools the engine provides and “where can I find them and expand upon if needed, in engine source.”

I read engine source code. I do this a lot.
I think everybody should too. I feel like a monkey learning to talk, before having access to Unreal source I was just a monkey that thought I was very smart… Now I know I will never be THAT smart, but at least I’ve learned a word or two from the gods of programming :wink:

Hi. Start with blueprints, don’t start with C++.
Nowadays even AAA titles are mostly made with blueprints (it’s official statement, it was mentioned somewhere on gamedev conferences on youtube, but I don’t remember url). Lots of titles are 100% blueprints.
After you get the general idea of how things work in Unreal, you will decide if you need c++ (most likely you won’t even need it).

As of restrictions, honestly, I can’t say much, I didn’t come to that point when I can’t do something with blueprints and urgently need c++ for my projects.

Blueprints are exceptional, very different from any other “visual” scripting in other engines.

Unreal comes with enough out-of-the-box stuff, if you want to make a “normal” indy game I don’t think you have to go down to C ++ unless you really don’t like blueprints. Or you enjoy programming more than creating games.
Also, and increasingly, there are many plugins that save you from go back to c++ for special things.
I have two games on steam, with completely different gameplay styles, and now I am with the prototype of another.
And they are 100% blueprints + marketplace plugins.

there is something about the unity vs unreal thing u might not realize :

unreal can be optimized to the extreme because of c++

where as unity doesn’t have that option.

and unreal still has the option of blueprints!

God Bless you. May Jesus Christ be Charitable unto you.

Acts 10 : 33 - 48, google it, its Awesome.

but it is not necessary to look at them, for me they are black boxes, I have no idea of c ++ it gives me chills to look at written code.

I do not know very well what you mean, if you use a pluging it is because what it has is already valid for your project.

The first thing to advise is that you decide on the engine based on the game and the target, but the OP has not made it very clear.

Yes, I would not advise a multiplayer game, unless it is a prototype, if you do not know C ++ why you ended up getting to touch things. But games only with bp are an empirical fact, and if they have already been released you have no dependencies on the plugins that you use.

Hey guys,

Thanks for your answers and for the insights.

I didn’t know there was such a harsh line between C++ and BP, I thought C++ was more accessible as a ‘additional posibiility’ when for exemple you want performant gameplay systems, rather than an entire platform that you need to dig into.

My projects are mainly third person shooters, so I believe unreal is of course a pretty good platform for that kind of things.

However, I always like to have all the possibility in my hand, even though BP seems really really powerful, I like knowing that I could get around issues by just writting code myself, which is not a problem, after all C++ is just another language to learn. But from what I can see, it is more complex than that in this situation and goes beyond just implementing some lacking functions in a project.

I guess the best thing I can do right now is to just go ahead and learn BP, and whenever I will feel limited switch to C++ and see if I can handle it or not !

Unreal pretty much gives you a third person shooter 50% done.
You mostly have to worry about graphic assets in that kind of project.
Multiplayer is absurdly solid too, but not easy to manage.

Not to scare you people, but to get productive in C++ you will also need good spec computer with an ssd of course. Otherwise the compilation is so slow and it will quickly wear you off.
A lot of time, code plugins bought in the marketplace will straight away plug-in ie it just works without any tinkering. However, to minimize the risk of the plugin being dead (and you are stucked), here are two considerations:

  1. Do not buy code plugins which do not sell well… even though it fits your requirement perfectly. These plugins may not get updated in the new version. You may try compile but there is no guarantee it will just work.
  2. Do not try to upgrade every time there is a new version. This way, your plugin stay intact and usable.