| I honestly don’t buy that for a minute. Unity3D is an implementation detail for games that would be closed source anyways. The games that are the biggest part of mainstream culture today like Fortnite, GTA, CoD, AAA games in general are not open source. If a creator is interested in open source they won’t use Unity, but since open source is very far from the “default” for games there’s no difference between a game written in Unity and a game written in some in-house engine. Not one culture defining game interested in being open source has come out on Unity3d because you don’t start an open source project by building on a closed source engine... And as an aside, Unity3D is not that opaque either, increasingly large parts of it are being opened up and the Unity executable setup is not designed to be particularly opaque to someone trying to access a specific game's assets. |
On the technical side, most game code is present in the final distributable as abstract MSIL, running inside a VM. So you wouldn't need the game source code to port a game in 99% of the cases.
Big budget titles use engines for which they have source code access. So studios can just go and update thesw titles whem they want and that is what they are doing. Small studios and indies don't have that luxury. They use Unity because it isncheap to get locked into that plarform and get the game out. If Unity ever goes under, there is simply no engine code that they can maintain. No indie can afford a Unity source license - it's multiple of their entire budget. They would have to recreate their games almost from scratch on a different engine if they ever want to re-release them. And the results will always be subtly different from the original. This is a fate that awaits about half of the games of the Steam catalog.