The new Subnautica 2 trailer was announced and it was revealed they’re building the game in Unreal Engine.
This is surprising because Subnautica and Subnautica: Below Zero where both built in Unity. It’s a surprising move because they will likely have to pay a higher royalty percentage to EPIC as well as rewrite the entire game. Despite that, they still believed it was worth moving away from Unity.
Seems like a pretty big loss, as Subnautica was a good example of a ‘big’ game made in Unity. I decompiled the project a couple years ago and it was GameObject-Component pattern pushed to the max. I’m sure it was becoming quite unwieldy.
I was also a bit disappointed with myself, as my first thought was “oh good, now it will look better”. I usually tell people “Unity can look as good as Unreal if you know what you’re doing”, but it seems like it’s getting harder to say that these days.
So? It’s a new game. Game entries switch between engines pretty frequently.
It’s not surprising at all, Unity’s actions severely undermined developer trust. Also, they aren’t rewriting anything, it’s a new game. Additionally, they probably started development when Unity had announced the runtime fee.
The vast majority of games using a third party engine are using Unity. It’s fine.
Technical reasons and financial reasons when Unity announced the runtime fee. If anything, it would be more work for them to go back to Unity now.
Unity is perfect for what I require. I feel like a lot of companies would switch over to Unreal if they’re making a PC game and have a larger budget. The Unreal price plans aren’t too bad now, looks like it’s changing to 3.5% revenue and no charge if you publish on the Epic store. So on the Epic store you only need to pay 12% rather than the 30% + 3.5% on Steam. Plus it looks like there’s going to be a mobile version of the Epic store.
When I got into modding Subnautica I quickly learnt the game’s code base is an absolute dumpster fire. They either had absolutely no idea what they were doing or they outsourced the coding, probably both.
This doesn’t detract from them being fun games, but there’s reasons why the game got very little in the way of content updates… the code base was so rigid and hard-coded (pretty much all the base building code is hard-coded in a giant 10K+ line script) that it was next to impossible for them to do so.
If these same people are working on the game… Unreal is a better choice for them.
From what I’ve seen in the past, bigger studios don’t just pick a game engine and stick with it. Rather they reevaluate the game engine decision on a per-project basis.
The developer most likely went through some prototyping and testing with a new engine and decided that UE5 would let them make a better game faster than Unity. Not a big surprise, to be honest.
People like to scream about the 5% fee, but you have to remember you’re getting a ready-to-use toolkit for that price. The editor is silky smooth even with larger projects. You can modify the source code of the engine. It’s easier and cheaper to create high-fidelity games because the tools are already there.
Unity has been stuck in the endless process of rewriting everything, leading nowhere since 2016.
Open world game developer known for open world games choose an engine with proper open world tooling. News at 11.
Asset store is full of “looks nice in a demo but can it really ship a multiyear project at scale?” tools each doing their own thing for open world games with varying degrees of success and compatibility with existing pipelines and other Unity systems. Meanwhile, the more known Unity open world games are made by veteran studios rolling their own solutions either via heavy engine source modifications or by using heavily modified Entities and subscene loading available there. If an indie studio doesn’t have that kind of resource, Unreal seems like a better approach specifically in open world context. At least until Unity 7 drops.
I do expect them needing to change a lot of Unreal source code. That will be high development cost for such large dynamic living world.
I also assume, they changed to Unreal with a pain decision, because of runtime fees.
I wouldn’t be surprised however, if they decide to move back to Unity at some point, since it is more suitable to design such kind of games, instead in Unreal. But that is low expectation at this point, if they have already heavy invested in Unreal core.
I am curious, how they will manage all peroformance challanges.
At least they could design whole game in much smarter way. And make it easier for modding, if they want to.
Possibly even using some of DOTS. Which is ideal for such type of game.
Like the Quake Engine, Unreal Engine was really just an FPS game. Unity was designed to be a general purpose 3D engine for all kinds of games and simulations. Over the years Unreal Engine has become more general purpose but I’m sure some developers still feel it isn’t general purpose enough.
I do thing Unreal Engine does have better open world streaming capabilities than Unity. I remember they wanted Subnautica 1 to be a procedurally generated world but it wasn’t feasible at the time.
Unreal Engine is less general purposed than Unity. (Most web, Mobile and VR games are made with Unity) but it does AAA First Person a lot better. Basically if you’re building a game similar to Fortnite, in any way, it’s going to be a better engine.
I guess one big advantage UE5 has over Unity is that Epic actually makes games, and really successful ones at that. Unity has yet to release a game.
This hasn’t been true for ages. Coming with templates does not mean the engine isn’t general purpose.
Only one of these is a genre. “AAA” is a production level range typically tied to budget and nothing more.
Aside from Fortnite not even being a first person game, there’s a lot going on in there. It’s a large playfield. It’s a game that starts out with 100 concurrent active players in a match. It’s a game that (at least used to) had an entire construction system built in. It’s a game that has built-in team voice chat.
Besides being open world and having lots of static objects, which Unreal excels at, Subnautica has a lot of dynamic objects like fish, which interacts with player directly. I.e. attacking. Not just swarms, which swims and can be done on GPU.
I wonder, if Subnautica 2 will handle that well. They will need to dive into the Unreal source code.
Besides, seems like lots of issues from Subnautica was based on the code base design, not the choice of the engine itself.
I am seeing strange things mentioned about Unreal.
I will preface by saying I am no unreal engine expert.
Unreal is actually a fantastic engine and has been since the early days (Unreal Tournament)
Unreal can handle anything Unity can today, and more
Unreal has issues with high temps and CPU usage from my own experience
Unreal can be optimized to make number 3 less of an issue
Unreal is capable with minimal tinkering in making a substantial Subnautica clone in blueprints alone, this is due to the fact that the engine has a lot of what is needed readily implemented, for instance, if you have dozens, hundreds, or thousands of something you can use vertex animated mesh instance or textures or nanite instanced objects to load a ton of things, some people even have animated mesh objects it has a very extensive material system that supports custom material functions at greater depth than Unity. Although I wish the material editor had registerable variables.
Unreal Engine today, is VERY generalizable, it has primary revenue streams generated by more than games alone, people use it all over the industry for technical showcases and also film… and more.
these are some thoughts, but I will say I enjoy unity due to:
can just disable objects, unreal you must create odd no-tick blueprint hack
Unity has built-in legacy shader for vertex lights or just lower running API settings, Unreal is beefy and makes me cry
Build times in unity are generally faster
I will say this, if Unreal Engine ever made a Low-fi/Retro Unreal 5 Branch that was basically a modern re-take of Unreal 99 or Unreal 2k4, with a C# scripting back end, with disable objects, that would kill Unity for me. I love playing unreal made games.
Unity is sorcery, who knows if your project will get anywhere or be killed by some strange bug: