Flexlion

Flexlion Documentation

Complete guide to installing, using, and modding with Flexlion for Splatoon 3

Getting Started

Flexlion is a mod menu for Splatoon 3 on Nintendo Switch, developed by [forget me]. It provides camera tools, visual effects, custom ink shaders, environment tweaks, modding support, and much more.

Installation

  1. Your Nintendo Switch must be hacked (running custom firmware such as Atmosphere). If it isn't, find a guide for your console revision elsewhere.
  2. Download the latest Flexlion build from GameBanana.
  3. Extract the contents of the .rar archive onto the root of your SD card (or virtual SD card folder if using an emulator). The archive contains atmosphere and flexlion3 folders - both should end up at the root level of the SD card.
  4. Launch Splatoon 3. The menu should be accessible in-game.

Installation on Emulator (Ryujinx)

The same mod works on emulator. If you are trying to use Flexlion on emulator, make sure:

  • You are using Ryubing (other emulators may work, but it is not guaranteed). The original Ryujinx was not updated to support new nnsdk changes for Splatoon 3, so that one will not work - you need the updated fork.
  • You put the flexlion3 and atmosphere folders from the zip into the virtual SD card folder, not anywhere else like the mod folder. To do that: in the Ryujinx app, in the top left press File, press "Open Ryujinx Folder", then open the sdcard folder (should already be there - if it isn't, something is wrong). Copy the flexlion3 and atmosphere folders there directly, confirm overwrite if prompted.
  • You are using the latest version of the game (you can see which version is supported on GameBanana). Flexlion is typically updated to the latest version within a day, so unless an update just happened, assume it's current. Flexlion is not backwards compatible - you need the latest game version. Make sure Ryubing actually displays the correct version (e.g. 11.1.0), and not something like 1.0.0, or you didn't apply the update correctly.
  • You are using the latest version of Flexlion.

With a stock install and no other mods, this should 100% work. If it doesn't, check if the game itself boots without Flexlion (if not, your PC may not be powerful enough to run the game).

Note: You may need to disable guest internet access in emulator settings if the game is infinitely looping on the boot screen (yellow and purple one) and not entering plaza.

Troubleshooting

If the game or menu stops working:
  1. Make sure you are using the latest game update and the latest Flexlion update.
  2. If the game is crashing on boot, delete the flexlion3 folder on your SD card, re-extract the latest archive, and open the game again.
  3. If a new game update just released, Flexlion may not have been updated yet - an update usually releases within a few hours.

My game crashes…

  • Are you using the latest Splatoon 3 game update (currently 11.1.0)? Make sure it shows the latest update version wherever you are using it.
  • If yes, are you sure you extracted the zip correctly? You need to take the flexlion3 and atmosphere folders from the zip and place them on your SD card root (or virtual SD card root for emulator), and choose replace for any overlapping files.
  • If yes but your menu previously worked, try deleting /flexlion3/config.

Menu Controls

The mod menu is navigated entirely with the controller. In some game areas the input changes slightly to avoid conflicts.

InputAction
LOpen menu / Enter selected section / Toggle the selected module on or off
L Stick pressClose the current section, or close the menu entirely if already at the top level
D-Pad Up / DownNavigate sections or modules
D-Pad RightOpen a module's sub-settings (if it has any)
D-Pad LeftGo back from sub-settings

Sub-settings Controls

InputAction
Up / DownNavigate between settings entries
D-Pad RightEnter value-edit mode for the selected setting
D-Pad LeftExit value-edit mode
SticksUsed for color pickers
Alternate Input
In lobbies, shops, and versus replays, the L button has a game function. In these areas, you must hold R and press L to open the menu. A notification will explain this the first time.

Online Safety

Flexlion is safe to use online, except for modules explicitly labeled UNSAFE in the menu (such as TriColor in PBs, use at your own risk), or trying to load patches.pchtxt / IPS patches (having an IPS patch applied will be detected - if you are just using stock Flexlion you don't have to worry about this, it's only relevant if you're also installing a patches pchtxt file).

Flexlion does not disable the game's anticheat - it sidesteps detection. If you use detectable code patches or param edits alongside Flexlion, those will still be caught.

Features NOT safe online

  • Anything marked UNSAFE in the menu
  • Loading pchtxt / IPS patches (having an IPS patch applied will be detected)
  • VideoModule (requires an extra executable in exefs, which anticheat checks for - even if the module is disabled)
  • Custom collision mods(legacy feature, not explained here anymore, and not to be confused with Collision Visualizer - that one is safe)

Most cosmetic-only features (camera, environment tweaks, ink colors, menu visuals, trails, galaxy hair, etc.) operate client-side and are not known to be detected.

Streamers beware: If you are a streamer and Nintendo sees your stream with the mod, they may manually ban you (this has happened to streamers specifically), likely based on the nickname visible in the stream. Using Name Spoofer is advised in this case - there have been no known bans when names were hidden.

Overclocking

It is recommended to use overclocking when using Flexlion, since any visual modules you enable will strain the game more, while the game itself (even without Flexlion) already relies on dynamic resolution. A tool that can be recommended is Horizon-OC (but note that overclocking obviously comes with risk depending on various factors - research it yourself).

Note: Flexlion doesn't use a lot of CPU, but it will help in places the base game lags (i.e. Salmon Run or some maps). Flexlion will use more GPU than the base game, but only when visual modules are enabled - not just stuff like kill notifs / K/D counter / motion blur / shaders, but also alternative ink types which use heavier shaders. Even if you don't use any visual modules, overclocking is recommended to reduce dynamic resolution usage. RAM overclocking shouldn't be done unless you're on an OLED model.

OLED Consoles

Personal recommendation (docked): 1785 MHz CPU, 1075 MHz GPU, 1996 MHz RAM. I used it on 3 (oled) consoles with no lag, should be good as long as temps stay low enough (should be the case unless thermal paste has dried out). Lower settings like 921 or 998 MHz GPU will work well too(just I am also using Wallhack, which would like some extra gpu usage).

If you want to be on the safer side, you can run GPU at 998 MHz and RAM at 1866 MHz or stock 1600 MHz.

RAM note: In very rare cases, a RAM module may be faulty and barely passed lotcheck - if so, overclocking RAM could risk potential NAND corruption. Otherwise, all RAM modules in OLED Switches are designed to run at 2133 MHz (safely, with actual maxes of 2500–3200 MHz) and are underclocked by Nintendo, so 1996 should be fine.

Non-OLED Consoles (Erista / V1)

Recommended settings: at most 1785 MHz CPU, 921 MHz GPU, 1600 MHz RAM (stock, no RAM overclock).

Important: GPU above 921 MHz is not safe on Erista/V1 consoles. RAM overclock is also not safe on non-OLED models. These settings should be fine unless your console is very old and overheating. CPU isn't as important as GPU here.

Menu Features

The menu is organized into tabs . Each tab contains modules that can be toggled or triggered.

Render

Camera and rendering tools for screenshots, cinematics, plus extra ui such as kd counter or kill notification.

Freecam

Self explanatory.

First Person View

Self explanatory.

FOV Changer

Self explanatory.

Camera Path

Record and play back scripted camera paths for smooth cinematic sweeps. Press A to play.

Lock Camera

Locks camera position and orientation in place.

Motion Blur

Adds motion blur effect.

Blur

Depth of field blur effect.

Ortho Projection

Orthographic projection for whatever reason youd want that.

Chroma Sky

Replaces the sky(or optionally everything but players) with a solid color.

No PFX

Disables the game's post-processing shader.

Hide Layout

Hides the game's HUD(or parts of it).

Hide Callout UI

Hides the This Way/Booyah ui thing.

K/D Counter

Kill/death counter shown during matches.

Kill Notifs

Kill notification popups shown during matches.

Vertical Minimap

Rotates the minimap to a vertical orientation.

Fixed Aim

Used together with freecam to lock on to specific players/objects.

Pause Calc

Freezes the game(while still allowing Freecam to move around).

Animation Viewer

Inspect and control animation playback on character models.

Force FPS Cap

Force either 60 or 30 FPS everywhere.

Collision Visualizer

Renders Havok collision shapes and hitboxes.


Player Info

Client side player info modifications, plus option to spawn bots for offline matches.

Spoof Player Info

Spoof player type and hair(including to stuff like Rival or Sdodr Rival).

Spoof Illegal Gear

Spoof some illegal gear combinations.

Force Bots

Enable offline bot matches for use with Scene Jumper. Disable it before going into an online match.

Namespoofer

Client sided override of your, and/or others', splashtag names and tags, if you want to hide your name in clips for example.


Scene Jumper

Instantly jump to different game scenes.

Plaza

Jump to the plaza scene.

Versus

Jump to an offline match (may be useful for Force Bots from previous section).

Shooting Range

Jump to the shooting range.

Lobby (Versus / Coop / Local-LAN)

Jump to the respective lobby scene.

PlayerViewer

Jump to a custom recreation of Splatoon 2's developer PlayerViewer scene.

PhotoForCalico

Jump to a custom creation of an interpretation of Splatoon 2's developer PhotoForCalico scene. Configure via Configurator.

Mission Scene

Jump to a single-player scene from the available list of interesting ones.

Grandfest Plaza

Jump to the Grandfest event plaza.

Coop

Jump to Salmon run, including option to force a specific boss.

Sdodr

Jump to Side Order scenes from a list of interesting ones.

Change Boot Scene

Change which scene the game boots into. (i.e. LobbyVersus -> you boot into Lobby instead of Plaza).


Ink Mods

Customize ink colors, shaders, and paint effects.

Custom Color

Open a color picker to choose a custom ink color, or apply it.

Custom Ink Shader

Replace the ground ink shader with a custom one. Types: Rainbow Ink S2, Galaxy, Heart. May affect your performance.

Rainbow Ink

Animated rainbow colors on ground ink(Splatoon 1 style/flat color).

Rainbow Teamcolor

Change teamcolors of players every frame to rainbow colors.

Ink Type

Change the ink rendering type. Available types: Default, Oil, Fuzzy, Splatoween, FrostyFest, SpringFest, SummerFest, GrandFest, GrandFest Plaza, SDODR (Side Order).

Auto Use Custom Color

Automatically apply your saved(with option for to random pick) custom color palette each match.

Save / Load / Delete Ink Config

Manage named ink color configurations on the SD card.


Environment

Control time of day, fog, skybox, lighting, weather, and atmospheric effects.

Force Env Time

Force a specific time of day for the environment lighting(Note that evening is "unused" and mostly not present on maps, use Day or Night).

Skybox Config

Customize skybox parameters and appearance.

Depth Fog Config

Tune distance-based fog density, color, and range.

Height Fog Config

Tune height-based fog for atmospheric depth effects.

Light Config

Adjust lighting parameters.

Weather

Use the game's unused weather functionality (Snow, Rain) with adjustable intensity.

head empty

i will never be free

The World Revolving

Makes your skybox spin.

Rainbow Water

Make water rainbow colored.

Plaza Fest Mode

Force Splatfest inside Plaza(with option to choose special fest type).

Auto Use Random Env

Randomize environment settings from your saved configs.

Save / Load / Delete Env Config

Manage named environment presets on the SD card.


Misc

Cosmetic effects, player modifications, gameplay tweaks, and utility features.

Freefly (Offline/Recon)

Free movement / noclip in offline and recon modes. Should be safe to use(it wont let you use it where it wouldnt be safe)

Trails

Pretty player trails effect.

Galaxy Hair

Pretty player galaxy hair effect.

Cosmic Lights

Apply cosmic shader to player models.

Aura

Glowing aura visual effect around the player.

Teardrop

Special effect when you jump.

Sigma Hat

uhh some hat thing i forgor.

Hologram Players / No Holograms

Make non lobby players holograms, or make lobby players non holograms.

Change Player Size

Adjust visual size of the player model.

Funky Weapon

uhhh your weapon spins and stuff.

Spawn Training Dummy

Spawn a practice target dummy.

No Death Zones

Disable death zones, useful for freefly. Safe to use as it'll auto disable in places it wouldnt be safe.

Show Matching Player

Show the lobby players and their holograms during matchmaking in modes they are not normally visible (i.e. X Rank).

Sdodr Drone

Side Order drone entity/visual feature.

Custom Boot

Customize the boot sequence behavior.

Two Player Mode

Local two player mode with splitscreen.

Spam Macro

Configurable button spammer for various buttons.

TriColor in PBs UNSAFE

Add TriColor to mode select in Private Battles. You will likely get banned if you use this online(as in, actually start a tricolor match. accidentally enabling this wont get you banned).

Mouse Keyboard Control

Map USB keyboard and mouse to game input. See KBM section.


Visuals

Customize the appearance of the Flexlion menu itself.

Built-in Presets

Apply a menu theme from a list of default presets made by me, featuring all the different available menu shaders.

Menu Style

Configure menu appearance: shader, colors, shader speed, Starlion style, rainbow text, logo spin, and more.

Menu Glowing

Outer glow effect around the menu panel. Adjust colors and speed.

Flex Logo

Flexlion logo overlay, plus option to globally change the text of the logo.

Arraylist

On-screen list of active modules.

Font

Choose the menu font style.

Menu Scale

Adjust the overall UI scale of the menu.

Toggling Settings

Toggle notifications for modules being enabled/disabled.

Save / Load / Delete Menu Style Config

Manage named menu style presets saved to /flexlion3/config/style/.


Other

Utilities, configuration management, audio tools, and advanced features.

Show Debug Info

On-screen debug information, including FPS, memory usage and others. Also needed for shader dumping (see Shader Tools).

Disable All

Turn off all active modules at once (essentials like autosave and crash handler stay on).

Save / Load Menu Config

Save or load the full menu configuration as JSON in /flexlion3/config/.

AutoSave Menu Config

Automatically persist menu state to config file.

Check Updates

Manually check for Flexlion updates. See Auto-Updater.

FX Crash Handler

Catches and reports crashes. Keep this on.

Cstm Music

Custom background music. See Custom Music.

No Music

Mute the game's background music entirely.

Sound Pitch Changer

Self explanatory.

Clip Uploader

Auto-upload clips and screenshots. See Clip Uploader.

Retry Clip Uploads

Re-queue any failed clip uploads.

FxNetCtrl

Local TCP control server for remote interaction. See FxNetCtrl.

No CtrlChecker

Disable restriction for connecting 1+ controllers.

Force Loadable SDODR

Make Side Order content loadable when it otherwise wouldn't be.

VideoModule UNSAFE

Render a video file as ink on the floor (offline only). See details below.

VideoModule Details

Do NOT use VideoModule online. It requires an extra multimedia executable in exefs, which anticheat will detect even if the module is disabled. The checks runs if you go into an online match, so make sure to not go into an online match with the multimedia nso still in your exefs folder.

Setup:

  1. Obtain the multimedia NSO of a sufficiently close SDK version (available as subsdk0 from latest TOTK). Rename it to subsdk8 (or any subsdk1-9) and place it in your exefs folder.
  2. Place video files in /flexlion3/video/. Supported formats: WebM (VP8, VP9) and MP4 (may have compatibility issues - use WebM if MP4 won't load).
  3. The video renders as ink on the floor in LobbyVersus. To enter the lobby offline, use Coxxs patches (not online-safe).

User Mods

The User Mods tab appears when you have custom mods installed. Each mod loaded from /flexlion3/mods/ becomes a toggleable entry here. PchTxt patches loaded from /flexlion3/patches.pchtxt also appear as individual entries.


Custom Mods

Texture / Shader Replacement Mods

You can create and share texture and shader replacement mods. To install a mod, place the mod folder inside /flexlion3/mods/ on your SD card (create the mods folder if it doesn't exist). Each mod folder must contain a config.json.

config.json Format

All file paths are relative to your mod folder (start with /).

{ "mod_name": "My Cool Mod", "options": ["Variant 1", "Variant 2"], "default_option": "Variant 1", "use_options": true, "textures": { "Albedo": { "target_texture": "/target/M_MSK007_Alb.bftex", "options": { "Variant 1": "/var1/M_MSK007_Alb.bftex", "Variant 2": "/var2/M_MSK007_Alb.bftex" } }, "Roughness": { "target_texture": "/target/M_MSK007_Rgh.bftex", "options": { "Variant 1": "/var1/M_MSK007_Rgh.bftex", "Variant 2": "/var2/M_MSK007_Rgh.bftex" } } }, "shaders": { "MyShader": { "target_shader": "/target/original_shader.bin", "options": { "Variant 1": "/shaders/replacement1.epicshf", "Variant 2": "/shaders/replacement2.epicshf" } } } }

Top-level keys:

  • "mod_name" - required. The name shown in the menu.
  • "options" - array of variant names (strings). These are the selectable options in the menu.
  • "default_option" - which variant to select by default. Must match one of the options strings exactly.
  • "use_options" - if true (default), the user can switch between variants in the menu. If false, the first option is auto-selected and the user can't open the options sub-menu.
  • "textures" - texture replacement groups (see below). Optional.
  • "shaders" - shader replacement groups (see below). Optional.

Texture groups ("textures"):

An object where each key is a label (any name you want) and the value contains:

  • "target_texture" - path to the original .bftex file that this group replaces. This file must be included in your mod and must be the original unmodified texture.
  • "options" - object mapping each variant name to a replacement .bftex file path. Keys must exactly match the top-level options array strings. Replacement textures must have the same dimensions and format as the original.

Shader groups ("shaders"):

Same structure, but with "target_shader" instead of "target_texture". The target file is the original shader dump, and replacement files should be compiled with UAM-nvn in epicsh format.

Note on bftex textures: they must match the original dimensions (width/height) and format. If the target texture uses ASTC format in Switch Toolbox, you may need an external converter to produce ASTC first, then import into Toolbox and export as bftex.

Download Example Mods

Loading PchTxt / IPS Patches

Do NOT use pchtxt/IPS patches on sysnand or online - you WILL get banned.

Place your pchtxt file as /flexlion3/patches.pchtxt on your SD card. Patches can be toggled live from the menu. Some patches (e.g., Splatfest mode) require a game reboot, but most work immediately.


Custom Music

Enable Cstm Music in the Other tab to use custom background music. This is a work-in-progress feature and defaults/configs may change.

Directory Structure

All music files go under /flexlion3/music/. Supported formats: .wav, .mp3, .flac. Here is an example structure:

flexlion3/music/ ├── playlist/ │ ├── MyPlaylist1/ Each subfolder = a playlist │ │ ├── song1.mp3 │ │ ├── song1.json Optional per-track config │ │ ├── song2.flac │ │ └── default.json Optional default config for this playlist │ └── MyPlaylist2/ │ └── ... ├── last1min/ Last 1 min (Now Or Never) replacement │ └── my_last1min.mp3 ├── startdemo/ Match start music replacement │ └── my_startdemo.wav ├── result_win/ Victory music replacement │ └── my_win.mp3 └── result_lose/ Defeat music replacement └── my_lose.mp3

Playlists: Each subfolder inside /flexlion3/music/playlist/ becomes a selectable playlist. The folder name is the playlist name. Audio files inside are the tracks.

Special tracks: The folders below replace music for specific in-game moments. You can put multiple files in each - one will be picked randomly.

  • last1min/ - replaces "Now Or Never" (last 1 minute of a match)
  • startdemo/ - replaces match start music
  • result_win/ - replaces victory result music
  • result_lose/ - replaces defeat result music

Download Example Music Mod

Recommendation: Convert all your music files to .wav. Other formats (mp3, flac) may cause momentary lag when the audio starts playing. WAV files also support embedded loop points, which Flexlion will automatically read if present.

Audio Configuration

By default, audio loops from start to end and uses -10.64 dB volume. Embedded loop points in WAV files are read automatically. You can also create a JSON config for any audio file to customize playback (JSON config values override embedded loops).

If your audio file is CoolAudio.mp3, name the config CoolAudio.json. You can also add a default.json to set defaults for the entire folder (individual configs override it).

Example config:

{ "VolumeDB": 13.5, "Pitch": 0.85, "Loop Start": "00:48:05", "Loop End": "01:20" }

Config options:

  • Volume - float (0.0 = silent, 1.0 = 100%, can go above 1.0), OR VolumeDB - float in decibels (default: -10.64)
  • Pitch - float value for audio pitch (default: 1.0)
  • Loop Start / Loop End - timestamp in MM:SS:cc (centiseconds, 2 digits), MM:SS:mmm (milliseconds, 3 digits), or MM:SS. If omitted, loops from start to end of track.

Clip Uploader

Automatically upload Switch album clips and screenshots to Discord via a webhook.

Setup:

  1. In any Discord server you own, create a webhook on any channel (search online for "How to create Discord webhook" if needed) and copy its URL.
  2. On your SD card, open /flexlion3/extra_config.json and paste the webhook URL into the "clip_webhook" field.
  3. Enable Clip Uploader in the Other section of the menu.

How It Works

  • Concurrency: Default is 3 uploaders outside of matches, 1 during online matches. Adjustable in module settings (set to 0 to pause uploads during matches).
  • Screenshots vs. Clips: Of 3 concurrent uploaders, only 1 handles video clips while 2 handle screenshots. If concurrency is 1, it handles both, prioritizing screenshots.
  • Video hosting: Clips (~18 MB) are uploaded to Catbox since they exceed Discord's 10 MB limit. Catbox links embed on Discord.
  • Privacy: Nintendo's hidden metadata (containing your account ID - thats not a flexlion thing, thats actually how secretly all your switch album screenshots/videos work) is automatically stripped from clips and screenshots before upload.
  • Notifications: Notification style can be adjusted in the module's settings.

Save Editor

Editing your save can get you banned. Some edits (weapons, gear, gear abilities, name, money, etc.) will be reset if you connect to the internet. Plaza post editing is probably safe, but no guarantees.

Flexlion includes a Save Editor that integrates with CloudSave so you don't need external tools to dump/inject saves.

Setup:

  1. Log in with your Discord account on flexlion.github.io.
  2. In the Account section, press "Get fxtoken.epic" and place the file in /flexlion3/ on your SD card.
  3. In Account, press "Enable CloudSave".
  4. Launch the game - your save will automatically upload to the server (and whenever the game saves while you play).

Editing flow:

  1. Close the game.
  2. In the Save Editor, press "Use Flexlion CloudSave" to load your save.
  3. Make your edits.
  4. Press "Save to Flexlion CloudSave".
  5. Boot the game - changes apply automatically.

Shader Tools

Flexlion provides tools for dumping, decompiling, and compiling custom NVN shaders.

Creating a Shader Mod

  1. Dump the shader you want to modify (see below).
  2. Decompile it with the decompiler script from the mod downloads.
  3. Edit the decompiled shader. You can use Flexlion's helper uniform available on Replacement Shaders.
  4. Set the correct extension (.frag for fragment, .vert for vertex) and compile it with UAM-nvn. You need to export in epicsh format (.epicshf for fragment, .epicshv for vertex).
  5. Package it as a shader mod (see Texture/Shader Mods format).

UAM-nvn Shader Compiler

UAM-nvn is a modified version of the deko3d shader compiler that can compile NVN shaders. Flexlion shader mods use the epicsh format (NVN shader control + program in one file).

Usage:

uam [options] file Options: -s, --stage=<name> Pipeline stage (vert, frag, geom, tess_ctrl, tess_eval, comp) If not specified, deduced from file extension (.vert, .frag, etc.) -e, --epicsh=<file> Output Epic shader format file (what Flexlion uses) -b, --glslcbinds Use GLSLC uniform binding scheme (add 1 to all ids) -v, --version Version information

Example - compile a fragment shader in epicsh format:

uam --glslcbinds --epicsh=output.epicshf shader.frag

Known issues: Only fragment and vertex shaders are fully tested. Shaders with bitwise operations (e.g., gsys vertex shaders) may not compile correctly due to a CSE/register allocation issue.

Dumping Shaders In-Game

Shaders are searched by their fragment shader hash and saved to /flexlion3/shadertest/.

  1. Enable SHADER DEBUG in "Show Debug Info" (Other tab). Debug text will appear in the top-left corner.
  2. Press X to enter binary search mode. All shaders are initially selected and you'll see visual glitches - this is normal.
  3. Press A to halve the selection. If your target shader is no longer affected, press Up to move to the next block.
  4. Repeat halving and navigating until only 1 shader remains (takes about 20 seconds once you get the hang of it).
  5. The fragment shader hash is displayed in the top-left. Press A to save it with all its stages.

Then use the decompiler script to convert it into compileable code.

Shader Decompiler

The decompiler script takes shader bytecode + control data and produces code compileable for NVN via UAM-nvn. You need Ryujinx ShaderTools - set SHADERTOOLS_DIR inside the script to the path of Ryujinx's build directory (use this commit).

Download Decompiler Scripts


Keyboard & Mouse

Flexlion supports USB keyboard and mouse input. The configuration is in /flexlion3/FxKbmConfig.json. Enable Mouse Keyboard Control in the Misc tab.

The config maps keyboard/mouse inputs to controller buttons. Each entry has a controller button name as the key and a keyboard/mouse input name as the value.

Controller button names (map TO these):

A B X Y LStick RStick L R ZL ZR Plus Minus Left Up Right Down LStickLeft LStickUp LStickRight LStickDown

Keyboard/mouse input names (map FROM these):

Mouse: MouseLeft MouseRight MouseMiddle MouseExtra1 MouseExtra2

Keyboard: AZ, 09, Escape, Backspace, Tab, Space, Minus, Plus, CapsLock, F1F12, RightArrow, LeftArrow, DownArrow, UpArrow, NumPad0NumPad9, NumPadDivide, NumPadMultiply, NumPadSubtract, NumPadAdd, NumPadEnter, LeftControl, LeftShift, LeftAlt, RightControl, RightShift, RightAlt


Auto-Updater

Flexlion can check for and download updates directly on the Switch.

  • Manual check: Use Other → Check Updates in the menu.
  • Auto-check on boot: Set "updateonboot": true in /flexlion3/internal_config.json.

When an update is found, you'll be prompted to confirm the download. Press A to confirm, B to cancel. When complete, you'll be prompted to restart.


FxNetCtrl

FxNetCtrl is a local TCP control server that lets you interact with Flexlion remotely from a PC or the web interface.

  • Port: Default 8882 (configurable in module settings)
  • Password: Optional password for connections
  • When enabled, the console's IP address is shown on screen
  • You need to run FlexClient on your PC in the background

Note: Enabling FxNetCtrl will disable nvnforge and vice versa.