Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
ValhallaMenuCompanion
SeneaL UI Custom Menu: loading screens with captions and slideshow, item tooltips, title logo, main-menu music and volumes, optional server join, rules, Discord/support rows, Deathlink window.
By 2Gits1CPU
| Date uploaded | 17 hours ago |
| Version | 2.0.0 |
| Download link | 2Gits1CPU-ValhallaMenuCompanion-2.0.0.zip |
| Downloads | 22 |
| Dependency string | 2Gits1CPU-ValhallaMenuCompanion-2.0.0 |
This mod requires the following mods to function
seneaL-SeneaL_API
Public API for Valheim UI mods: notices, dialogs and HUD elements, with a bridge that routes the game's own windows to any UI that registers as a provider.
Preferred version: 1.2.0seneaL-SeneaL_UI
Complete Valheim UI redesign: HUD, inventory with equipment and quick slots, chests, crafting, build menu, world map, character windows, in-game settings. The server sets the gameplay rules.
Preferred version: 1.2.8denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2360README
Valhalla Menu Companion
A menu companion for SeneaL UI. It adds a custom title logo, custom loading screens, custom item tooltips and an optional one-click join for your server, all switched on and off in the config. It does nothing server-specific until you set it up, so it suits any server, modpack or single-player install.
Made with the help of AI.
Features
Everything is optional. On a fresh install the server features (logo, quick connect, rules, Discord, support) are off with every link and address blank: turn on what you want and fill in your own.
| Feature | Turn on with | What it does |
|---|---|---|
| Custom loading screens | Put images in loading_screens/ |
Your .png/.jpg images (random or in order), a caption per image, and your own loading tips. |
| Custom item tooltips | Write item_tooltips.txt |
Extra lore, server notes or hints at the bottom of any item's tooltip. |
| Title logo | [Branding] Enabled = true + logo.png in the folder |
Replaces the Valheim title logo. |
| Quick connect | [QuickConnect] Enabled = true + ServerAddress |
The character screen's Start becomes a one-click join (button text is yours), with a PLAY LOCAL button and a live online / player-count line. |
| Server rules | [Rules] Enabled = true + rules.txt |
A Server Rules row on the title menu; optionally players must agree before their first join (again whenever the rules change). |
| Discord row | [Discord] Enabled = true + URL |
A Discord row on the title menu that opens your invite. |
| Support row | [Support] Enabled = true + URL |
A row for Patreon/Ko-fi with an optional confirmation. |
| Deathlink window | Automatic when Deathlink is installed ([DeathlinkWindow] Enabled, on) |
Its profile selection window gets the SeneaL UI look, and every section fits: long lists scroll instead of overlapping. |
| Main-menu music | [MenuMusic] Enabled = true + songs in menu_music/ |
Your own songs on the main menu and character screen (in-game music unchanged), shuffled, optionally starting part-way in. |
| Skip intro | [Startup] SkipStartupCinematic (on) |
Skips the intro video at launch; the Cinematics menu still works. |
| Tidy the title menu | [MainMenu] HiddenRows, HideMenuLook, [Discord] ReplaceOtherDiscordRows (all off) |
Hide title-menu rows you don't want players to see. Other mods keep working. |
All files live in BepInEx/config/ValhallaMenu/. Edits are picked up on the main menu within a few seconds.
The settings file is BepInEx/config/valhalla.menu.companion.cfg (or use your mod manager's config editor).
Custom loading screens
Put .png or .jpg images (1920x1080 recommended, up to 16 MiB each) in BepInEx/config/ValhallaMenu/loading_screens/.
Tips go in loading_tips.txt, one per line (created with examples on first launch).
Setting [LoadingScreen] |
Default | Meaning |
|---|---|---|
Enabled |
true |
Off restores the vanilla loading screen. |
ImageOrder |
Random |
Random (shuffled: every image once before any repeats, even across restarts) or Sequential (file-name order). |
ImageFit |
Cover |
Cover fills the screen and crops, Fit letterboxes, Stretch distorts. |
TipsMode |
Replace |
Replace (only your tips), Append (vanilla + yours) or Off. |
SlideshowSeconds |
20 |
On a long load, switch to the next image after this many seconds (minimum 3). 0 = one image per loading screen. |
Logo |
Keep |
Logo at the top: Keep, Custom (LogoFile, else your title logo) or Hide. |
LogoFile |
loading_logo.png |
Logo picture for Logo = Custom, in BepInEx/config/ValhallaMenu/. |
HideSpinner |
false |
Hide the spinning icon in the corner. |
HideShading |
false |
Show your images at full brightness (removes Valheim's darkening of the background). |
ShowCaptions |
true |
Show captions from loading_screens/captions.txt on your images. |
CaptionPosition |
BottomLeft |
TopLeft, TopCenter, TopRight, BottomLeft, BottomCenter or BottomRight. |
CaptionFontSize / CaptionColor |
30 / #FFFFFF |
Caption size and colour (a dark outline keeps it readable). |
Different images for joining, dying and teleporting
Put images in sub-folders of loading_screens/ to use them only at that moment:
| Folder | Shown when | Without it |
|---|---|---|
loading_screens/join/ |
joining a world or server | the images in loading_screens/ |
loading_screens/respawn/ |
respawning after death | the images in loading_screens/ |
loading_screens/teleport/ |
teleporting (portals) | Valheim's own teleport screen |
Captions
Give each image a title, a credit or a hint in loading_screens/captions.txt (created with examples on first launch):
sunset.png = <b>Sunset over the Meadows</b>\n<size=75%>Screenshot by Ragnar</size>
boss_arena = The Elder awaits
* = My Valheim Server
The name may be written with or without its extension and may contain spaces. * is the caption for every image
without its own line. Captions show only on your custom images, never on the vanilla loading screen.
Main-menu music
Turn on [MenuMusic] Enabled and put songs (.ogg works best; .mp3 and .wav too) in
BepInEx/config/ValhallaMenu/menu_music/. Each time you reach the main menu one of them plays instead of Valheim's
menu theme; once you enter a world the normal game music takes over. Songs stream from disk.
Setting [MenuMusic] |
Default | Meaning |
|---|---|---|
Enabled |
false |
Turn the feature on. |
Order |
Random |
Random (shuffled: every song once before any repeats, even across restarts) or Sequential. |
StartSeconds |
0 |
Start each song this many seconds in. When it ends it loops from the very beginning. |
Volume |
100 |
Percent of Valheim's menu-music volume (the game's music slider still applies). |
Menu volumes
[MenuAudio] sets the volumes for the main menu and character screen only: Enabled (off), MasterVolume,
MusicVolume and EffectsVolume (percent). Each player's own Valheim audio settings come back the moment they leave
the menu, and they can still change them in game as usual (the mod never saves over them). While the Settings window
is open on the menu, the mod stays out of the way of its sliders.
Different start points per song go in menu_music/start_times.txt
Custom item tooltips
Add lines to item_tooltips.txt (created with examples on first launch):
SwordIron = Forged in the fires of the north.
$item_axe_bronze = Line one\nLine two
The key is the item's prefab name or its name token. The text appears at the bottom of the tooltip in [Tooltips] TextColor.
Write several lines for the same item to give it more text. With [Tooltips] MultipleLines = Random the tooltip shows
just one of them instead, a different one each time the item is hovered (every line once before any repeats), which is
nice for rotating lore or hints:
SwordIron = Forged in the fires of the north.
SwordIron = Favoured by the jarls of old.
SwordIron = Its edge remembers every battle.
Setting up your server (server owners)
[QuickConnect]:Enabled = true,ServerAddress,ServerPort,ButtonText(e.g.ENTER MY SERVER) and, if needed,ServerPassword. The password is stored in plain text: anyone you give the config to can read it.[Rules]:Enabled = true, then write your rules inrules.txt.RequireAcceptancemakes players agree before the first join; raiseVersionto make everyone agree again.[Discord]/[Support]:Enabled = trueand your links.[Branding]:Enabled = trueand yourlogo.png.- Share your mod-manager profile (code or export) so players get the same config and files.
Leave out
loading_shuffle.txt: it only records your own place in the image shuffle.
Requirements and compatibility
- BepInExPack Valheim 5.4.2360, SeneaL UI 1.2.8, SeneaL API 1.2.0 (installed automatically by mod managers).
- Client-side only; not needed on the dedicated server. Tested with Valheim 1.0.21, Path of Valheiman and Deathlink.
- The title-menu rows and the character screen are drawn by SeneaL UI; this mod adds its entries to SeneaL's menu.
- Path of Valheiman replaces the game logo (title and loading screen) with its own. To keep yours, set SeneaL UI's own
MenuModExtras = false; that also hides other mods' extra title-menu rows. - Deathlink: the restyled window is optional (
[DeathlinkWindow] Enabled); Deathlink keeps all of its own behaviour.
The game, SeneaL UI and SeneaL API belong to their developers. This package contains none of their files.
CHANGELOG
Changelog
1.11.0
(1.10.0 was not published separately; its changes are listed below and are part of this release.)
-
New, optional: main-menu music.
[MenuMusic] Enabledplays your songs frommenu_music/on the main menu (shuffled, every song once before any repeats),StartSecondsormenu_music/start_times.txtto start part-way in, looping from the beginning, andVolume. In-game music is unchanged. -
New, optional: menu-only volumes.
[MenuAudio] Enabled,MasterVolume,MusicVolume,EffectsVolumeapply on the main menu and character screen only; players' own saved audio settings return when they leave the menu and are never overwritten. -
Public defaults: every server feature (title logo, quick connect, rules, Discord, support) starts off and every link, address and password starts blank. Turn on what you want and fill in your own.
-
Updating from 1.9.0 keeps your setup: on the first start, a configured 1.9.0 config (server address, rules, Discord link) gets those features switched on automatically, once, and it is logged.
-
Optimization pass: removed an unused hook on SeneaL's in-game Esc menu (it ran every frame while that menu was open), cheaper character-screen label refresh, cached menu-scene check, loading images no longer keep a second copy in RAM, HiddenRows parsed only on change, unused code and imports removed.
-
All Harmony hooks are now standard attribute patches (
[HarmonyPatch]classes with[HarmonyPrefix]/[HarmonyPostfix]), each applied on its own so one missing target never disables the others. -
New, optional: random tooltip lines.
[Tooltips] MultipleLines = Randomshows one of an item's lines per hover (a different one each time, every line once before any repeats). DefaultAllkeeps showing every line. -
New, optional loading-screen options:
- Separate images for joining, respawning and teleporting: sub-folders
join/,respawn/andteleport/inloading_screens/. Join and respawn fall back to the main images; teleport only changes with its own folder. - Slideshow on long loads:
[LoadingScreen] SlideshowSeconds(20; 0 = off). - Your logo on the loading screen:
[LoadingScreen] Logo = Customusesloading_logo.pngor your title logo;Hideremoves it;Keep(default) leaves it alone. HideSpinnerandHideShading(full-brightness images) to show more of your picture.- Captions now also show on teleport images.
- Separate images for joining, respawning and teleporting: sub-folders
-
New: a SeneaL UI look for Deathlink's profile selection window. It switches itself on when Deathlink is installed (nothing to configure) and does nothing without it.
- SeneaL window frame (double border, solid panel), SeneaL title bar (fading rules and brass diamonds), close button.
- Profiles in a compact list on the left: SeneaL slot checkboxes with a brass fill for the selected one, the selected name in gold, the whole row clickable. Seal Your Fate sits right under the list.
- Death Penalty, Combat, XP, Loot and Harvest as cards in the right column that grow with their text; empty sections are hidden. The window is as tall as the screen allows, so even long profiles fit (the column scrolls if they don't). Deathlink keeps all of its own behaviour.
[DeathlinkWindow] Enabled(on) andTextScale(1.4). Turning it off restores Deathlink's own window.
1.10.0
-
New, optional: loading-screen captions.
loading_screens/captions.txt(image.png = caption,*for all other images) puts a title or credit on each custom image.[LoadingScreen] ShowCaptions,CaptionPosition,CaptionFontSize,CaptionColor. -
Now a general-purpose mod. Nothing server-specific is built in or bundled; every server feature has an on/off switch and is off on a fresh install:
[QuickConnect] Enabled,[Rules] Enabled(new master switch for the rules row and the join agreement),[Discord] Enabled,[Support] Enabled. Title-menu tidying (HiddenRows,HideMenuLook,ReplaceOtherDiscordRows) is also off by default. Existing config files keep their values; turn on[QuickConnect] Enabledand[Rules] Enabledto keep a 1.9.0 setup working. -
Generic default texts (
JOIN SERVER,SUPPORT THE SERVER); the support dialog uses your button text as its title. -
No logo file = Valheim's logo stays (logged as info, not a warning).
-
The package no longer includes a config folder, and its zip paths use forward slashes.
-
New, optional: custom loading screens. Images from
config/ValhallaMenu/loading_screens/(PNG/JPG, random or sequential, cover/fit/stretch) and tips fromloading_tips.txt(replace or append to vanilla). -
New, optional: custom item tooltips from
config/ValhallaMenu/item_tooltips.txt(ItemPrefabName = text). -
Fix: the quick-connect password stayed in Valheim's
ServerPasswordfor the rest of the session, so any other password-protected server joined afterwards was sent the Valhalla password and refused without a prompt. It is now cleared right after the Valhalla handshake. -
Fix: the Discord entry now shows a notice when its URL is not configured (it did nothing before).
-
New
[Discord] Enabledsetting to hide the Discord entry. -
Fix: the server's own Discord row disappeared whenever another mod (Path of Valheim, SeneaL UI) added a Discord row. As in 1.9.0, this mod's Discord row now replaces the others (
[Discord] ReplaceOtherDiscordRows). -
New
[MainMenu] HiddenRows(defaultMod Config): hide title-menu rows by caption, orCaption/Subtitle. -
Removed the unused
[Branding] Width/Heightsettings. -
Startup log line now includes a build id (
Valhalla Menu Companion v1.10.0 build xxxxxxxx). -
Maintenance work from the 1.8.23 → 1.9.0 development passes is included: safer restore of SeneaL native click handlers and logo bindings, isolated teardown, stricter status/rules state handling. Rules acceptance is keyed to the exact rules text, so players may be asked to accept the rules once more after updating.
1.9.0 — Public Valhalla release
- First public release of Valhalla Menu Companion.
- Custom Valhalla title-screen logo and native SeneaL menu integration.
- One-click server connection, Steam online status, and player counts.
- Required native Code of Honor acknowledgement, with compact responsive rules dialogs.
- Community Discord and optional support link.
- Lifecycle, configuration, validation, and packaging improvements from the 1.8.x development series.
- Bundled approved production logo and rules, with two-page rules layout settings.
- Rules acceptance version updated to 1.9.0.