Wubarrk-VikingOS_BETA icon

VikingOS BETA

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, and drag-and-drop item sharing.

CHANGELOG

Changelog — VikingOS

[0.9.1] — Start of public beta

✨ Added

  • The compass shows your map pins. Every pin the map knows about now slides along the top of the compass tape as you turn — your own markers, your death, your bed and the boss stones — and so does every pin any other mod leaves behind, portals, shops, quest targets and resource nodes alike. There is no list of supported mods and there never needs to be one: the compass reads the same pin list the minimap reads, so if it is on your map it is on your compass, including pins from a mod released tomorrow.
  • Other players appear on it too, as the same small red figure the map uses — anyone sharing their position, moving along the tape as they move.
  • Whatever you have turned to face names itself underneath the compass, with how far away it is. Only the mark nearest the centre line is named; a caption on every pin would be a row of overlapping text.
  • The map's own pin filters carry across. Hide a pin type with the map's filter buttons and it is hidden on the compass as well, so the two can never tell you different things. Pins ticked off as visited are shown faded rather than removed — they are still landmarks. Pins that came in on somebody else's shared map appear only while you are actually looking at shared map data, greyed exactly as the map greys them.
  • Six new settings, under HUD Widgets: map pins and players can be turned off one at a time, the caption can be turned off, and you can set how far away a pin can be and still count, how many pins may crowd the strip at once, and how big the icons are.

🔧 Changed

  • The compass strip is a little taller when pins are shown, so the icons get a band of their own and never sit on top of a cardinal letter.

⚠️ Compatibility

  • HUDCompass (Neobotics) is now a hard incompatibility — do not run both. Both mods draw a heading strip with your map pins on it across the top of the screen, so the pair gives you two compasses fighting over the same band. Pick one. If you would rather keep HUDCompass, switch the VikingOS compass off in the configuration and the rest of VikingOS is unaffected.

[0.9.0] — Closed Beta

✨ Added

  • Three more frames to choose from, beside the original gilt. Runic is a broad chiselled band with square shoulders, a cut bind-rune at every corner and drilled pits marching along the edges. Serpent braids two strands down each rail and resolves them into a beast head biting each corner. Ironbound is a heavy riveted strap with a bracket at the corners and a shield boss at the crest. All four take their metal from your own colour, so a silver serpent or a blackened iron rune band is one more setting. Swap them from the Frame row in the layout menu (F10) and watch the window you are standing in change as you click. Every style is drawn at the same size, so switching never moves a control.
  • A compass across the top of the screen. A sliding tape of the horizon centred on where you are looking, with the eight cardinal points, a bearing in degrees, and north lit because north is the one you look for. It follows the camera rather than your body, so it turns with the view, and its bearings match the map's. Drag it anywhere, resize it by the corner grip, and it hides with the HUD like the clock and weight meter.
  • Every kind of text has its own size now. There used to be two dials for twelve styles, so "the buttons are too small" could only be answered by making the whole window bigger. Window titles, sub-titles, small gold labels, button text, list rows, footers and input fields each have their own setting, all on top of the single "All Text Size" dial that still moves everything at once.
  • The colours are yours. The window background and its opacity, the body and muted text colours, and — if you turn off the derived tones — the metal's shadow and highlight by hand. The panel colour reaches Valheim's own re-skinned panels too, and the buttons, list rows and text fields are derived from it, so lightening the interface lightens the things you click instead of leaving them black on a pale panel.

🔧 Changed

  • The configuration file has been reorganised into sections named for the question each answers — Theme, Theme Colours, Text Sizes, Chat, HUD Widgets, Layout, Window Positions, Compatibility. Your existing settings move with it; nothing is reset.

