Wubarrk-VikingOS icon

VikingOS

Rebuild Valheim's interface. Move, resize and rotate any HUD, inventory or chat element in a live edit mode, saved in resolution-independent units. Plus chat that keeps your capitals, Always Shout, drag-and-drop item sharing and GIF search.

Last updated a day ago
Total downloads 29
Total rating 1 
Categories Mods Misc Tools Skins Server-side Client-side Utility AI Generated Deep North Update
Dependency string Wubarrk-VikingOS-0.11.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2351 icon
denikson-BepInExPack_Valheim

BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.

Preferred version: 5.4.2351
ValheimModding-JsonDotNET-13.0.4 icon
ValheimModding-JsonDotNET

Shared version 13.0.3 of Json.NET from Newtonsoft, net45 package for use in Valheim mods. Maintained by the ValheimModding team.

Preferred version: 13.0.4

README

πŸ›‘οΈ VikingOS

VIKINGOS VERSION CLIENT SIDE

"THE HEARTH IS THAT WAY," he bellowed, because the gods had decreed that any man raising his voice must also lose the shape of his words. A Viking may shout. A Viking may also be understood. It was never obvious why he could not do both.

Press F10. Everything on your screen is now yours to move.

Health, stamina, the hotbar, the minimap, the crafting list β€” and the hundred smaller pieces inside them, other mods' panels included. Drag, resize, scale, turn. It snaps like a real editor and comes back exactly on any monitor.

Then it keeps going: your gear in slots of its own round a living portrait of your Viking, a chat that behaves like a modern one, trades that cannot vanish halfway, and a compass, clock and weight meter across the top of the screen. All of it drawn in code β€” no textures, and the metal is a colour picker.


NEW IN 0.11.0

Your gear gets its own slots. Open the inventory and your character stands β€” live, wearing what you wear β€” in a carved stave-church doorway, every slot laid out round them like Ultima Online's paperdoll. Oak, iron, and a rune cut into every slot.

You It
Right-click a helmet, a cape, a ring goes to its slot; whatever was there comes back to your bag
Drag it out of its slot comes off
Carry an item onto your figure goes where it belongs β€” a weapon into your hand
Carry anything lights up the slots that take it
Press P opens the Hall of Arms on its own
Alt+Z Β· Alt+X Β· Alt+C uses the three pouch slots β€” a mead, food, a torch

🦴 Wishbone and Wisplight worn beside your belt, not instead of it Β· πŸ’ Jewelcrafting, Backpacks, BowsBeforeHoes get Neck, Finger, Backpack and Quiver slots Β· πŸ‘˜ Wardrobe β€” wear one item, show another, everyone sees it Β· πŸŽ’ Loadouts β€” five gear sets, one click each Β· β†ͺ Coming from AzuEPI? Your gear moves over by itself.


BEFORE YOU INSTALL

If… Then…
πŸ›‘ you run KG Marketplace & Server NPCs set EnableKGChat = false on the server. The rest of KG Marketplace is unaffected.
β›” you run HUDCompass pick one. Two compasses fight for one strip of screen.
🀝 you play on a server server and players update together β€” it only accepts the same version.
πŸ›‘οΈ you ever remove VikingOS type vikingos_slots_unpack in the console (F5) first, so your Hall of Arms empties into your bag.
πŸͺ“ you move another mod's panel it may misbehave β€” it was not written expecting it. Right-click puts it back.

I

Move, resize, scale and rotate anything β€” and it survives a new monitor.

You It
F10 outlines everything you can adjust, other mods' panels included
Drag Β· Ctrl + drag moves the whole panel Β· just the piece under your cursor
Corner grip resizes the box; the contents re-flow to fit
Scroll or + / βˆ’ scales it
[ / ] turns it a quarter turn (Shift: 15Β°) β€” the text stays upright
Right-click puts that one back
Search box finds any element by name, even buried under three panels
Save in the preset row keeps the whole screen as a named layout; Default becomes your fresh-profile screen
πŸ“– Read the saga β€” how it remembers, and why it plays nicely with other mods

It does not work from a list. VikingOS walks the interface and offers everything it finds, so the pieces inside panels are adjustable and panels from other mods show up without VikingOS knowing they exist. How deep it looks is a setting.

A layout built at 4K comes back right at 1080p. Valheim measures every 16:9 screen as the same 1920Γ—1080 interface units, and VikingOS stores your changes in those units.

It cooperates instead of overruling. Each change is stored as a difference from where the element already was. If another mod moved your hotbar, that is the starting point β€” and reset returns it to what your mods intended, not to vanilla. Your whole layout is one small file: delete it to start fresh, or send it to a friend.

