top of page
Search
Writer's pictureDavid Bakaleinik

Unreal Engine 4 and Unity

Main talking points

  1. My experience with the 2 engines

  2. Why we picked Unreal for our game

  3. How that's going

  4. Plans for moving forward


Toybox Nightmare is being developed on Unreal Engine 4.

Until this spring, I have only been exposed to a single game engine - Unity. I have used it for a few years now, so feel quite comfortable with it and it's documentation. Last semester I took a class that was generally meant for designer and focused on teaching as many new things about Unity as possible - from story tool, to AR, to making custom editors (quickly spawning pre-configured objects into the scene). I had a very brief run-in with a tool that was trying to introduce visual scripting into Unity - which up until recently used C# scripts as the sole method of programming in game functionality. This visual scripting business sounded really useful on paper - allowing you to quickly add mechanics and test them, as well as being more noob-friendly to those that are not as familiar with classic programming. In practice, this tool confused the hell out of me, so I quickly stopped and haven't touched it since. However things started to change at the end of last semester and Unity announced that they are finally working on adding visual scripting and I tried Unreal.

I was aware that Unreal Engine existed and was just as popular as Unity, but was never exposed to it, so for the final project of that designer Unity class I decided that I wanted to try and recreate one of my first Unity games in Unreal - who knows, maybe I'll like it better?

I didn't.

The switch between the 2 engines in terms of UI and operations was relatively painless, especially since Unreal has a handy Unity-to-Unreal guide for people like me. I knew that Unreal had Blueprint, which was a visual scripting tool/language that Unity tool was based on, as well as C++ code, so I felt prepared, since C++ is what most of my classes are in.

I wasn't ready.

I only now understand (and even that is quite questionable) that C++ is meant more as a base for your project to stand on and frankly, isn't a requirement to make a cool game. Blueprint, on the other hand is what is used for scripting, and therefore most of the game's functionality is written in it (yes, I know that there is a mix of Kismet and C++ underneath all of that, but my point still stands). However the problem was that the style on which Blueprint works and the different naming conventions confused (and sometimes still confuse) the crap out of me, making the learning process pretty difficult. I won't go into all the details here, but suffice it to say that, while I now would be able to use that Unity tool fairly easily, Unreal itself seems intent on showing me that it's not worth the effort.

The last 2 things I'll mention here are the ones that have remained a persistent pain throughout the semester: merciless version changes and git merging.

Unlike Unity, Epic don't seem to have any problems completely removing or at least visibly restructuring existing functionality from the engine this makes it very difficult to follow the tutorials that are more that 1 year old, as an integral part that makes everything work for them, might simply have been deleted from the version I am on.

The second issue is caused by the binary format of all of Unreal's assets, meaning that git GUIs like Gitkraken or Sourcetree are unable to preview them, making merge conflicts a potential living nightmare to resolve, unless you 100% know which version you need.


So if I have all of these problems, why on Earth did we pick Unreal as our engine? Simply because our artist are familiar with it and I backed them up, since I had some prior experience. Back then I didn't know about many of the problems I will have, so I was curious to try the new engine and expand my knowledge.

Despite these many problems, things are being done and I am starting to slowly adjust to working in Unreal. Maybe after a few more games like this I'll be as comfortable in it as I was in Unity - only time will tell. But right now I just want to finish this game and go back to Unity, where the next game will be made.

Recent Posts

See All

Off-topic thoughts: going solo

What this is and why I am doing it Thoughts on working solo from home vs applying to a studio This won't be nearly as organised as the...

Comments


bottom of page