🩹 Fixes

  • Your own messages were written to the chat transcript twice. Only yours, and only with someone else on the server — the game sends a shout to each player separately, so with two people your own line arrived by two different routes and the log counted both. It would have been three times with three players. Everyone else's lines were always correct.
  • Keys pressed while the emoji grid was open reached the game. Browsing emoji could walk you, mount your horse or crouch you, and the chat window "stuck" until you closed the picker by hand. The grid now holds the keyboard for exactly as long as it is on screen, and Escape closes it.

[0.8.3] — Closed Beta

🩹 Fixes

  • Dragging an item into a trade dropped it on the ground instead. The trade window's "YOU OFFER" column was measuring where it sat inside its own window rather than where it sat on the screen, so releasing an item over it matched nothing and the game fell back to throwing the item at your feet. Items were never lost — they landed on the ground and could be picked back up — but no trade could be set up. The offer column now claims the release wherever the window has been moved to.
  • A side effect of the same fault: while a trade window was open, dropping an item in the empty top-left corner of the screen would silently add it to your offer. That phantom zone is gone.

[0.8.2] — Closed Beta

🩹 Fixes

  • Panels could keep their black-and-gold trim after the theme was switched off. Turning the look off restored every panel VikingOS remembered changing — but another mod can copy a panel background after it has been re-skinned, and a copy is a different thing wearing the same coat. Those were walked straight past. Switching the theme off now sweeps for anything still drawing a VikingOS panel and puts it back, recognising it by what is drawn rather than by what was remembered. Panels also get their original draw mode back, not just their original texture.
  • F10 now works while you are typing in chat. The chat box is the hardest thing on screen to arrange, because the game hides it a few seconds after the last message — so the one moment you can see it properly was exactly when the key was refused. Edit mode also holds the chat box open for as long as you are arranging. A letter key rebound to edit mode still stands down while you type, as it must.
  • Chat buttons are no longer cut off. The button row divides the width it actually has, and claims enough width for all five buttons even when the chat box is narrower than that — instead of drawing the last one or two past the edge of the window.
  • The player list is bigger, and wide enough for a name. It used to inherit the button column's width, so anything longer than about twelve characters was clipped in the one list whose whole job is showing names. It also says how many people it found.

[0.8.1] — Closed Beta

✨ Added

  • The chat buttons can sit in a row across the top or bottom of the chat box instead of in a column beside it — which hands the column's width back to the chat log. The row is the new default.
  • Heading text has its own size. Window titles and the small gold labels used to move only with the body text, so making the text smaller left the titles looking twice the size they should. Now they adjust on their own.
  • How deep the layout editor looks is yours to set. The default lists panels and their major parts; turn it up to reach individual labels, icons and bar fills. Positions survive being turned back down.
  • Far more of the interface is adjustable: the dialogue and NPC panels, the top-left messages, subtitles, the tutorial and join-code overlays, the trader, the skills and text windows, the barber and the menus. Previously the editor only ever walked the HUD, the inventory and the chat box.
  • Body text is a little smaller by default.

🩹 Fixes

  • A traded item that you were wearing is now taken off first. Trading away an equipped weapon or armour left you still holding something you no longer owned until you logged out.
  • Trade payloads could not be read back without being sent. Harmless in a real trade — the network layer papered over it — but it made the feature impossible to test, and anything that reads a payload without sending it got nothing.

[0.8.0] — Closed Beta

🪓 Layout presets

  • Save a whole screen and load it back by name. The layout menu (F10) has a preset row: type a name, Save, and everything about your arrangement is written to config/VikingOS/presets/. Use the ◀ ▶ arrows to walk what you have saved, and Load to put one on.
  • A preset is a complete screen, not a patch. Loading one resets every element it does not mention, so switching between two presets always gives you the same result rather than the two of them piled on top of each other.
  • A preset carries more than panel positions: your clock and weight meter, the share box, the trade window, the metal colour and the text sizes all travel with it. What it deliberately does not carry: anything the server owns, your keybind, and the layout behaviour switches.
  • Undoable. Loading a preset copies your current layout to layout.backup.json first, exactly as "Reset all" does. An accidental click costs a file rename.
  • Preset files are ordinary layout.json files with one extra block, so you can hand one to somebody else — or drop your layout.json into the presets folder and it just works.