Snapping is everywhere β€” edges and centres line up with the screen, other panels and VikingOS's widgets, with a gold rule showing what matched (Alt suspends it). Grids re-flow: narrow the hotbar and it wraps onto a second row. Stat bars widen without breaking: a wider health bar still grows when you eat. Scale and rotate happen about the centre, not the corner Valheim would swing them from.

Saved screens are complete screens, not patches β€” panels, widgets, metal colour, text sizes β€” so two presets always give two results, and your current layout is copied aside before every load. They are ordinary files in config/VikingOS/presets/.

⚠️ Moving another mod's interface can make that mod snap back, redraw in the wrong place or stop answering clicks. That is two things arranging one object, not a bug in either. Right-click puts it back; deleting your layout file undoes everything.


II

Your gear, your portrait, your rune stones.

On the panel
Your figure live, dressed as you are; drag to turn them
Down the sides helm Β· neck Β· chest Β· legs Β· quiver β€” cape Β· belt Β· finger Β· trinket Β· backpack
Below weapon and shield Β· the Wishbone and Wisplight Β· the pouch
α›š ᚲ α›Š ᚹ α›š quest journal Β· skills Β· what your gear gives you Β· Wardrobe Β· Loadouts
Three arrangements UO Body, Strip, Grid β€” every slot movable in F10
πŸ“– Read the saga β€” Wardrobe, Loadouts, other mods, and moving from AzuEPI

Worn gear leaves your bag, so the bag is for what you carry. An item that does not belong in a slot is refused, and anything Hall of Arms cannot place stays in your bag β€” nothing is ever dropped.

α›Š What you wear gives β€” armour, carry weight, movement, eitr, and every resistance and weakness on one page.

ᚹ Wardrobe β€” give your helm, chest, legs or cape another item's look while the real one keeps its armour. Carry the item whose look you want and press Take the look; Hide puts a helm or cape out of sight; Clear shows what you wear. Everyone sees the look, with or without VikingOS.

α›š Loadouts β€” Raid, Hunt, Forge, Voyage, Feast. Keep remembers what you wear; Wear puts it back on from your inventory. A loadout never makes anything; it tells you what it could not find.

Jewelcrafting, Backpacks and BowsBeforeHoes get their slots when installed. Each mod still equips and draws its own items β€” Hall of Arms gives them a home, and honours Jewelcrafting's own Ring and Necklace slot settings.

Coming from AzuExtendedPlayerInventory? Remove it and play: the gear you wore in its slots moves into Hall of Arms the first time, every move written to the log. Keep it instead and VikingOS steps aside, only dressing AzuEPI's panel in oak and iron.


III

A chat that behaves like the one you use every day.

πŸ˜€ ~1,900 emoji :joy: :fire: :skull: β€” every Discord name, ~150 animated, a picker and autocomplete
🎞️ GIF search /gif cat dance β€” it pops up big for everyone in range
🏰 Server emotes admins drop PNGs and GIFs in a folder; every player gets them
πŸ”  Your capitals kept Head SE from Haldor stays Head SE from Haldor
πŸ“£ Always Shout every message at shout range, no /s
🀫 Real whispers /w <player> reaches one person anywhere; /r replies
πŸͺŸ A real window drag its gold frame, resize its corner, scale it with the wheel
πŸ“œ A daily log everything said, in a plain text file
πŸ“– Read the saga β€” emoji, GIFs, server emotes and the window

Emoji. The built-in set is Twemoji, with Google's Noto for the animated ones. Type :fi and suggestions pop up; type a full name and press space and it completes itself. Emoji show in the text over people's heads too, wide emotes draw wide, Emote Size makes them as big as you like, and hovering one shows it large.

GIF search is powered by KLIPY, its adult-content filter on its strictest setting by default β€” and on a server, the setting is the server's. It works with no setup on a shared key; if that allowance runs out, a free key of your own takes two minutes (below). Your game talks to KLIPY directly; the server relays only a short address, and nothing is saved to disk.

Server emotes are cached, so a rejoin costs nothing, and oversized GIFs are shrunk by the server instead of refused. When names collide: the server wins, then your own packs, then the built-ins.

The capitals fix removes vanilla's forced-case rewrite and nothing else. It happens on your machine, so it fixes messages from vanilla players too.

The window: log, input line and controls travel together; the history stays inside the box instead of spilling over the game; it pulls itself back on screen after a resolution change; the button row docks top, bottom or side.


IV

Show off a find. Trade without trusting anyone.

πŸŽ’ Share an item drop it on the Share Item box β€” the party hovers its name for the full stat card, in their own language
⇄ Trade the Trade button or /trade β€” two columns, both confirm, any change tears up both confirmations
πŸ“– Read the saga β€” why a trade here cannot lose your gear

