Picture taken from their Twitter
Technically you’re not wrong. The work is done, the logic already exists.
But systems like Unity aren’t like other code where you can rip one section out and still have 80% of a working codebase. Game engines are as fundamental to most of their game code as the language it’s written in. It’s not like you can just drop things into unreal or godot, connect a few interfaces and call it good. You still have to write the whole thing from the ground up.
As I said, it depends on how it’s built. And how proprietqry the engine is.
Unity from what I know supports universal code/mesh/texture formats, but if the devs opted for the “easier to use” proprietary systems- well, that’s a problem.
Now what I don’t know is how easy are scenes to export in Unity. They’re probably built with Blender or something else though in most cases, unless Unity has drastically changed.
Assets are safe, but they often need to be re-rigged or re-formatted. It’s still a non-trivial task though. Levels will need to be rebuilt, open worlds have to be started almost from scratch, and a lot of other things I can’t think of off the top of my head.
The real problem is underlying systems. Unity often handles networking, render engines, game logic and most other things. The reason Unity was so popular was because it was easy to use (and free). Game code will need to be at minimum heavily refactored, if not rewritten, as anything that interfaces with the engine needs to be changed over. Just like you can’t just port c++ -> c# without major changes, you can’t port a game engine without major changes too.
Unless theyve built everything as a separate code bundle, only interacting with the engine at a bare minimum, there’s no way to change with minor impact. It’ll be a huge project that will also require the engineers to learn a new stack that behaves differently, further slowing down the process.