Profiles allow multiple players — or one player with different play styles — to share a single SM64 Coop DX installation while keeping their settings completely separate. Each profile maintains its own player name, game configuration, enabled mods, DynOS packs, and launch options. Switching profiles takes effect immediately the next time you launch the game.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/retired64/sm64coopdx_launcher/llms.txt
Use this file to discover all available pages before exploring further.
Why Use Profiles?
A profile captures everything that personalises a game session:- Player name shown to other players in multiplayer
- Per-profile
sm64config.txt— mod selections, DynOS packs, and network settings isolated per profile - Launch flags —
skip_intro,fullscreen,windowed,headless,no_discord, and others toggled independently - Game binary override — a profile can point to a different game binary via its
game_pathfield - Save data — each profile directory contains a
saves/subdirectory
Profile Directories
Profiles are stored under:| Path | Purpose |
|---|---|
profiles/active.txt | Contains the name of the active profile (plain text, atomically written) |
profiles/<name>/profile.json | Stores launch options (player name, flags, optional game_path) |
profiles/<name>/sm64config.txt | Per-profile game config (mods, packs, network settings) |
profiles/<name>/saves/ | Save data directory |
Default Profile
A profile named Default is created automatically the first time the launcher runs (ensure_default_profile creates profiles/Default/saves/, writes profile.json, and sets active.txt). The Default profile cannot be deleted. If active.txt is missing or points to a profile directory that no longer exists, the launcher falls back to Default automatically.
Opening the Profiles Panel
Profile Operations
- Activate
- Create
- Rename
- Delete
- Configure
Navigate to a profile and press
Space to make it the active profile. The active profile’s sm64config.txt and profile.json are used the next time you launch the game.Profile Detail Screen
The Profile Detail screen exposes all per-profile launch options as toggleable items. PressEnter on Player Name to open the virtual keyboard and type a new name.
| Option | Description | CLI flag produced |
|---|---|---|
| Player Name | Display name shown in multiplayer sessions | --playername <name> |
| Skip Intro | Skip the intro cutscene on startup | --skip-intro |
| Discord Rich Presence | Enable Discord integration (toggle is inverted — turning it off adds --no-discord) | --no-discord |
| Fullscreen | Launch the game in fullscreen mode | --fullscreen |
| Windowed | Launch in windowed mode | --windowed |
| Skip Update Check | Disable the built-in update checker | --skip-update-check |
| Headless (Server) | Run without a display window — useful for dedicated servers | --headless |
Discord Rich Presence uses an inverted toggle: the checkbox shows on when Discord is enabled (no flag sent) and off when Discord is disabled (
--no-discord is added). This matches the expected “Discord is ON by default” user experience.Per-Profile sm64config.txt
When a profile’s sm64config.txt has actual content (file size greater than zero), the launcher passes --configfile <path> to the game so the profile’s config takes precedence. If the file is empty — which can happen when a new profile is created and no parent config exists — --configfile is not passed. This prevents the game from receiving a blank configuration that would override its own defaults and break ROM path resolution.
CLI Args Produced at Launch
The launcher callsbuild_profile_args to assemble the following arguments from the active profile:
--savepath is always included (pointing to the launcher’s XDG data directory). --configfile is included only when the file is non-empty. Each boolean flag is included only when its corresponding option is enabled.
Per-Profile Game Binary Path
A profile’sprofile.json may include an optional game_path field to override which game binary is launched for that profile:
Keyboard Shortcuts Summary
| Key | Action |
|---|---|
↑ / ↓ | Navigate the profile list |
Space | Activate the selected profile |
Enter | Open Profile Detail for the selected profile |
N | Create a new profile |
R | Rename the selected profile |
Del (hold) | Delete the selected profile (with confirmation) |
Esc | Close the panel or cancel an input prompt |