A straight swap between two players has a moment where an item has left one pack and not yet reached the other β€” and a disconnect there is how gear gets lost. VikingOS never does that. The server takes both sides, and only then hands each of you the other's: your item is in exactly one place at every instant.

A partner who drops is noticed within seconds and the trade simply ends with nothing moved. A swap that went through waits for you at your next login, and a delivery that arrives twice is recognised rather than paid twice. Items arrive whole β€” quality, durability, crafter, and anything other mods attached.

Shared item cards are worked out on the reader's machine, so other mods' stat changes show through. The item never leaves your bag.

βš”οΈ Trading needs VikingOS on the server. Item cards need it on both ends.


V

Everything you keep opening the map for, already on screen.

🧭 Compass a tape of the horizon with every map pin on it β€” yours, the game's, and every other mod's
πŸ•°οΈ Clock your time, the server's, and the in-game day
βš–οΈ Weight meter 45/300 at a glance; blinks red when you are overloaded
πŸ—ΊοΈ Minimap + / βˆ’ buttons and the wheel to zoom; drag it across the screen
πŸ“– Read the saga β€” the compass

The compass follows your camera, not your body, so it turns with the view; north is lit. It reads the same pin list the minimap reads, so a pin from a mod released tomorrow is on it too. Other players show as the map's red figure, and whatever you look towards names itself with its distance. Hide a pin type on the map and it hides here as well. Range, pin count, icon size and names are all settings.

The clock, compass and weight meter start lined up and stay lined up as you resize them; drag them anywhere while the cursor is free, and resize them by the gold grip.


VI

Black and gold, four carvings, and any metal you like.

⬛ Whole panels re-skinned inventory, containers, crafting, skills, trophies β€” never a half-themed seam
✨ Four frames Gilt Β· Runic Β· Serpent Β· Ironbound β€” switch live, nothing moves
🎨 The metal is a setting silver, bronze, black iron, verdigris β€” one colour value; it rebakes while you watch
πŸ”  Every text size titles, labels, buttons, rows β€” each on its own dial
πŸŽ›οΈ Features without the look one switch turns the painting off and keeps everything else

Art update: in a world running VALtimaOnline, the panels, the minimap, VikingOS's windows and the Hall of Arms can wear that world's leather-and-brass art. Fatty and TortalPortal share VikingOS's frame β€” give them the same metal colour and they read as one family.


THE TOOLBOX

First ten minutes: install with your mod manager β†’ launch once β†’ F10 and move something β†’ open the inventory and right-click a helmet β†’ put a mead in the pouch and press Alt+Z β†’ Enter, then /gif hello.

Key Command
F10 edit mode vikingos_debug what works, what does not, and why β€” paste it with a bug report
P Hall of Arms vikingos_layout your changes; edit / reset
Alt+Z / X / C pouch slots vikingos_slots_unpack empty the Hall of Arms into your bag
J quest journal (VALtimaOnline) vikingos_gifcheck test GIF search end to end
Enter chat: /gif /w /r /trade vikingos_emotereload admins: new server emotes, no restart
πŸ› οΈ Add your own emojis

Drop PNGs or GIFs into the emojipacks folder in VikingOS's config directory β€” the filename is the shortcode, so skol.png is :skol: β€” and restart. Yours outrank the built-ins.

πŸ“‘ Share emotes from your server

Drop PNGs and GIFs into the emotes folder in VikingOS's config directory on the server, then run vikingos_emotereload or restart. Each player downloads what is missing once.

🎞️ Use your own GIF key

Make a free account at the KLIPY Partner Panel, create a platform under API Keys, and paste the key into Configuration Manager β€Ί VikingOS β€Ί 5 - Chat β€Ί GIF Search API Key. vikingos_gifcheck says what is wrong if it does not work.

🧹 Remove VikingOS cleanly

Type vikingos_slots_unpack in the console (F5) β€” everything in the Hall of Arms moves into your bag, worn gear stays worn β€” then quit and remove the mod. Skip it and Valheim drops what was in the slots at your feet.


MULTIPLAYER

Works with vanilla players and servers Needs VikingOS on the server Needs VikingOS on both ends
layout Β· theme Β· chat window Β· Hall of Arms Β· Wardrobe looks Β· capitals Β· Always Shout Β· emoji server emotes Β· trading item cards Β· shared GIFs

⚠️ Versions must match. A server running VikingOS refuses other versions. Update the server and its players together. Single player and vanilla servers do not care.


COMPATIBILITY

