Did you know you could have got Subnautica for free for the last two weeks? Well if not then you missed out. You see, Epic's launched their own digital distribution service to 'rival' platforms like Steam and as an incentive they are giving away a free game every two weeks. Subnautica actually wasn't a bad first choice and most people were happy to find that you could run the game without Epic's Launcher running too (initially suggesting a lovely DRM-Free business model, or at least a business model that supports DRM-Free games if developers so desired).
WRONG! Well, apparently. An update was pushed the other day that got many people complaining that the game no longer started up without running it from the Epic Games Launcher. And it's true, I actually did some digging myself because I wasn't sure if this was a bug or a deliberate change to the code, but it is deliberate. After I did said digging I found that the only file causing the problem was
Assembly-CSharp.dll. I used a decompiler to check for changes and boy is that file one big pile of shit, but I found what I was looking for eventually. Two lines of code that did not exist in the old version of the file:
if (Array.IndexOf(Environment.GetCommandLineArgs(), "-EpicPortal") == -1)
It's not rocket science and you can probably gather what it means by reading it even if you aren't particularly adept at reading code, but if you're a proper layman without any clue what I just wrote then it basically means if the game hasn't got
-EpicPortal in the command line argument when it starts, then it immediately quits. It doesn't produce any errors and doesn't log anything, it just looks for that command line argument and if that isn't there, it nopes the hell out of there. What's a command line argument I hear you ask? I can't be arsed to explain that, have a search on your favourite search engine.
So there you have it, the update to Subnautica (version 61951) was deliberately changed so you can't run it directly from the executable and I felt it worthwhile pointing this fact out in case anyone was unsure or thought otherwise. I even made an account (which I subsequently deleted) on Reddit just so I could post in a thread about this issue to get maximum exposure, as quite frankly I think it's a bit of a dick move by Epic and UnknownWorlds.
Luckily you can still workaround the problem. Create a shortcut for the game and stick
-EpicPortal in the target field:
The game will now launch as it did before in version 61919 without a need for the Epic Games Launcher. How long this will last is anyone's guess, if Epic really want to be cunts about this and really only want the game run from their launcher, then when they get wind of this workaround they'll probably have the game updated again with more robust methods to prevent it from being launched on its own. Of course, this is all assuming Epic is even to blame. Unknown Worlds might be the cunts in this parade and Epic might be innocent. Who knows. Then again maybe this is just me and anyone else that moaned about it being petty, since it's not like we paid for the game.
My advice to avoid potential future issues would be to keep a backup of the game's installation folder somewhere safe, though as it is you'll need to do that anyway if you plan on uninstalling the Launcher but keep the game, as when it gets removed it takes any games it installed with it. Anyway if indeed they do update again in the future and bork it even further with their retarded logic then I will endeavour to find a workaround and update this article.
Oh and, happy Christmas, even though it was three days ago and a happy new year!