Thursday, February 22, 2018

Subnautica [DX11]

Download the fix:

This release officially brings support for Unity 5.6 to my template (shader extraction support is also added for Unity 2017.1, 2017.2 & 2017.3 formats) :)

Update v1.1

  • Adjusted several more HUD elements (resource blips, battery swap icons)
  • Fixed various interior water surfaces (e.g. Moon Pool)
  • Fixed Seamoth & Cyclops sonar ping
  • Low convergence toggle key added (useful for the Seaglide's terrain hologram)
  • Auto HUD adjustment now rests on in-world HUD elements (e.g. Cyclops Cockpit)
  • Crosshair re-enabled by default to make in-world HUD elements easier to use (press X to disable as before)


  • Halos
  • Lights & shadows
  • Screen Space Reflections (two types)
  • Underwater light rays
  • Water refraction (look at the moon viewed from below the surface)
  • Automatically adjust HUD & crosshair depth
  • Fix flickering HUD
  • Disabled crosshair (X to toggle)
  • Automatic convergence & mouse depth preset when PDA is active
  • Adjusted scuba mask depth to be just slightly behind the screen, but still 3D (see x1 in the d3dx.ini to change the depth, or use the game's built in F6 hotkey to cycle between several options, some of which disable the scuba mask)


  1. Extract the contents of the zip file to the game directory.

  2. If you are running the 32bit version of the game, replace the DLLS with the ones in the 32bit directory.

  3. Right click on the game in Steam and go to "Properties" -> "Set Launch Options" and enter "-window-mode exclusive" (without the quotes) and click "Ok"

  4. Disable motion blur in the game settings.

  5. Set Anti-Aliasing=FXAA


X: Toggle crosshair visibility

Caps Lock: Toggle low convergence preset to keep the hands behind the mask and make the Seaglide's terrain hologram easier to see.

\: Set high convergence preset recommended for a stronger 3D effect.

F6: Cycle various HUD & self display options (game shortcut, not mine. Beware that this conflicts with the convergence hotkeys, and you may have to press it several times to make everything visible again).

Known Issues

  • The horizon is not quite right when the camera is tilted.
  • Certain fog effects are not quite even between both eyes.
  • Performing a self-scan underwater briefly reveals the original depth of the scuba mask.
  • The mouse cursor does not line up with the vehicle modification station when customising a vehicle's colour (no apparent way to distinguish between this scenario and the main menu).

Side-by-Side / Top-and-Bottom Output Modes

This fix is bundled with the new SBS / TAB output mode support in 3DMigoto. To enable it, edit the d3dx.ini, find the [Present] section and uncomment (remove the semicolon) the line that reads:

run = CustomShader3DVision2SBS

Then, in game press F11 to cycle output modes. If using 3D TV Play, set the nvidia control panel to output checkerboard to remove the 720p limitation.

Like my Work?

Fixing games takes a lot of time and effort, and I am currently otherwise unemployed largely due to my ongoing battle with mental health issues.

If you are in a position where you are able to do so, please consider supporting me with a monthly donation on Patreon, and thanks again to those that already do! While I prefer the more stable monthly support that Patreon offers, I can of course understand that some of you prefer to make one-off donations when you can, and for that you can use my Paypal. As a reminder, these donations are to support me personally, and do not go to other modders on this site.

This mod is created with 3DMigoto (primarily written by myself, Bo3b and Chiri), and uses Flugan's Assembler. See here for a full list of contributors to 3DMigoto

Very special thanks to Neovad for a previous version of this fix while the game was still in early access, and all his work applying my Unity techniques to so many games I am not able to look at personally :)


  1. Hey, I'm the "incessantly babbling old nincompoop" who posted in the other thread with regards to this game. Was glad you chimed in to say you were working on this. I checked this site today to see if maybe, just maybe, there'd be a fix posted as I knew you were working on it, all the while thinking "dream on old man". Well imagine my surprise!

    Reinstalled the game, threw your fix in the game folder and Holy Flurking Schnit! It's beautiful! Wow man! Just wow! I can't believe how gorgeous this game looks in 3D...thanks to you!

    Look, I'm unemployed too at the moment. I wish I could buy you a new car for all the hard work you've done but I'm broke. But since you've given me a way to kill countless hours while I wait to get called back to work (I'm temporarily laid off), I couldn't conscionably enjoy this game without doing something for you so I just shot you 20 bucks CAD (Canadian and Aussie bucks are currently off by one cent) via my wife's PayPal account.

    Thank you so much bro! You rock! Will let you know if there are any major issues, but after farting around for twenty minutes, all I've noticed is myself giggling like a schoolgirl as I swim around a stunningly beautiful world in glorious 3D.


  2. Very well done... i like the fix. Although is it possible to fix the orange icons that the scanner room shows? The letters are in 3d but not the icon itself. Also the scanner room icon are not in 3d when you use a camera. I just noticed it so i guess i post it. So far the rest is awesome. Again than you so much.

    1. The resource blips are now adjusted along with the rest of the HUD in the 1.1 update. They aren't at the "accurate" 3D depth, but at least now they aren't at screen depth :)

  3. Well, Unity 5.6 with it's mysterious 25 type of shader. I want to have a look... "metal" ? WTF. Anyway I've almost fixed P.A.M.E.L.A. Thank's a lot for your work.

    1. Haha, yeah - first I heard of Apple's new rendering API when Unity added support for it and triggered the assertions in my scripts :)

  4. Maybe i can fix the shaders if i know how they did it. Only i have to know what they used.
    I understand that they made a program to use but as there are many of them i don't know where to start so if there is someone that can help me with that, i will have it a go. I also want to learn how to make those fixes. Let me know IF someone want to help me out. Thank you.

    1. If you haven't looked into it before, a good place to start is Bo3b's School for ShaderHackers. This gives you the basic ideas and the terminology we use.

    2. Yes i have looked into that but it's seems out of date to me.
      The 3dMigoto looks very different from this tutorials. Not only it shows different things, it also tells me to put the files in shader cache folder while there already are a few so for me it's not enough information. Thanks anyway.
      That is the reason i asked.

    3. All the basic principles are identical, you just change the syntax to use 3Dmigoto. If you take a look at any currently working fix and study it for an hour or so, you can see how it's the same idea, just different names. All it really requires is a puzzle solving mindset.

  5. Brilliant work, sir. Thank you.

  6. The fix is great. I have a question regarding gameplay. How do you know where to find the items you need? Is it always looking and looking or is there a map where they are?

    1. Well as this is not the place to ask these questions, you better can ask that on steam, but to answer your question, you always can use a scanner room to look for items. But otherwise yes, you have to find everything.

  7. Wow. An absolutely brilliant fix DarkStarSword. You're banging out these fixes lately at a faster rate than I can play them! Donation incoming.

  8. Hello,

    Thanks for the fix. I have a question though, if i record the game with Geforce Experience i get the SBS only it's stacked vertically. Is it possible to have it on the left and right? I think that the video i get from it is stretched horizontally like a widescreen because of that. I already changed some params in d3dx.ini. I saw that F11 is used for changing the SBS only the recording still shows top and bottom. Thank you

  9. OMG!!! Thank you VERY MUCH!!! 🐋

  10. "Hello,

    Thanks for the fix. I have a question though, if i record the game with Geforce Experience i get the SBS only it's stacked vertically. Is it possible to have it on the left and right? I think that the video i get from it is stretched horizontally like a widescreen because of that. I already changed some params in d3dx.ini. I saw that F11 is used for changing the SBS only the recording still shows top and bottom. Thank you"

    Nobody that can answer this? Is it always that geforce exxperience record it over/under? It seems that no matter what i do, the video is not always good, 1 time it shows good, the other time not while all settings are the same.

  11. Well , nevermind anyway, seems that max. you can record with geforce experience is 3.80 GB and that's about a couple of minutes so it has no use, don't understand the limits they put in. They said that on win 8 or even 10 there is no limit but even there it's 3.80 GB.
    So if someone can help me, please do so. I am out of options.
    So even if i get this right, there is a limit of 3.80 GB

  12. Fix is updated to v1.1 for issues I found later in the game:

    - Adjusted several more HUD elements (resource blips, battery swap icons)
    - Fixed various interior water surfaces (e.g. Moon Pool)
    - Fixed Seamoth & Cyclops sonar ping
    - Low convergence toggle key added (useful for the Seaglide's terrain hologram)
    - Auto HUD adjustment now rests on in-world HUD elements (e.g. Cyclops Cockpit)
    - Crosshair re-enabled by default to make in-world HUD elements easier to use (press X to disable as before)

  13. Just picked this up recently due to the retail release 3D fix, wow. Great job on this one, its like perfect 3D - almost feels like VR its so good. really appreciate the hard work and updates!

  14. Huge thanks for all your hard work DarkStarSword!

  15. After Subnautica update 85 on Steam, applying the 3D fix results in shadows that don't match properly. Hope there will be a fix! This game is amazing in 3D. Don't want to have to go back to update 84 or earlier but can do that if nothing else.

    1. Yeah, I was mistaken about this. I just had the wrong anti-aliasing on.

  16. Impossible to start game in 3D mode with the fix installed since today Windows Update 1803 :
    Black screen with version number and "Savegame in progress", then Back To Desktop !?
    I've already try DDU and re-install of 388.31 driver. Nothing is working...

    1. After today's Nvidia Driver Update to 397.64, the game start but with an orange line on top of the screen :
      "Error opening E:\Program Files (x86)\Steam\steamapps\common\Subnautica\ShaderFixes\mouse.ini"
      and there is no more mouse cursor on the main menu screen and nor in game!

    2. *** Semi-solution : I change hide_cursor=1 to hide_cursor=0 in the [Device] section of d3dx.ini and put a semi-colon in front of the line "include=ShaderFixes\mouse.ini" at end of the file.
      I think it forces cursor depth to screen depth but it's playable...

  17. @ E. Forget, I looked at the fix v1.1 and did not see a mouse.ini file in there.. did you buy chance try and use the mouse.ini from a newer fix into this one??

    1. Sorry for the long time to answer.
      I've seen that the mouse.ini line appear after I created a hotkey with 3D Fix Manager.

  18. I just bought this game on the steam summer sale, and unfortunately I think the 3d fix is now broken. The helmet hud displays incorrectly when underwater (worsened by adding depth or convergence). When you first start the game, the fires on the ship in the distance are only visible in one eye, and the sea bed light reflections also look 2d. Could anyone confirm?

  19. I've just play today (Steam version May 60072) from 3D Fix Manager and all is ok. I've just still the problem of the mouse cursor seen 3 posts before.

    1. After playing around with the convergence / depth a little more, I figured out that convergence needs to be set pretty low for things to look good (With a low convergence, the glitches above are not present). I cranked the depth up almost to max, and the game now looks stunning - amazing depth effects!

      The only issue now is gpu performance ;) my 970 is struggling to get ~40 fps with medium settings at 1080p; Really hope Nvidia drops the 11xx series soon so I can run my 3d surround setup!

  20. I've got a problem. The part of the HUD that indicates O2, Health, Hunger and Thirst is not at Scuba Mask depth (or screen depth) like the QuickSlot bar at the bottom... Does anybody know to fix this? Thanks

    1. It's supposed to be at the dynamic HUD depth so you can see it without having to refocus your eyes - the only reason the quick slot bar isn't at that same depth is because it overlaps with the scuba mask. If you want to tweak the HUD depth logic you can play around with ShaderFixes/hud.hlsl, but I warn you this game is difficult to get the HUD to behave well.

    2. Alternatively, try tweaking the z & w [Constants] in the d3dx.ini to expand the quick slot bar blacklist region to cover everything you want.

    3. Ah, okay. I understand. I just find it distracting, especially when the player's arm moves through it while swimming. But when I press ESC for the menu, I love the way it looks! The O2 gauge looks like a sticker on the glass of the scuba mask, and everything behind it conveys a true sense of depth. ..That's just my personal opinion. I don't mind refocusing my eyes to look at the gauges. I could use the exercise anyway. Ha! :-)

      I'm playing around with the handle_hud function and trying to get the HUD to behave the same way it does when the cursor is visible. In any case, if I can't get this to work, I'm still gonna use your mod to play in 2D because I love that you can disable the crosshair! I spent a good hour, at least, trying to find a mod that removes the crosshair. I even went as far as looking for a way to remove the crosshair graphic from the assets file, but I ended up giving up. I said F it, let's try playing this game in 3D! So, I downloaded your mod and I was overjoyed to see that you added a key to remove the crosshair! :-o

      Nice work on the mod. It looks like it took you a s*** ton of time to get this done. You're a very smart guy. Keep up the good work!

    4. I do not understand why so few games include an option to disable the crosshair or make it's visibility context sensitive - it's just an eyesore whenever you're not trying to aim at something.

    5. Agreed. Subnautica is such a brilliant game made by brilliant developers. It has such beautiful graphics and ambience. It boggles the mind why they decided to go with a big, ugly, low res. crosshair like that... It really boggles the mind.

    6. Strange... some of the HLSL files are seemingly redundant, like hud.hlsl, for example. Any changes I make to it will not be reflected in the game. I can even delete the file and nothing will change in-game. When I press F10 in Hunter mode, it says that all hlsl files are loaded successfully...

    7. You need to freshen the timestamps on the files that include it (I really need to get around to writing that include tracker).

  21. Thanks for the fix. Taking a huge hit on fps though.
    27 fps in the shallows, with my base and cyclops on sight.
    And less than 60 on other areas, with an i7 4770k and a 1070. Am I in the zone or is there something off?
    Can you guys post how your performance is for some kind of comparison parameter?

    1. I've been playing recently, and this is not unusual. Game is not well optimized for lots of things, bases in particular. If you build a lot of bases in different spots, it keeps getting worse and worse. Game bug that is not going to be fixed.

      You are in the zone there, that matches my experience. In VR, I get always reprojection (45 fps) with a 1080ti and 8700K.

  22. Having problems with this game now playing in VR. I think steam is still applying a 3d fix I was using before I wanted to play in vr. The 3d environment is perfect but the interface is separated (like it would be if running in 3d).
    Is there a way to for a fix out of memory because it seems running the uninstall is not enough to get it out. Or are there setting in this fix than can cycle the hud to a state of non separated convergence?

    1. Seems like deleting the profile in Nvidia inspector did the trick.. Having some other minor graphical issues the horizon is little messed up.. Maybe I need to reinstall drivers again to get the original version back?

    2. Playing in VR, you should add the VR mod from NexusMods. It moves the PDA away from your face and fixes selecting stuff. Definitely do not run our 3D Fix at the same time, it will change the shaders in ways that won't work in VR.

      In VR, I see the same graphical glitches on the horizon, like it's not quite even or something. Not really objectionable. I don't think there is a solution to that.

      To switch between 3D and VR, you can use the command line -vrmode none to disable VR. I don't think it matters, but it's also a good idea to disable 3D in the control panel. In other games, that sometimes helps performance.

      BTW: it's a good point that uninstall.bat does not fully clean up. Now that we modify profiles, we definitely ought to put them back upon uninstall.bat.

    3. You should restore the profile to default to remove our changes, not delete it - if you delete it you will also remove the Optimus settings and whatever setting ID_0x80857a28 is that shipped with the driver. You will need to reinstall the driver to recover these.

      That said, we only change 3D Vision settings that usually would not interfere with VR, so I have my doubts it is related to our changes (unless maybe StereoFlagsDX10 has some unintended side effect outside of 3D Vision?).

      As Bo3b said, when playing with VR you should disable 3D Vision via the control panel - some games can get away without doing that, but others can't (e.g. SkyrimVR is heavily broken when 3D Vision is enabled in the control panel regardless of anything else).