arrow_back All guides

Getting Started with Subnautica 2 Modding

UE 5.6 template, UE4SS blueprints, FMOD setup, and packaging your first pak-chunk mod

AndreaDev3D
·

Subnautica 2 modding is a different world from Subnautica 1's. Subnautica 1 ran on Unity with BepInEx and Nautilus; Subnautica 2 runs on Unreal Engine 5.6, and the community's first viable modding path is built around an Unreal template project plus UE4SS for blueprint logic. This guide walks the full setup, end-to-end — from installing Unreal Engine to packaging your first mod and getting it into the game's LogicMods folder.

The whole flow is built on the Subnautica2-Project template maintained by the Subnautica2Modding team on GitHub. If you want to skip the explanation and dive into source, that's where to start.

Prerequisites

Three pieces of tooling, all free:

  1. Unreal Engine 5.6.1 — the editor and runtime. Install from the Epic Games Launcher.
  2. Visual Studio 2022 — required to open the template project. During install, you must select the MSVC v14.38 toolchain specifically; newer toolchains won't open the project. Epic's setup guide covers the install.
  3. FMOD for Unreal — required for audio integration. Sign up at fmod.com and download the UE5.6 build.

Confirm all three are installed before continuing. The MSVC v14.38 toolchain in particular is easy to miss in the Visual Studio installer — search for it explicitly under "Individual components".

Step 1 — Clone the template project

Clone (or fork, or download as .zip) Subnautica2-Project. The repository is also listed on OpenMods as mod 61 if you'd rather grab it from there.

The repo includes:

  • The base Subnautica2.uproject.
  • A DemoMod you can use to verify your setup before writing your own mod.
  • Helper scripts (setup-fmod.ps1) for the FMOD wiring.

Step 2 — Wire up FMOD

FMOD's raw bank files and native DLLs aren't included in the template for legal reasons (Unknown Worlds and Firelight Technologies own them respectively). The repo's setup-fmod.ps1 script copies them from your local installations.

From the project root, run:

powershell -ExecutionPolicy Bypass -File setup-fmod.ps1 -FMODPluginZip "<downloads>\fmodstudio20309ue5.6win64.zip"

Replace the path with wherever you saved the FMOD UE plugin zip. The script extracts the native DLLs and pulls bank files from your local Subnautica 2 install.

Step 3 — Open the project

Double-click Subnautica2.uproject. The first launch takes 2–10 minutes while Unreal compiles shaders and source. Don't kill it during the first launch even if it appears stuck.

After it opens, you can confirm the setup worked by running the included DemoMod — start a game and check the main menu for the demo mod's visible additions. If you see them, your toolchain is correctly configured.

Optional: right-click Subnautica2.uprojectGenerate Visual Studio project files to produce a .sln you can build from VS directly. This requires the right build tools and isn't necessary for blueprint-only mods.

Step 4 — Create your first mod

Subnautica 2 modding uses UE4SS's Blueprint Mod Loader, the standard Unreal community workflow. The full UE4SS setup is covered in their docs (docs.ue4ss.com), but the short version:

  1. Create a folder for your mod under Content/Mods/<yourmodname>/.
  2. Inside that folder, create a Blueprint Actor named ModActor. UE4SS auto-instantiates anything named ModActor in the right folder.
  3. Add whatever logic you want to ModActor's event graph. For a first mod, try editing values on a Data Asset under Content/Data/ (the ones prefixed DA_).

If you've modded Unreal games before, the rest is familiar. If you haven't, Dmgvol's Unreal modding guides are the canonical starting point — the Subnautica2-Project README recommends them as foundational reading.

Step 5 — Package your mod as a pak chunk

Subnautica 2 mods ship as pak chunks — sets of .pak + .ucas + .utoc files Unreal generates from your mod folder. The packaging steps:

  1. In your mod's folder, right-click → MiscellaneousData Asset.
  2. Search for Primary Asset Label and select it.
  3. Name it PAL_yourmodname (e.g. PAL_DemoMod) following Unreal naming conventions.
  4. Open the asset, set Cook Rule to Always Cook, and check Label Assets in My Directory.
  5. Set the Chunk ID to any number between 1 and 300. Do not use 0 — chunk 0 is reserved for the base game cook.

Each mod must use a different chunk ID. Keep a list — duplicating IDs across mods produces overwrites at install time. Save with Ctrl+S.

