AutoSwim - Subnautica 2 Blueprint

Blueprint scripting, input handling, movement-state design, UX configuration

Problem
Long travel in Subnautica 2 can mean holding the same movement input for too long.
Work
Built a configurable auto movement toggle with cancellation rules, context-aware movement, optional status text, and optional Biomod-based autoDash.
Tech
Subnautica 2 Blueprints, input handling, movement state, persistent player config
Result
Players can reduce travel input fatigue while keeping normal control and the game's Biomod cooldown rules intact.

Overview

AutoSwim is a small quality-of-life mod for Subnautica 2 focused on reducing repetitive input during exploration and travel.

The problem is simple: Subnautica involves long stretches of swimming, walking, and vehicle movement where the player often has to keep holding the same forward input. AutoSwim turns that repeated hold action into a toggle.

By default, pressing X enables or disables AutoSwim. Once active, the character keeps moving forward until the player cancels it by pressing the toggle key again, or by using the forward or backward movement keys. The mod also supports optional autoDash behavior while AutoSwim is active.

The goal was not to add a new gameplay system. The goal was to make an existing moment of play feel less tiring without getting in the way of normal control.

What It Does

AutoSwim adds a toggleable forward movement state that works across multiple player contexts:

  • works while swimming
  • works while walking
  • works while driving vehicles
  • can trigger autoDash while AutoSwim is active, using the player’s assigned Biomod
  • can be cancelled by pressing the toggle key again
  • can be cancelled by using forward or backward movement input
  • includes an in-game configuration menu, opened with F3 by default
  • lets players rebind both the AutoSwim toggle and the configuration menu key
  • can show optional status text for AutoSwim state changes
  • saves the player’s configuration between sessions
  • includes an option to enable or disable autoDash behavior

Why This Was Worth Doing

This project is interesting because it is a small feature with a very specific UX target.

A lot of quality-of-life work is not about large systems. It is about noticing a repeated friction point and removing it without damaging the feel of the original game.

AutoSwim had to stay lightweight. The player should be able to turn it on easily, stop holding forward during long travel, and then cancel it naturally as soon as they want manual control again.

That made the core design question less about adding automation and more about deciding when automation should stop.

Implementation Summary

The mod is built around a simple movement toggle.

When AutoSwim is enabled, the mod maintains forward movement for the player until a cancel condition is detected. The player can cancel it by pressing the toggle key again, or by using forward or backward movement input. That makes manual control easy to recover without opening a menu or relying on a hidden stop action.

The feature also has to account for different movement contexts. Swimming, walking, and vehicle movement are not the same player state, but the user expectation is the same: if AutoSwim is active, forward travel should continue.

AutoSwim keeps that travel intent across normal context changes. If the player enables AutoSwim while swimming and then enters a vehicle, movement continues in the vehicle. If they leave the vehicle, swim again, or move into a base or ship where movement becomes walking, AutoSwim follows the active movement context instead of forcing the player to toggle it again.

The player-facing configuration is handled in-game through a menu opened with F3 by default.

From that menu, players can:

  • change the configuration menu keybind
  • change the AutoSwim toggle keybind
  • choose whether AutoSwim status text should be shown
  • choose whether autoDash should also try to run while AutoSwim is active

The status text can communicate the current movement state, such as AutoSwim being enabled, disabled, or enabled with autoDash. The settings are saved between sessions, so the mod behaves consistently after restarting the game.

AutoDash is treated as optional behavior rather than being forced into the base feature. It does not bypass the game ability system: it uses the player’s Biomod, so it only works if the dash Biomod is learned and assigned, and it still respects that ability’s cooldown. That keeps the mod useful for players who only want reduced input fatigue, while still supporting faster travel for players who prefer it.

Design Constraints

The main constraints were:

  • the feature had to feel like a toggle, not like losing control
  • cancellation needed to be obvious and immediate
  • the mod had to work across different movement contexts
  • configuration had to stay simple and persist between sessions
  • autoDash needed to be optional
  • the mod had to remain lightweight enough to fit the current Subnautica 2 early access environment

Result

AutoSwim is a small mod, but it shows a different side of my modding work than the larger ASA systems.

It is not a server rule system or a balance framework. It is a focused player-experience improvement: identify one repetitive action, turn it into a configurable toggle, and make sure normal control still wins whenever the player wants it back.

That kind of work matters because good quality-of-life design should disappear while the player is using it. The feature is successful when travelling feels smoother and the player does not have to think about the tool.