💬 Whispers, and a reply that knows who

  • Real private messages. /w <player> <message> reaches exactly one person, wherever they are on the map. Valheim's own whisper is a volume — short-range and overheard by anyone standing near — so this is a new thing rather than a louder one. /msg and /tell do the same.
  • /r replies to whoever whispered you last, and the chat strip's reply button shows their name so you do not have to remember it.
  • A Whisper button on the chat strip opens a list of who is online and fills the name in for you, spelled right.
  • Whispers are not written to the server's chat transcript.

⇄ Player-to-player trading

  • A proper trade window. /trade, or the Trade button on the chat strip, asks somebody to trade. Both of you get a two-column window: drag items from your inventory onto your side to offer them, exactly the way item sharing already works.
  • Both sides confirm, and any change tears up both confirmations. If they add or remove something after you have confirmed, you confirm again — so what you agreed to is always what you saw.
  • The server holds both sides while the swap happens. Items go from your inventory to the server to their inventory, existing in exactly one place at every instant. If either of you disconnects mid-trade, nothing is destroyed: a swap that completed is delivered when you next log in, and a trade the other player abandoned is returned to you.
  • A disconnect is caught before anything moves. The two clients keep a heartbeat while the window is open, so a partner who drops out ends the trade in a few seconds — with both inventories untouched — rather than being noticed only once goods are already in transit.
  • A redelivered trade cannot pay you twice. The server keeps offering your goods until your client confirms it has them, which is what stops a lost packet costing you the trade. Your client remembers every delivery it has already applied, so the second offer of the same one is recognised and simply confirmed again.
  • Items keep everything — quality, durability, who crafted them, and any data other mods have attached.

⚠️ Trading needs the server to be running VikingOS. The escrow is the server's job, and there is no safe way to do it without one. Whispers and presets work regardless.

⚠️ Versions must match. A server on 0.8.0 will not accept a client on 0.7.1. Update the server and its players together.

[0.7.1] — Closed Beta

🪓 The layout engine

  • The Share Item box can be moved. It was the one thing on screen you could not place: it docked itself beside your character panel and stayed there. Drag it by its title row and it stays where you put it, remembered as a fraction of the screen like the clock and the weight meter, so it holds through a resolution change. Leave it alone and it docks itself exactly as before.

⚠️ Versions must match. A server on 0.7.1 will not accept a client on 0.7.0. Update the server and its players together.

[0.7.0] — Closed Beta

Everything from 0.0.1 through 0.7.0 was built privately. This is the first release handed to anyone outside, so rather than list seven months of internal churn, here is what actually arrived.

🪓 The layout engine

  • Move, resize, scale and rotate any element on screen. Press F10 and everything adjustable is outlined — vanilla panels, the pieces inside them, and other mods' panels too, discovered by walking the interface rather than working from a list of the dozen somebody thought of.
  • Layouts are stored in resolution-independent units, so a layout built at 4K comes back correct at 1080p, and as differences from where your other mods put things — VikingOS composes with them instead of overruling them. Reset returns an element to what your mods intended, not to vanilla.
  • Resizing a grid re-flows it. Valheim positions slots in code, once. Narrow the hotbar and it wraps onto a second row; the arrangement survives items and status effects coming and going, and modded bars re-flow too because the shape is detected, not the name.
  • Stat bars widen without breaking. A bar's width is the game's readout of your maximum, so the adjustment rides inside the game's own calculation — a wider health bar still grows with max health.
  • Scale and rotate happen about the centre, not Valheim's wandering pivots, and rotated panels keep their text upright at any depth.
  • Snapping to screen centre, screen edges and other panels, with a gold guide line. Alt suspends it.
  • Layouts restore exactly after a relog — an element must hold still before its home is trusted, so an intro animation can never smuggle a wrong position into your save.
  • Select an element from the search list and it is pinned in the world: outlined, haloed for a few seconds so you can find it, and draggable where it stands even when buried under other panels. Deselect with the button or a click on empty screen.

