
CustomMainMenu
All-in-One CustomMainMenu: Customize everything about Main Menu & Loading Screen experience. Discord panel on Main Menu with your Discord Invite Link embedded. Made for Modpack Authors & Server Owners.Custom Main Menu
A branded Valheim menu and loading screen overhaul for public servers, private servers, and modpack authors. Swap the logo, music, loading art, custom tips, Discord invite, and changelog text & title. Rebuilt for Latest Valheim version.
Main Menu Screenshot (Customizable)
Features
- Your logo on the start screen
- Your menu music
- Random loading-screen art when a world loads (Customizable)
- Optional custom loading-screen tips (
customtips.txt, up to 20) - Optional loading-screen tweaks: hide the top black bar and Valheim logo, hide the bar behind tips, or use your menu logo on the load screen
- Move the start-menu and loading-screen logos up or down in CFG
- Discord panel with your invite link
- Custom changelog text and title
- Optional skip of the first-run intro cinematic (on by default). Iron Gate splash still plays unless you turn skip on in CFG
- Optional mute of start-menu ambient (wind / ocean / looping biome beds). Button clicks still follow Effects
Missing files are skipped. The rest of the menu still works.
Files
This mod does not ship branding inside BepInEx/config/anymore. Demo logo, music, changelog, and loading art live next to the DLL in plugins/defaults/ (for example BepInEx/plugins/RDMods-CustomMainMenu/defaults).
On first launch the plugin creates BepInEx/config/rdmods.custommainmenu.cfg and an empty BepInEx/config/CustomMainMenu/ folder, and copies README-HOW-TO-CUSTOMIZE.txt into that folder. Read that file first — it lists the exact filenames and the LoadingArt layout.
Put your own files in BepInEx/config/CustomMainMenu/. Those files win over defaults/, and mod updates will not overwrite them. Pack authors should ship branding in their pack’s config/CustomMainMenu/ folder, not inside this mod’s zip.
| File | What it does |
|---|---|
README-HOW-TO-CUSTOMIZE.txt |
Step-by-step names and folder layout. Copied into config for you. |
logo.png |
Start-menu title logo. Also accepts .jpg / .jpeg. The same file can be used on the loading screen if UseCustomLoadingLogo is on. |
discordlogo.png |
Image on the Discord panel. Also accepts .jpg / .jpeg. |
mainmenu.ogg |
Looping menu music. OGG Vorbis only. |
changelog.txt |
Text shown in the changelog panel. Edits apply live; no restart. Leave it empty to hide the panel (when custom text is on). |
customtips.txt |
Loading-screen tips when [Loading Screen] UseCustomTips is on. One tip per line, up to 20. If missing, the copy in defaults/ is used. Off keeps Valheim's own tips. |
LoadingArt/art1 to art12 |
Loading screen art. PNG or JPG. If this folder has any image, only your files are used. If it is empty, demo art from defaults/LoadingArt/ is used. |
If a single file (logo, Discord image, music, changelog, custom tips) is missing from config, the matching file in defaults/ is used. Only LoadingArt folder is a folder-level check so if some art file is missing, it still uses your given art for loading screen.
Config
BepInEx/config/rdmods.custommainmenu.cfg is created on first launch. Your existing values are kept when the mod updates; only new keys are added.
The Discord panel title and button label are fixed in the plugin. The invite URL is not.
| Section | Setting | What it does |
|---|---|---|
| General | Enabled |
Turns the whole mod on or off. Default true. |
| General | EnableLogging |
Extra log lines. Default false. |
| Startup | SkipIronGateSplash |
Skip Coffee Stain / Iron Gate / game logo splash. Default false (vanilla splash plays). Change applies on the next launch. |
| Startup | SkipIntroCinematic |
Skip the first-run 1.0 intro cutscene. Default true. false lets that cinematic play. Does not skip new-world intro, EULA, or the Cinematics menu. |
| Main Menu | MuteAmbient |
Mute ocean, wind, and looping biome ambient on the start menu. Button clicks still follow Effects. Default true. Recommended to keep True so your main menu music is clean. |
| Main Menu | LogoOffsetY |
Move the start-menu logo up or down. Default 0 (current placement). Negative moves it down, positive moves it up. |
| Loading Screen | UseCustomTips |
Use customtips.txt on the loading screen. Off keeps Valheim's own tips. Default false. |
| Loading Screen | HideTopLetterbox |
Hide the top black bar and Valheim's fiery loading logo. The bottom tip bar stays. Default false. |
| Loading Screen | HideTipBackdrop |
Hide the black bar behind the loading tips. Tip text and spinner stay. Default false. |
| Loading Screen | UseCustomLoadingLogo |
Use the same logo.png as the start menu on the loading screen. Off keeps Valheim's fiery logo. Default false. |
| Loading Screen | ShowCustomLogoWhenLetterboxHidden |
If the top bar is hidden, still show your custom loading logo. Does nothing unless UseCustomLoadingLogo is on. Default false. |
| Loading Screen | LoadingLogoOffsetY |
Move the loading-screen logo up or down. Default 0 (current placement). Negative moves it down, positive moves it up. |
| Changelog | Enabled |
Show the changelog panel and its menu button. Default true. |
| Changelog | UseCustomText |
Fill the panel from changelog.txt. Default true. |
| Changelog | OverrideVanillaText |
On: only your text. Off: your text above Valheim’s own notes. Default true. |
| Changelog | AutoOpen |
Open the panel when the menu appears. The changelog button still collapses it. Default true. |
| Changelog | TitleText |
Title on the open Changelog panel. Default empty (vanilla “Changelog”). The collapse button always stays “Changelog”. |
| Discord Panel | VisibleOnlyOnStartMenu |
When on, the panel shows only on the main Start Game screen. Hidden on character/world select, cinematics, EULA, and during load. Default true. |
| Discord Panel | DiscordInviteUrl |
Opened by the panel button. Must start with http:// or https://. Empty disables the link. Default https://discord.gg/yX9tv3FXY6. |
Credits
Thanks to Soloredis for helping fix the Main Menu music slider not working.
Support
Questions, feedback, and bug reports: discord.gg/yX9tv3FXY6