Mod
πŸ›‘ KG Marketplace & Server NPCs KG Chat must be off: EnableKGChat = false in BepInEx/config/Marketplace/MarketPlace.cfg on the server, then restart β€” before its first boot if you can. Players have nothing to do. The marketplace, NPCs, quests and trading are unaffected.
β›” HUDCompass Do not run both. Keep it? Switch the VikingOS compass off.
AzuExtendedPlayerInventory Choose one for your gear. With AzuEPI, Hall of Arms steps aside and dresses AzuEPI's panel; without it, your gear moves into Hall of Arms.
Jewelcrafting Β· Backpacks Β· BowsBeforeHoes Get Hall of Arms slots; each still equips its own items.
VALtimaOnline Its quest dialog, journal and pinned quests (J) drawn in VikingOS's frame.
Hygge Β· MarsarahTweaks No conflicts β€” what they move becomes VikingOS's baseline.
Fatty Β· TortalPortal Share the frame.

SETTINGS

All safe to leave alone. Configuration Manager (F1) in game, or BepInEx/config/wubarrk.VikingOS.cfg.

πŸ”’ Server-synced β€” set on the server, hidden on clients
Section Setting
1 – General Lock Configuration only admins change synced settings
5 – Chat Enable VikingOS Chat the whole chat side (server restart)
5 – Chat Share Emotes hand the server's emotes to players
5 – Chat Always Shout every message at shout range
5 – Chat Allow Shared GIFs GIF sharing for everyone
5 – Chat GIF Content Filter High / Medium / Low
πŸ–₯️ Local to your game β€” yours alone
Section Settings
2 – Theme Gold Theme Β· Theme Inventory Panels Β· Ornate Frames Β· Frame Style Β· UO Art Skin Mode
3 – Theme Colours Metal Colour Β· Derive Metal Tones Β· Metal Shadow Β· Metal Highlight Β· Panel Colour Β· Panel Opacity Β· Text Colour Β· Muted Text Colour
4 – Text Sizes Text Scale Β· All Text Size Β· Window Title Size Β· Sub-Title Size Β· Small Label Size Β· Button Text Size Β· List Row Size Β· Footer Size Β· Input Field Size
5 – Chat Embedded Emoji Library Β· Chat Transcript Β· Chat Button Bar Β· Chat Text Size Β· Emote Size Β· Zoom Emotes On Hover Β· Complete Typed Emoji Β· GIF Search API Key Β· Show Shared GIFs Β· Auto-Show Shared GIFs
6 – HUD Widgets Clock Β· Weight Meter Β· Compass Β· Compass Map Pins Β· Compass Players Β· Compass Pin Names Β· Compass Pin Range Β· Compass Pin Limit Β· Compass Pin Size Β· Quest Tracker Β· Quest Tracker Opacity
7 – Layout Edit Mode Key Β· Element Depth Β· Scale And Rotate In Place Β· Re-Flow Grids On Resize Β· Snap While Dragging Β· Snap Distance Β· Grab Whole Sections Β· Keep Text Upright When Rotated
8 – Window Positions set by dragging; Default Arrangement Applied = 0 lays the default screen out again
9 – Compatibility Disable KG Chat Β· VALtima Quest Windows Β· Quest Journal Key
10 – Hall of Arms Slots Β· Wishbone and Demister Slots Β· Quick Slot 1/2/3 Key Β· Show Panel Β· Arrangement Β· Look Β· Panel Scale Β· Drag Glow Β· Empty Slot Outlines Β· Dress On Drop Β· Hall of Arms Key
99 – Debug Debug Logging Β· Debug Overlay

CREDITS

Needs: BepInExPack Valheim 5.4.2351 Β· JsonDotNET 13.0.4

  • Static emoji β€” Twemoji, Β© 2019 Twitter, Inc and other contributors, maintained by Jason Sofonia and Justine De Caires, CC BY 4.0. The v15.1.0 set, unchanged.
  • Animated emoji β€” Noto Emoji Animation by Google, CC BY 4.0. Resized to about 64 px and re-encoded as small GIFs.
  • Emoji names follow GitHub's gemoji (MIT, Β© 2019 GitHub, Inc.).
  • GIF search by KLIPY β€” GIFs come from KLIPY to your game; none is part of VikingOS or saved by it.
  • The six Viking animations (:skol:, :chop:, :huzzah:, :longboat:, :dwarfrage:, :vikingdance:) and the Hall of Arms art are original to VikingOS, drawn in code.

πŸ”— Also by me: TortalPortal, a complete overhaul of Valheim's portal network, and Mists of Avalor, in open beta on Hexium.

Made by Wubarrk. Bug reports and abuse welcome on Discord. License: MIT β€” keep the copyright notice; the emoji pictures are under their own licences. Full text in LICENSE.md.