😀 A phone's emoji library, built in

  • ~1,900 emojis embedded in the mod under the shortcodes you know from Discord. ~150 are animated, running on a GIF engine written for this mod, and an animated :joy: outranks its static twin the way a phone keyboard would.
  • A picker and autocomplete — a browsable grid, and suggestions that pop above the chat input as you type :fi.
  • Emojis render in the floating text over people's heads, and wide emotes render wide (up to 4:1) instead of being squeezed square.
  • Server emotes: admins drop PNGs and GIFs into a folder on the server and every player receives them, cached across sessions. Oversized GIFs are shrunk by the server itself — headless, no GPU — rather than refused. A console command picks up new files live.

💬 One chat window

  • The chat is restructured into an actual window: drag the gold frame to move it, corner grip to resize (while typing — the input line stays glued inside the box), wheel over the control strip to scale. The VikingOS controls dock to the chat inside one shared frame. All of it saves with your layout.
  • Shouts keep their capitals. Vanilla's forced ALL-CAPS rewrite is removed at the display end, so you read what was typed — from everyone, vanilla players included.
  • Always Shout — every message goes out at Shout range, no /s. Server-owned on servers running VikingOS: the chat is the server's, the screen is yours.
  • Drag an item onto the chat to share it. The party gets a linked name; hovering it opens a card with the item's icon and real stats, localized in the reader's own language and computed on the reader's machine at the right quality, durability and world level. A Share Item box also opens beside your character panel whenever the inventory is open.
  • A chat transcript on disk, one file per day. On a server that is every message it relays — the closest thing Valheim has to a shout log.

⬛ The look

  • The inventory, container, crafting and item-info panels re-skin in black and gold — whole panels, never a half-themed seam.
  • An ornate gilt frame — polished double rails, carved corners, palmette crests — around the chat window and around every panel of the inventory screen. It is built from the panel backgrounds themselves, so a frame is always exactly the size of the box it wraps, and it follows a panel that you move, resize or scale. Panels that visually touch share one frame; panels with a gap between them keep a frame each, rather than one frame drawn around open sky.
  • None of it is a shipped image. Every rail, flourish and crest is generated in code at runtime, so the metal is a colour rather than a texture pack — silver, bronze, verdigris, applied live.
  • A clock and a carry-weight meter on the HUD, both resizable, both remembering their place as a fraction of the screen.
  • A master switch turns all of it off while leaving the chat window, emoji, item sharing and the whole layout editor exactly as they are.

🤝 Multiplayer

  • Chat behaviour is server-owned; everything about your screen is local and never touched by a server.
  • A server switch turns the whole chat side off for everyone connected — the one setting a server really needs, because chat is the only part of VikingOS that reaches other people.
  • Versions must match. A server running VikingOS requires every client to run the same version, and refuses clients without it.

🧩 Compatibility

  • KG Marketplace & Server NPCsKG Chat must be off; server admins set EnableKGChat = false on the server. The marketplace, NPCs, quests and trading are completely unaffected. See the README.
  • AzuExtendedPlayerInventory — extended hotbars re-flow like vanilla ones, and the panel it builds over the crafting and character area is themed and framed with the rest.

🚧 This is a beta. It is tested before every release and it is genuinely usable, but it has not had a long soak across many machines and mod lists. Rough edges are expected, and bug reports genuinely shape what gets built next.

⚠️ VikingOS can move other mods' UI, and doing so may cause unwanted behaviour — those mods were not written expecting anything else to arrange them. Every change is reversible: right-click resets one element, deleting your layout file resets everything. Read the warning at the top of the README before you start rearranging.