I’m not going into the technical differences between the engines, more like what it means to Nelson and the developer community.
Why stay on Unity?
Keeps plugins, Rocket, etc (plugins will have to update)
Stuff like RocketMod and Plugins may not be possible at all on Unreal (at least not C# / .NET anymore, and ugly LUA instead)
Assets have to be ported to Unreal (Maps are probably not portable at all, only models, like vehicles), kills all workshop content. Workshop may still work with Unity rewrite (depends on Nelson).
Nelson knows Unity better than Unreal, significantly reducing time required for rewrite
Switching engine will probably mean death to current developer community
Probably higher commercial usage fees on Unreal Engine
Unreal is using C++, Nelson has to master a new language, also C++ has the issue that exploits can easily happen. I have seen proofs for Unturned that a BufferOverflow can happen by sending faulty networking data, but since its .NET it can not be abused. In Unreal a BufferOverflow could even lead to remote malicious code execution.
Why Unreal?
Even less cheaters, as hacking is harder on native games (does not apply if open source). Public cheats are already dead, but private ones are still out. Switching engine will kill any cheats and maybe there wont be any at all anymore.
Higher graphics, better shaders etc are possible
Unreal is using C++, when used correctly it means better optimization and hence performance
tl;dr:
The main issue of switching to Unreal is that the developer community around Unturned has no experience with it and that no code / assets will be able to get ported. One should not underestimate the power of the developer and workshop community, which surely helped in Unturneds success. Switching to Unreal Engine would mean that Unturned would be mostly “vanilla” for a while, until people figure out how Unreal Engine, the developer API (probably LUA) and the workshop content creation works.
If just rewriting from scratch for Unity, developers can easily update their plugins, assets etc.
I’ve been meaning to write a blog post about some of the higher level reasons for looking at Unreal over Unity and will work on that some more soon. Your point that I know Unity better than Unreal is valid, but the rest are the same regardless of engine.
I’m not aware of any buffer overflow exploits in 3.x. If you know of one please send it to me so I can patch it.
Afaik string bounds are not checked on networking. E.g. you can send the length longer than the string is, Unturned will try to read the string at the given length but will try to read more than there is, causing exceptions (on .NET). Would work vice versa in C++ by sending length shorter than the real data. This could cause overriding of memory with the overflowing content. The bound checks are not needed in .NET anyway, as the runtime does it. But C++ usually has no such auto-bound checking, which could be abused when forgotten. Would likely cause a server crash. This was just an example what can happen on low level C++ code when there are no runtime checks.
Nothing to fix in current Unturned, as it’s not needed.
I have edited the post to point out that it is not about the technical aspect, that its more about how it would affect the developer and the workshop community
@Dakski, @tehswordninja
Thing is have either of you both used Unity and Unreal or have lots of experience and understand how they both work? Unless you have then you can’t really say which one is better
Please have a look at Escape from Tarkov. GPU/CPU usage is more how Unturned was made if Nelson did a rework on Unity with the latest Unity version and with performance in mind then i reckon it would truly be better then moving to Unreal
EDIT BECAUSE I HIT THE FIRST DAY LIMIT PLEASE REMOVE NELSON
Also moving to Unreal would mean no more RocketMod and RocketMod is what most servers run off of by selling kits. I personally know someone with a fairly big network that say they most likely wouldn’t be able to keep running without RocketMod.
Maybe Nelson wants to get away from RocketMod and get back to the core of the game instead of all theses Kit servers but just look at the stats very few servers run vanilla vs Rocket mainly because they wouldn’t get donations and without the servers… well yea i think you get the picture
You’re right,
Switching the game engine means throwing away all the plugins, And then making the new plugins in (probably) different language. Unity is ok, with the right optimization and code design it would be perfect for unturned! so I think we shouldnt switch to Unreal it would be an Overkill for a type of game like Unturned.