author

Shon

August 26 2023

5 min read

Unity to Unreal

So it finally happened, we decided to switch engines! In June we were trying to decide which client we wanted to build the first releasable version of the SteelPinion on. There was a flirtatious investigation of other engines such as Godot, Unreal and Bevy.

Not our first choice...

SteelPinion has an HTML5 (web) client and a Unity3D client. The differences are quite vast considering the limits of web technology when compared to a game engine with rich history like Unity3D. In short; we had begrudgingly decided that Unity3D would be the better investment of time, mostly because we'd already figured out the destruction algorithms along with decent toon shader code.

Going the HTML5 route meant losing the VAT animations and destruction sequences. We had thought of creating a bunch of prerecorded scenes to mitigate a total loss of the functionality, but then player's couldn't customize things like colors of their ships anymore (and attachments couldn't be in the pre recorded scenes).

Loyalty to Unity

Given the technical limits of HTML5, and previous year of experimental clientside development in Unity3D, we decided it would be best to continue that same path. Unity afterall, had been my engine of choice for over a decade now.

Then Unity announced a change in their monetization strategy which rattled the global indie dev community. It rattle me too, and I was already on the fence since my team wasn't excited to work with Unity to begin with. This announcement made us stop and rethink our decision again.

Why we switched

The primary reason is talent acquisition. As a small indie studio, people need to be excited about the project, the people, and the tools. If any of those fall out of line, you can easily lose a contributor. Unreal is something people are excited to work with. While Unity has lost even more favor with the community after that announcement. Before this news, Unity has been on a downslide since the whole BiRP/LWRP/SRP/HDRP/URP pipeline distraction; because Unity has already divided the community's once strong asset marketplace into incompatible mayhem.

While in the meantime, Unreal 5 capabilities EXPLODE beyond Unity. Epic uses their engine to release real games. Epic Studio makes games, understands the complexity of game making, and has an engine they share; while Unity has a "game engine product". When Unity suffers a shader workflow problem, slow editor, or pipeline issue; then it isn't a pressing priority for teams at Unity. At the end of the day, Unity doesn't release games.

After using Unreal for just a couple of weeks, there is a VAST difference in capabilities and quality of life tools BUILT DIRECTLY INTO Unreal engine editor! Some similar tools that I had built myself in Unity or purchased a Unity plugin to bring the Unity editor up to snuff.

I am embarrassed to have spent as much money as I have on the Unity marketplace when Unreal offers a superior selection of built-in plugins, and the FREE Quixel marketplace.

What's Next

We are updating much more regularly now on Youtube and Discord via little devlog update videos. These are short concise records for us on the project. Most of these records are going to be discovery about Unreal 5, as we explore its capabilities to ultimately find a new home for SteelPinion as originally imagined.

These monthly articles will continue to happen. We will eventually begin to include more of Leo's excellent modeling work within the new engine's shaders. I'd love to show off the new ships from a shader in Unreal!

Join our newsletter!