Download

Porting an existing game to UE

Hello fellow developers,
for quite some time I have been working on a game with an engine that is being discontinued now.
As such I have deemed it necessary for the long term to switch to a more established engine and since that seems to be either Unity or UE nowadays I figured I would go with Unreal Engine since my language of choice is C++.

I am quite proficient with C++ but I have never worked with a full-blown game engine like UE, rather with frameworks like SFML. If I had to switch to another more-framework-like engine I would simply replace the code that is responsible for displaying graphics, network, sound and whatever else might be dependant on the libs.

Now with my Unreal Engine the first thing I see is this overwhelming editor with a premade scene and a tiny bit of code in Visual Studio (which seems to have little to do with the scene).

Now my question is: can I just ignore this editor and do everything purely in code (or with my own level editors etc), as I have before? Of course for a new game it would probably good to utilize the editor since it seems to be a sophisticated tool, but learning and applying it to an already existing game seems like much more hassle than necessary.
If so, can I just copy and paste my files into visual studio and replace the parts mentioned before or is there anything else I need to look out for? Are there any tutorials for this kind of transition?
I couldn’t really find anything about this topic with google so hopefully any of you experienced UE-developers can answer this.
Thanks in advance!

You can’t just copy and paste code from one engine to another, you have to rewrite things to work in the way that the engine handles them. Also, if you don’t have permission to do that with an existing game then that would be illegal to use their content that way.

If you are unwilling to learn how the engine work, just forget about it.
“Porting” a game usually means either running a VM to emulate old code or simply rewrite everything… Usually a VM would be illegal (depending where original code comes from) so the only way is re-write to game, you cannot simply execute STL code in Unreal neither any other game engine.

Asset wise, you have to make sure the assets are 1:1 in the new engine from the old.
Code wise, you will need to rewrite the code, which should be simpler since you’ve done it already.

There is no obfuscation going on in Unreal. Any native code is there to read in plain text unlike other popular engines. Even Blueprint native nodes can be double clicked and it will show you the code it runs.

I can understand that someone don’t want to create logic in Blueprint though but hard-coded references to assets can be avoided by using Data-Only Blueprints.

The engine is huge and complicated and will take even a Senior C++ developer a long time to learn but that is to be expected with any new large code base.