About TunaLoader
What is TunaLoader?
TunaLoader is a mod manager, loader, and downloader built to make modding simple. Whether you're installing your first mod or managing dozens at once, TunaLoader handles it all in one place.
Manage your mods
Keep track of every mod you have installed. Enable, disable, or remove mods with a click — no digging through game folders required.
Download with ease
Browse and download mods directly through TunaLoader. No need to manually move files or worry about where things go — TunaLoader puts everything in the right place automatically.
Load mods reliably
TunaLoader injects mods cleanly at launch so they work the way they're meant to. Conflicts are flagged early so you spend less time troubleshooting and more time playing.
Free and Open Source
TunaLoader is free to use and open source. You're welcome to contribute, fork, or build on top of it.
Modding Guide with Tuna Loader
Welcome to the guide for making mods with Tuna Loader. You do not need to know raw IL code or use complex patching tools. You just write normal C# code, build a .dll file, and drop it in.
Follow these steps to set up your project and run your first mod.
Step 1: What you need
Before starting, make sure you have:
Visual Studio installed.
Tuna Loader Installer run at least once on your game folder.
The game files ready.
Step 2: Create the Project
Open Visual Studio and create a new project.
Choose Class Library (.NET Framework).
IMPORTANT: Set the target framework to .NET Framework 4.7.2 (or whichever version matches).
Name your project (for example: MyTunaMod).
Step 3: Add Game Files
Your project needs to talk to the game files. You must add references to them:
Right-click References in the Solution Explorer and click Add Reference...
Click Browse and go to FISH_Data/Managed/ inside your game folder.
Select and add these files:
Assembly-CSharp.dll
UnityEngine.dll
UnityEngine.CoreModule.dll
UnityEngine.InputSystem.dll (if you want to track key presses)
Step 4: The Code Template
Tuna Loader specifically looks for a class named ModEntry and a method named Load. Do not change these names or the loader will skip your mod.
Replace your code with this clean template:
using UnityEngine;
using UnityEngine.InputSystem;
public class ModEntry
{
public static void Load()
{
Debug.Log("Mod loaded successfully!");
GameObject modRunner = new GameObject("MyModRunner");
Object.DontDestroyOnLoad(modRunner);
modRunner.AddComponent<MyModLogic>();
}
}
public class MyModLogic : MonoBehaviour
{
private void Update()
{
if (Keyboard.current != null && Keyboard.current.digit5Key.wasPressedThisFrame)
{
PlayerController player = Object.FindAnyObjectByType<PlayerController>();
if (player != null)
{
player.healthPoints = 999;
}
}
}
}