Now package: PlatformsWindowsPackage Project. Pick an output folder (the project root is fine). The first package takes a while because Unreal compiles shaders; subsequent packages are much faster.

When packaging finishes, navigate to Windows/Subnautica2/Content/Paks/. You should see your pakchunk<id>-Windows.* files alongside the always-present pakchunk0 (the base cook — don't touch).

Step 6 — Install the packaged mod

Copy the three pak-chunk files for your mod ID — .pak, .ucas, .utoc — into the game's mods folder:

<steam install>\Subnautica2\Subnautica2\Content\Paks\LogicMods\<YourModName>\

Create the LogicMods folder if it doesn't exist. Inside it, create a subfolder matching your mod's folder name from the Unreal project (e.g. DemoMod). Drop the three files there.

Critical: rename the files to match the mod folder name, keeping their extensions. If your project folder is DemoMod, the files must be DemoMod.pak, DemoMod.ucas, DemoMod.utoc. If you ever rename the mod folder in the project, update the installed files to match.

Launch the game. Your mod loads.

Step 7 — Automate with a batch script

The copy-and-rename dance gets old fast. A small .bat script automates it:

@echo off
set MODNAME=DemoMod
set CHUNKID=14
set STEAMDIR=C:\Program Files (x86)\Steam\steamapps\common
set PROJECT=C:\path\to\Subnautica2-Project

mkdir "%STEAMDIR%\Subnautica2\Subnautica2\Content\Paks\LogicMods\%MODNAME%" 2>nul

copy /Y "%PROJECT%\Windows\Subnautica2\Content\Paks\pakchunk%CHUNKID%-Windows.pak"  "%STEAMDIR%\Subnautica2\Subnautica2\Content\Paks\LogicMods\%MODNAME%\%MODNAME%.pak"
copy /Y "%PROJECT%\Windows\Subnautica2\Content\Paks\pakchunk%CHUNKID%-Windows.ucas" "%STEAMDIR%\Subnautica2\Subnautica2\Content\Paks\LogicMods\%MODNAME%\%MODNAME%.ucas"
copy /Y "%PROJECT%\Windows\Subnautica2\Content\Paks\pakchunk%CHUNKID%-Windows.utoc" "%STEAMDIR%\Subnautica2\Subnautica2\Content\Paks\LogicMods\%MODNAME%\%MODNAME%.utoc"

echo Install complete.
start "" "steam://rungameid/1962700"

Replace MODNAME, CHUNKID, STEAMDIR, and PROJECT with your values. Run after each package, and the game auto-launches with the new mod installed. Add more copy blocks for additional mods if you maintain several at once.

Common gotchas

  • Wrong MSVC toolchain. Visual Studio 2022 must include the MSVC v14.38 toolchain specifically. Newer toolchains won't open the project; the editor will refuse with a misleading "detected compiler newer than Visual Studio 2022" error. The fix is in the VS Installer → Individual components → MSVC v14.38.
  • FMOD setup skipped. The project won't compile cleanly without the FMOD bank files and native DLLs in place. Run setup-fmod.ps1 even if you don't think you need audio — Unreal's load path expects the files.
  • Chunk ID 0. Reserved for the base game's cook. Using it overrides core game files; don't.
  • Duplicate chunk IDs across mods. Two mods with the same chunk ID overwrite each other when packaged. Keep a notebook of which IDs you've used.
  • File names don't match mod folder name. The pak/ucas/utoc files must share the mod folder name. If the project folder is MyMod, the files must be MyMod.pak, MyMod.ucas, MyMod.utoc. Mismatches produce silent load failures.
  • First Unreal launch appears hung. Compiling shaders and source on first open takes 2–10 minutes. Don't kill the process during the first launch.

That's the full first-mod loop. Once you've got the DemoMod loading and your toolchain reliably packages, the rest of Subnautica 2 modding is normal Unreal blueprint and (eventually, when the community has reverse-engineered more of the game) C++ work.


Source and credit

This guide is adapted from the Subnautica2-Project README maintained by the Subnautica2Modding team. The template project is also published on OpenMods as Subnautica2-Project (mod 61) — install from there to get the same files, or clone the GitHub repo directly. Credit for the underlying workflow, the FMOD setup script, the packaging conventions, and the install paths belongs to that team.

If you find issues in this guide that diverge from the upstream README, the upstream is authoritative — please file feedback against the GitHub repo so the community knowledge stays in one place.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.