You are viewing a potentially older version of this package. View all versions.
Wubarrk-Wings_of_the_Valkyrie-2.2.1 icon

Wings of the Valkyrie

Four tiers of upgradable runic dragon wings with real armour, resistances and a Valkyrie Flight skill that grows with every wingbeat. Physics-based gliding, stamina-priced flapping, hand-forged icons, and woven-rune VFX - earn the sky.

Date uploaded 2 weeks ago
Version 2.2.1
Download link Wubarrk-Wings_of_the_Valkyrie-2.2.1.zip
Downloads 820
Dependency string Wubarrk-Wings_of_the_Valkyrie-2.2.1

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 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.2350

README

Wings of the Valkyrie

By the grace of the Allfather, the skies of the Tenth World are no longer out of reach.

Wings of the Valkyrie is a massive, physics-based flight overhaul for Valheim. Why trudge through the muddy swamps or sail across treacherous oceans when you can claim your birthright and take to the skies like a true Norse god?

Four craftable tiers of glowing runic wings await — and with 2.0.0, flight stopped being a thing you craft and became a thing you learn. 2.0.1 finishes the thought. The numbers printed on a set of wings are no longer what you get the moment you put them on; they are what mastery buys. A novice in Dragon wings is a novice. The sky is earned one wingbeat at a time — and now the mod keeps a logbook of every one of them.

2.1.0 makes the wings themselves worth keeping. They are no longer cape clones wearing a new icon — they are the mod's own items, with their own armour, their own resistances and their own upgrade path, and they no longer need Jotunn to exist.

2.1.4 gives the skill its memory back. From 2.1.0 to 2.1.2 the game quietly discarded your Valkyrie Flight level every time it loaded your character. It keeps it again — and if you lost one along the way, there is now a console command to put it back. Update the server and every client together: a 2.1.4 server will not let those three builds connect, because a client that is still deleting its own player's levels is not something a server can protect anyone from.

2.2.0 lets the wings ride as a trinket. Valheim 1.0 gave every Viking a trinket slot, and the wings can live there now instead of on your back — which leaves the back free for a real cape. Whether they may is the server's call (WingsSlot: automatic, the player's choice, trinket only, or back only), and the wings carry their full armour and resistances in either slot. See Where the Wings Go below.


⚠️ Upgrading

Your config upgrades itself — again. The mod stamps a layout version on its config file and migrates old files on first launch, whether they come from 1.1.x, 2.0.0, or anywhere in between. Any setting still sitting at its old default moves to the new balance; anything you or your server admin actually changed is kept exactly as you set it. A backup is written beside the config before a single value is touched, and the log lists what moved and what stayed. No config deleting, no lost admin work.

Coming from 1.1.x? A 2.0.x client cannot join a 1.1.x server and vice versa — that is deliberate, since recipes, balance, and the skill all changed shape.

Coming from 2.0.0? Patch releases still talk to each other, so a 2.0.1 client will connect to a 2.0.0 server. It just won't fly by the same rules: the 2.0.1 balance knobs don't exist on a 2.0.0 server to be synced, so update both ends together if you want everyone earning the sky at the same rate.

Coming from 2.1.x? Nothing in your config changes and nothing on your character is touched; one new section, [9. Wing Slot], appears at its default (Auto). A 2.1.6 client still connects to a 2.2.0 server — it simply keeps its wings on its back and logs one line about a setting it does not know — but update the two together anyway, as always. If your server should behave exactly as before, set WingsSlot to BackOnly.

Coming from 2.0.2? Nothing in your config changes, and a 2.0.3 client still connects to a 2.0.2 server. One behaviour does change: transforming some other back item into the wings through AzuExtendedPlayerInventory's vanity slots used to hand over real flight. It no longer does — flight comes from the wings you actually have equipped, and from nothing else. Real wings worn underneath a vanity cape still fly exactly as they always have.

Coming from 2.0.3? The boat fix is decided entirely on your own machine, so updating your game is enough — a 2.0.4 client behaves itself on a 2.0.2 or 2.0.3 server, with nothing to change at the server end. Shipmates still on an older build will keep opening their wings on the swell until they update too.

Coming from 2.0.4? Update the server and every client together — 2.1.0 will not talk to an older build. Jotunn is no longer required; you can remove it if nothing else on your list wants it. Coming straight here to 2.1.4, your wings, your Valkyrie Flight levels and your logbook all survive: the items keep their names and the skill keeps its identity, so nothing in your inventory or your save is touched. (If you have already been running 2.1.0, 2.1.1 or 2.1.2, read the next note.) Two config defaults move on their own — the Crude and Troll workbench requirement drops from level 3 to level 2, because upgrading needs a higher station than crafting and a workbench stops at level 5. If your admin had set those by hand, their values are kept as always.

Coming from 2.1.0, 2.1.1 or 2.1.2? Those three builds reset your Valkyrie Flight level every time they loaded your character — a check in the game drops any skill it does not recognise, and the patch that made this one recognisable left with Jotunn in 2.1.0. 2.1.4 fixes it. Update the server and every client together: a 2.1.4 server refuses those three builds outright, because your character file lives on your own machine and a server has no other way to stop a stale client from deleting your levels. Nothing in your config changes, and nothing else on your character was ever affected.

Your lost level is handed back to you automatically, once, the first time you load in. Nothing survives on the character itself, but the server still remembers what you had from the last time you flew, and 2.1.4 gives it back — with a message on screen, no commands and nothing to ask an admin for. It only ever raises a level, never lowers one, and it happens once per character. Anyone who has flown on a 2.1.0–2.1.2 client is past saving that way, because the server's record of them was overwritten too; resetskill ValkyrieFlight then raiseskill ValkyrieFlight 86 puts them back by hand.

Coming from 2.1.4? The automatic restore was in that build and gave everyone nothing — the server lost its record of what each pilot had a moment after reading it, answered "never heard of you", and the game then counted the repair as done. 2.1.5 fixes the cause and disregards every mark 2.1.4 left, so if you were one of the pilots it shrugged at, your restore is owed again: updating your own game is enough, and it happens on your next login.

Server admins: the snapshot is taken the first time a 2.1.4 or newer server reads its flight registry, and written to flight_skill_restore.dat beside your export files. It is written once and never rewritten — keep a copy. Set RestoreLostSkillLevels to false if you would rather do it yourself.


🦅 What Awaits in the Sky

  • The Valkyrie Flight skill: Flap and glide to grow a true Valheim skill, right in your skills panel. The sky remembers your effort — veterans flap for 45% of the stamina, strike the air with +50% lift, sink 60% slower on the glide, and cut through the wind 35% faster. And like every skill, death takes its tithe.
  • Altitude is earned, not bought. A tier's flight ceiling is what a master reaches. At skill 0 you get roughly a third of it, rising with every level. The Dragon wings that carry a veteran to 1300m will hold a beginner near 455m — put the hours in and the ceiling rises with you.
  • The higher wings must be earned too. Troll, Lox and Dragon wings refuse to beat until you have the Valkyrie Flight levels to command them (15, 30 and 50 by default). They will still unfurl and still glide, always — and gliding is exactly how the skill is earned, so no one is ever grounded, only slowed down.
  • A logbook of your saga: The mod quietly records every second you spend on the wing — time flown, distance, wingbeats, your highest altitude, your longest flight, your steepest stoop, which biomes you have crossed, and a fistful of stranger numbers besides. Read it in game with the wov console command. It lives on your character, so it travels with you.
  • Four Tiers of Ascension: From crude bronze-nailed hides to god-tier wings woven with Eitr and a dragon's grief. Each tier raises the lift, the glide, the ceiling and the stamina economy you can grow into.
  • Wings that upgrade like the armour they are. Every tier goes to quality 4 at its crafting station, exactly as a chestpiece does. Upgrades are deliberately expensive — reaching quality 4 on Dragon wings costs 300 Feathers, 150 Eitr, 72 Scale Hide and 6 Dragon Tears on top of the craft — and they buy armour first, flight second: a fully upgraded pair is never a substitute for the tier above it.
  • Real armour and real resistances. The wings carry their own stats now instead of a cape's. Dragon wings are very resistant to fire — they were cloned from the Feather Cape, which is weak to it, so until now a dragon's wings burned faster than bare skin. Lox wings shrug off frost, Troll wings blunt a club, and every tier makes leaving the ground cheaper.
  • Physics-Driven Flight: Leap from a peak and jump again to unfurl your wings — the wind catches you instantly. Flap to climb, pitch your gaze downward to dive-bomb, level off to ride the glide. Land, swim, or step onto a ship's deck and the wings stow themselves.
  • No Fall Damage While Gliding: The wind never lets a winged Viking break on the stones. Open wings mean a safe landing, always.
  • The Price of Flight: The Allfather demands stamina. Every flap costs energy — higher tiers and higher skill both lighten the tribute, but the sky is never free.
  • Breathtaking Runic Visuals: An articulated draconic wing skeleton, procedurally generated in real-time, bound by a shimmering membrane of woven Norse runes. Runic energy bleeds from your wingtips into the wind — and every other player sees your wings beat exactly when yours do, fully synchronised in multiplayer.
  • Hand-Forged Icons: Every wing tier and the skill itself carries its own crafted sigil in your inventory. No more borrowed cape art.
  • Server Admin Sovereignty: Every stat, recipe, armour value, resistance, XP rate and bonus curve is server-enforced config. Admins rule the skies; clients cannot override.
  • No Jotunn, no framework: The wings, the recipes, the upgrade path, the Valkyrie Flight skill and the wov command are all registered against the game directly. One DLL, one dependency: BepInEx.

🕹️ How to Fly — the 60-Second Saga

  1. Craft wings and wear them — on your back, or in your trinket slot (see Where the Wings Go).
  2. Jump while airborne to unfurl. Falling fast unfurls them on its own — the wind refuses to waste a Viking.
  3. Jump again to flap and climb. Each beat costs stamina — and the higher tiers will not beat at all until your Valkyrie Flight is high enough to command them.
  4. Look down to dive — the steeper your gaze, the faster you fall upon your enemies. Level your eyes to stretch the glide.
  5. Touch ground, water, or a ship's deck and the wings fold away.

Every flap and every second on the wind raises Valkyrie Flight. Fly often. Fly far. The sky keeps the ledger — and so, now, does your logbook.

Stuck with wings that won't beat? Jump off something and glide. Glide time is the one thing that always pays, at every tier, at every level. That is the ladder: fall with style until you have earned the right to climb.

🛠️ The Wing Tiers & Crafting

(All values below are default settings. Server admins can customize every recipe and stat in the config.)

📋 Crafting Quick Reference

Tier Wings Station Flap needs Recipe Ingredients
🟢 Tier 1 Crude Wings Workbench (Lvl 2) — 10× Bronze Nails, 10× Deer Hide, 20× Leather Scraps, 5× Troll Hide, 20× Feathers
🔵 Tier 2 Troll Hide Wings Workbench (Lvl 2) Flight 15 15× Troll Hide, 10× Iron Nails, 30× Feathers
⚪ Tier 3 Lox Feathered Cloak Forge (Lvl 3) Flight 30 10× Lox Pelt, 20× Silver, 10× Linen Thread, 30× Feathers
🟣 Tier 4 Dragon Valkyrie Wings Galdr Table (Lvl 1) Flight 50 40× Feathers, 20× Eitr, 10× Scale Hide, 2× Dragon Tears

📈 What Each Tier Is Worth — Novice vs Master

Every number below is a range, because every number now depends on you. The left value is a brand-new flier at Valkyrie Flight 0; the right is a master at 100. Any tier can be glided at any level — the requirement above is only for flapping.

Tier Flight Ceiling Glide Speed Flap Lift Stamina / Flap
🟢 Crude 46m → 130m 8 → 10.8 11 → 16.5 16 → 7.2
🔵 Troll 53m → 150m 12 → 16.2 13 → 19.5 13 → 5.9
⚪ Lox 67m → 190m 16 → 21.6 16 → 24 10 → 4.5
🟣 Dragon 455m → 1300m 24 → 32.4 20 → 30 7 → 3.2

Level glide sink follows the same rule: 2.5 m/s when you start, 1.0 m/s once you have mastered it — the difference between a hop and a crossing.

Every flight number above is for quality 1 wings. A fully upgraded pair adds +24% ceiling, +15% glide speed, +15% flap lift and −18% stamina per flap on top — noticeable, and deliberately nowhere near the jump to the next tier.


🛡️ Armour, Resistances & Upgrades

The wings are the mod's own items now, not capes wearing new art, and they carry their own stats. Each tier upgrades to quality 4 at its crafting station like any piece of armour — and the upgrades are meant to hurt.

Tier Armour (q1 → q4) Resistances Worn perks
🟢 Crude 2 → 5 — Jump stamina −10%
🔵 Troll 4 → 10 Blunt: slightly resistant Jump −15%, Run −5%, Sneak −15%
⚪ Lox 7 → 16 Frost: resistant Jump −20%, Run −10%
🟣 Dragon 10 → 22 Fire: very resistant, Frost: resistant Jump −25%, Run −15%, Sneak −10%, Eitr regen +10%

The dragon does not burn. Every tier was cloned from a vanilla cape, and the Dragon wings came from the Feather Cape — which ships a Fire: very weak modifier. So up to 2.0.4, the wings of a dragon made you burn faster. They are very resistant to fire now, as they always should have been.

Upgrade costs. Valheim charges (quality − 1) × the per-level amount, so each step up costs more than the last. The right-hand column is the total for taking a fresh pair all the way to quality 4 — on top of the craft.

Tier Per quality level Total to reach quality 4 Station needed at q4
🟢 Crude 25× Feathers, 15× Leather Scraps, 8× Bronze Nails, 6× Troll Hide 150 / 90 / 48 / 36 Workbench 5
🔵 Troll 35× Feathers, 12× Troll Hide, 10× Iron Nails, 5× Silver 210 / 72 / 60 / 30 Workbench 5
⚪ Lox 40× Feathers, 8× Lox Pelt, 25× Silver, 12× Linen Thread 240 / 48 / 150 / 72 Forge 6
🟣 Dragon 50× Feathers, 25× Eitr, 12× Scale Hide, 1× Dragon Tear 300 / 150 / 72 / 6 Dragon Tears Galdr Table 4

Upgrading demands a higher station than crafting — one level per quality step. That is why Crude and Troll wings ask for a level 2 workbench rather than level 3: a workbench tops out at level 5, and a floor of 3 would have put quality 4 permanently out of reach. Every one of these numbers is config.


🎒 Where the Wings Go — Back or Trinket

Valheim 1.0 added a trinket slot beside the cape slot. The wings can occupy either — and which one is a rule the server sets, because a pair worn as a trinket leaves the back free for a real cape, and whether a Feather Cape's slow fall or a Lox Cape's frost resistance may stack with wings is a balance decision, not a preference.

WingsSlot What happens when you equip wings
Auto (default) They go on your back — unless a cape is already there and the trinket slot is free, in which case they take the trinket slot and the cape stays. A trinket you are wearing is never displaced.
Either You choose. Set PreferredWingsSlot in your own config, or type wov slot back / wov slot trinket in the console (that also moves the pair you are wearing), or hold Left Shift (AlternateSlotKey) while equipping to send that one pair the other way.
TrinketOnly Always the trinket slot.
BackOnly Always your back — exactly how every version before 2.2.0 behaved.

Whatever the slot, the wings are the same wings: same armour, same resistances, same worn perks, same flight. The game itself does not count armour or resistances from the trinket slot, nor wear it down in combat, so the mod adds all of that back there — Dragon wings resist fire as a trinket exactly as they do on your back, and take their share of the hits. A pair remembers the slot it was last worn in, so logging in puts them back where you had them; and you only ever wear one pair — wings going into one slot take any wings out of the other.

If an admin changes the rule while you are playing, wings sitting in a slot the new rule forbids are moved the next moment you are on the ground — never in mid-air. With AzuExtendedPlayerInventory the wings show up in whichever of its slots they occupy, and dragging them onto its trinket cell or its back cell chooses that slot, exactly as a click would — the mod teaches it that the wings belong in either, wherever the server's rule allows.

🦅 Tier Breakdown & Flight Stats

🟢 Tier 1: Crude Wings Hides of the lowlands stretched over a bronze-nailed frame. Your first honest step into the sky.

  • Crafting Station: Workbench (Level 2)
  • Recipe:
    • 10× Bronze Nails
    • 10× Deer Hide
    • 20× Leather Scraps
    • 5× Troll Hide
    • 20× Feathers
  • Flight Stats (novice → master): Glide Speed: 8 → 10.8 | Flap Lift: 11 → 16.5 | Flight Ceiling: 46m → 130m | Stamina: 16 → 7.2 per flap
  • Armour: 2 → 5 at quality 4 | Worn: jump stamina −10%
  • Upgrade (per level): 25× Feathers, 15× Leather Scraps, 8× Bronze Nails, 6× Troll Hide
  • Flapping requires: nothing. These are the wings that teach you.

🔵 Tier 2: Troll Hide Wings Woven from the thick blue hide of trolls and riveted with iron, granting keener aerodynamics and a lighter burden.

  • Crafting Station: Workbench (Level 2)
  • Recipe:
    • 15× Troll Hide
    • 10× Iron Nails
    • 30× Feathers
  • Flight Stats (novice → master): Glide Speed: 12 → 16.2 | Flap Lift: 13 → 19.5 | Flight Ceiling: 53m → 150m | Stamina: 13 → 5.9 per flap
  • Armour: 4 → 10 at quality 4 | Resists: blunt (slight) | Worn: jump −15%, run −5%, sneak −15%
  • Upgrade (per level): 35× Feathers, 12× Troll Hide, 10× Iron Nails, 5× Silver
  • Flapping requires: Valkyrie Flight 15

⚪ Tier 3: Lox Feathered Cloak Heavy, powerful wings of lox pelt bound in silver and linen — massive lift fit for a fully armored warrior.

  • Crafting Station: Forge (Level 3)
  • Recipe:
    • 10× Lox Pelt
    • 20× Silver
    • 10× Linen Thread
    • 30× Feathers
  • Flight Stats (novice → master): Glide Speed: 16 → 21.6 | Flap Lift: 16 → 24 | Flight Ceiling: 67m → 190m | Stamina: 10 → 4.5 per flap
  • Armour: 7 → 16 at quality 4 | Resists: frost | Worn: jump −20%, run −10%
  • Upgrade (per level): 40× Feathers, 8× Lox Pelt, 25× Silver, 12× Linen Thread
  • Flapping requires: Valkyrie Flight 30

🟣 Tier 4: Dragon Valkyrie Wings Scale, Eitr, and the tears of a dragon, woven into dominion over the Tenth World.

  • Crafting Station: Galdr Table (Level 1)
  • Recipe:
    • 40× Feathers
    • 20× Eitr
    • 10× Scale Hide
    • 2× Dragon Tears
  • Flight Stats (novice → master): Glide Speed: 24 → 32.4 | Flap Lift: 20 → 30 | Flight Ceiling: 455m → 1300m (Reach the World Tree — once you have earned it!) | Stamina: 7 → 3.2 per flap
  • Armour: 10 → 22 at quality 4 | Resists: fire (very), frost | Worn: jump −25%, run −15%, sneak −10%, eitr regen +10%
  • Upgrade (per level): 50× Feathers, 25× Eitr, 12× Scale Hide, 1× Dragon Tear
  • Flapping requires: Valkyrie Flight 50

⚔️ The Skill: Valkyrie Flight

The sky is a harsh tutor, but a fair one. Valkyrie Flight grows from doing — 0.4 XP per flap, 0.2 XP per second on the glide — and pays you back at every level:

At skill 100 (scales linearly on the way up) Default
Flap stamina cost −55%
Flap lift +50%
Glide sink rate (longer flights) −60%
Horizontal glide speed +35%
Flight ceiling ×1.00 — from ×0.35 at level 0

That last line is the heart of 2.0.1. Skill is no longer a bonus sprinkled on top of flight you already had; it is the thing that gives you the flight in the first place. The tier you wear sets your ceiling at mastery, and your level decides how much of that ceiling is actually yours today.

Two honest promises: gliding always works, at every tier and every level — so the skill can always be earned. And diving is untouched by skill, because pointing yourself at the ground is intent, and the mountain does not care how practiced you are.

Death docks the skill like any other; the Valkyries respect only the living. Every XP rate, gate and bonus curve lives in the config under "6. Valkyrie Flight Skill" and in each tier's own section.

The skill answers to Valheim's own cheats as ValkyrieFlight — raiseskill ValkyrieFlight 40, resetskill ValkyrieFlight — and both commands offer it in tab completion. One word, no space: the console splits what you type on spaces and cannot be given a quoted name. raiseskill adds to your current level rather than setting it, so to land on an exact number, reset first and then raise. These are vanilla cheats and need what vanilla cheats need — cheats enabled, and admin on a server.

If a level ever goes missing, the server hands it back on your next login — once per character, upward only. Your level is also mirrored onto your character alongside the flight logbook, where Valheim's skill loader cannot reach it, and the mod checks at startup that the patch keeping the skill is really attached. Neither is how the skill normally persists — they are there so that a future game update or a mod conflict cannot delete anyone's progress without saying so.

📖 The Flight Logbook

Your character keeps a saga of its own time in the air. Open the console and type:

Command What it tells you
wov log Time flown, distance, flights, wingbeats, and your records — highest altitude, longest flight, top speed, steepest stoop
wov oddities The stranger corners: hours flown by night, times you ran dry of stamina mid-air, times the wings refused you, where you tend to land, which biomes you have crossed, and how long you have spent in each tier of wings
wov export Writes the server's flight statistics file out now (on a server or a solo world)
wov where Tells you where that file lives
wov slot Reports the server's wing-slot rule, your own preference, and where your wings are right now; wov slot back or wov slot trinket sets the preference and, where the rule allows, moves the pair you are wearing

The logbook rides along in your character save, so it survives worlds, servers and reinstalls, and every player keeps their own. It is a record of what you did, nothing more — no cheat, no advantage. Switch it off with EnableFlightLog if you would rather not be counted at all.

🐦 Server Statistics (and BarrkBOT)

Everything the logbook measures is client-side physics — only your own game knows how long you glided or how high you got. So a server that wants to know its fliers has to be told: each client sends its running totals up to the server about once a minute, and the server writes them all into one file at

BepInEx/config/WingsOfTheValkyrie/barrkbot_flight.json

That file is what lets BarrkBOT answer "how long have I flown?" on Discord. It carries every player's time flown, distance, records and oddities, keyed by character with the display name inside, plus notes telling any reader what must not be done with the numbers (flight time is not playtime; flight distance shares no base with a sailing counter; the event counters must never be summed).

  • Don't want to be in it? Set PublishFlightStats to false on your own machine. You keep your logbook; the server just never hears about it.
  • Running the server? The same setting turns the whole export off, and FlightStatsExportFolder moves it — though moving it out of that folder is how you make the reader stop finding it, so leave it alone unless you know what is reading it.
  • The numbers are whatever each client reports. That is fine for a logbook among people who know each other; it is not evidence, and nothing should be built on it that needs to be.
  • Everyone needs 2.0.1 for this. A 2.0.0 client on a 2.0.1 server simply never reports and never appears in the file, quietly and with no error anywhere.

📜 Config & Server Sync

Everything binds to BepInEx/config/wubarrk.wingsofthevalkyrie.cfg — per-tier ceilings, glide speeds, flap forces, stamina costs, flap skill requirements, crafting stations, full recipes, upgrade recipes, armour, resistances, weight, durability and worn stat modifiers, the base sink and dive rates, the shared [8. Wing Upgrades] curve, and the entire skill section. All gameplay entries are admin-only and server-enforced: the server pushes its values to every client live, and non-admins cannot override them. Changes land on the wings immediately — an admin retuning armour or a server pushing its copy down does not need anyone to restart. If a CraftingStation is set to a prefab the game does not have — a typo, or a bench from a mod you no longer run — that tier simply cannot be crafted and the log names it; it never quietly becomes craftable with no bench at all. The [0. Meta] ConfigVersion line is the migration stamp — leave it be.

Two entries are worth knowing by name. DamageModifiers takes Type:Modifier pairs — Fire:VeryResistant,Frost:Resistant — over the usual damage types and Valheim's own modifier names. UpgradeRequirements is charged per quality level, so Feathers:25 means 25 feathers for quality 2, 50 for quality 3 and 75 for quality 4. Set [8. Wing Upgrades] MaxQuality to 1 to switch upgrading off entirely.

Want the old 2.0.0 feel back? Set CeilingAtNovice to 1 and every tier's MinSkillToFlap to 0, and altitude and flapping stop being gated entirely.

[9. Wing Slot] WingsSlot is the server's rule for which slot the wings occupy (Auto, Either, TrinketOnly, BackOnly) and is synced like every other gameplay entry; the two beside it, PreferredWingsSlot and AlternateSlotKey, are each player's own and are not.

The logbook section (7. Flight Logbook) is deliberately not server-synced. Whether your own flights are recorded and whether they are shared with the server are yours to decide, and where a server keeps its statistics file is a property of that machine rather than a rule of the game.

📥 Installation

With Gale (recommended): just install Wings of the Valkyrie — dependencies come with it.

Manual install:

  1. Install BepInExPack Valheim. That is the whole dependency list — Jotunn is no longer required as of 2.1.0, and can be removed if nothing else on your list wants it.
  2. Drop WingsoftheValkyrie.dll into BepInEx/plugins.
  3. Take to the skies!

Every player and the server must run the same version, and this is enforced at the door rather than discovered later: a client carrying the mod is refused by a server without it, and a client without it is refused by a server that has it. If wings did somehow reach the ground on a server that lacked the mod, that server would delete them permanently — but the connect check means it never gets that far.

Created with ❤️ by Wubarrk


License: MIT — use, modify, and redistribute freely, including commercially; just keep the copyright notice. See LICENSE.md for the full text.

CHANGELOG

Changelog

2.2.1

Rebuilt for Valheim 1.0.16. Nothing about the wings, the skill or the logbook changes; the number moves so a build made against 1.0.16 says so in the log. Update the server and the clients together as usual - the minimum version a server accepts (SyncFloor) stays 2.1.4, because nothing on the wire changed.

  • Compiled against the 1.0.16 client and dedicated-server assemblies and BepInEx 5.4.2350, unchanged. Every game reference resolves by exact signature against BOTH the 1.0.16 client and the 1.0.16 dedicated server (3,827 references, 45 Harmony targets, all resolved), and the mod loaded on the real 1.0.16 Linux dedicated server with no error: Valkyrie Flight registered as a skill, and all four wings forged and bound to their stations.
  • 1.0.16 removes only ObjectDB.GetAllFoodItems() and ButtonSfx.Start() from the assembly this mod compiles against; the mod calls neither, so there is no source change and no behaviour change.

2.2.0

The wings can be worn as a trinket now, and the server decides whether they may. Valheim 1.0 added a trinket slot beside the cape slot, and 2.1.6 recorded a decision to leave it alone. That decision is reversed: a new [9. Wing Slot] WingsSlot rule picks the slot, and a pair worn as a trinket leaves the back free for a real cape. Update the server and the clients together as usual; the minimum version a server accepts (SyncFloor) stays 2.1.4, because nothing on the wire changed - an older client keeps its wings on its back and logs one line about a config entry it does not know.

  • WingsSlot (server rule, admin-only, pushed live): Auto (the default) puts the wings on your back unless a cape is already there and the trinket slot is free; Either leaves the choice to each player; TrinketOnly and BackOnly allow one slot and no choice. BackOnly is 2.1.6 behaviour, unchanged. Changing the rule while people are online moves wings out of a slot it now forbids, the next moment the wearer is on the ground - never in mid-air, because an unequip in the air is a fall.
  • Choosing, under Either. PreferredWingsSlot in each player's own config (deliberately not synced), wov slot back or wov slot trinket in the console (sets it and moves worn wings on the spot), or hold AlternateSlotKey - Left Shift by default - while equipping to send that one pair the other way. wov slot on its own reports the rule, your preference and where your wings are.
  • Same wings, same stats, either slot. Vanilla sums body armour, damage resistances and eitr regeneration from the cape slot but not from the trinket slot, and its combat wear draws from the four armour pieces only (the stamina modifiers it does count). Four patches put each back: Dragon wings resist fire from the trinket slot exactly as from the back, they take their share of the hits and wear out the same, and the "+N armour" hint on the tooltip compares against the right slot. What the trinket slot changes is that a real cape - a Lox cape's frost resistance, a Feather cape's slow fall - can be worn alongside; whether that stacking is allowed on a server is exactly what the rule is for.
  • The wings remember their slot. Which slot a pair was last worn in is written onto the item itself (Valheim's per-item custom data, saved with the inventory and kept through a drop, a chest, a tombstone and an upgrade at the bench), so a login puts them back where you had them. Without it the restore on login equips items in inventory order, and a pair worn as a trinket would land on the back and be thrown off by the cape that came after.
  • One pair at a time. Equipping wings into one slot takes any wings out of the other, in every mode.
  • How. The wings are, and stay, a shoulder item: that is what the tooltip's armour line, every hash lookup and the save format key on. Vanilla routes an item to a slot by its type alone, so to reach the trinket slot the type reads Trinket for the duration of that one EquipItem call and is put back in a finalizer - the same trick AzuExtendedPlayerInventory plays for the items it manages. Everything vanilla reads afterwards goes by the slot the item sits in. AzuExtendedPlayerInventory shows the wings in whichever of its slots they occupy.
  • AzuExtendedPlayerInventory (2.5.0 and 2.5.1 checked). It draws an item in the slot whose field holds it, but judges what a cell may hold by the item's type - so by its own reckoning wings worn as a trinket sit in a cell they are not valid for, its layout repair would move them out (onto the ground with a full bag), and its drop router would refuse a drag onto its trinket cell. When it is installed, the mod binds to its slot API at runtime: the wings validate for its trinket cell exactly when WingsSlot allows it, and dragging the wings onto its trinket cell or its back cell chooses that slot, like a click would. Its vanity slots stay costumes - a trinket vanity set to the wings shows nothing and flies nothing, as a cape vanity has since 2.0.3.
  • New Game+. Vanilla refuses to equip a trinket made on a lower world level. Wings it would refuse go on the back instead, whatever the rule says - unwearable wings would be the worse outcome.
  • Built against Valheim 1.0.15 (client build 25390630, server 25390671), BepInEx 5.4.2350 and ServerSync 1.20, and loaded on the 1.0.15 Linux dedicated server with the four wings forged and bound. The trinket-slot fields are read through the same guarded reflection as the cape-slot ones, so a game build without them leaves the wings on the back and says so once in the log.

2.1.6

Rebuilt for Valheim 1.0.7. Nothing about the wings, the skill or the logbook changes; the number moves so a build made against 1.0.7 says so in the log. Update the server and the clients together as usual - the minimum version a server accepts (SyncFloor) stays 2.1.4, because nothing on the wire changed.

  • Compiled against the 1.0.7 client assemblies (Steam build 25185596) and BepInEx 5.4.2350. Every game reference resolves by exact signature against BOTH the 1.0.7 client and the 1.0.7 dedicated server (31 Harmony targets, all unambiguous), and the mod loaded on the real 1.0.7 Linux dedicated server with no error: the skill registered, the four wings forged and bound to their stations.
  • 1.0 gave VisEquipment.AttachArmor and SetShoulderEquipped a trailing quality parameter. The two patches bind by name and ask only for itemHash / hash, which still exist under those names, so they attach unchanged - and they are deliberately NOT pinned to argument types, which is what would have broken them.
  • 1.0's new trinket slot (Humanoid.m_trinketItem, string-keyed): wings are not trinket-compatible. They are shoulder items - the cape slot is what carries the armour, the resistances and the hash every remote lookup keys on - and stay that way; recorded in WingsItem.cs.

2.1.5

The automatic restore in 2.1.4 gave everyone nothing, and then marked the job done. Every pilot who logged in on it had their one repair spent on an empty answer. This release fixes the cause, and treats every mark 2.1.4 left as though it never happened, so those repairs are owed again and will be paid on the next login. Nothing else changes; updating your own game is enough and no one is turned away who was not already.

  • The server was answering "nothing on record" for everyone. The snapshot was read off disk correctly -- the log even said so -- and was then wiped a fraction of a second later by the routine that registers the network handler, which had no business touching it. Because the registry read is latched to happen once per session, it could never be rebuilt, so the server spent the whole session with an empty table and told every pilot it had never heard of them. The snapshot is built from a file, not from the network session, and registering a handler no longer touches it.
  • An empty answer no longer spends the repair. "The server has nothing for you" and "the server is broken" look identical from a pilot's machine, and 2.1.4 treated both as a job well done. A character is now only marked repaired when a real level came back; anything else leaves the repair owed and simply asks again next time, which costs one small message.
  • The request is made when the character loads, not when it spawns. The old hook asked whether it was looking at the local player, and that is not reliably known when a character spawns. It was not the cause of this failure, but it was a second way for the same repair to be lost silently. It now rides on the character's own load, which the game only ever runs for the profile being read.
  • It retries until the connection can carry it, every two seconds for twenty, and says in your log what an admin can run by hand if the server never answers.
  • The server now records who asked and what it answered. The restore happens on the pilot's machine and was only ever logged there, so an admin watching the server console could not tell a working repair from a broken one -- which is exactly how 2.1.4 shipped looking healthy. Each request and the level returned is now a line in the server log.

2.1.4

(2.1.3 was built but never released; it is folded into this one, so 2.1.2 goes straight to 2.1.4.)

Your Valkyrie Flight levels stopped surviving the load. From 2.1.0 onward every level you had earned was read off your character and thrown away again on each login, then written back at zero the next time the game saved. This is the fix -- and because a 2.1.0, 2.1.1 or 2.1.2 client deletes its own player's levels no matter what the server does, a 2.1.4 server now turns those clients away at the door. Update the server and every client together.

  • Valkyrie Flight is kept again. Vanilla's Skills.Load runs every stored skill past IsSkillValid, and that check is nothing more than Enum.IsDefined against Valheim's own list of skills -- which a modded skill is not in, by definition. So the level and the progress toward the next one were loaded out of the save and dropped on the floor. Jotunn carried the patch that lets a custom skill pass that check; 2.1.0 dropped Jotunn and did not carry it across. The skill's identity was never the problem -- it is the same number it has been since 1.9.0 -- and nothing else on your character was ever touched. Only this one skill, and only its level.
  • A 2.1.4 server will not accept a 2.1.0, 2.1.1 or 2.1.2 client. Your character file lives on your own machine, so a server cannot repair or protect a client that is still discarding levels; the only thing it can do is refuse the connection until that player has updated. Being turned away with a version mismatch is the smaller harm, and another evening's flying quietly deleted is the larger one. This is the first time since 2.1.0 that the minimum version has moved, and it is exactly the kind of release that should move it.
  • The level is now mirrored somewhere Valheim cannot discard it, and the patch checks its own work. A copy of your level rides along in the character's custom data -- the same place the flight logbook lives, which is why the logbook came through this bug untouched while the skill did not -- and if the skill ever comes back from a load missing entirely while that copy remembers it, it is put straight back. On top of that the mod now asks Harmony, at startup, whether the patch that keeps the skill actually attached, and says so loudly in the log if it did not. Neither is the mechanism; both exist so that a future Valheim update, a Harmony conflict or another mod touching the same method cannot delete anyone's progress in silence again. The restore is deliberately narrow: it fires only when the skill is missing outright, never merely when it is lower than the copy, because dying lowers the skill by a quarter and cancelling the death penalty is not a bug fix.
  • raiseskill and resetskill know the skill again, which is how a level gets handed back: raiseskill ValkyrieFlight 40. Both offer it in tab completion now. Note that raiseskill adds to the current level rather than setting it, exactly as it does for vanilla skills -- to put someone back at precisely 86, run resetskill ValkyrieFlight first, then raiseskill ValkyrieFlight 86. The name is deliberately one word: the console splits what you type on spaces and has no quoting, so a skill called "Valkyrie Flight" can never be typed at it. (That is why this did not work under Jotunn either, which matched on the display name.) The full identifier wubarrk.wingsofthevalkyrie.flying is accepted too, for scripts. These are vanilla's own cheats and still need what they always needed: cheats enabled, and admin on a server.
  • Lost levels are handed back automatically, once, the first time each pilot loads in. Nothing survives on the character itself -- the first save after each login overwrote the level, and the logbook's copy is refreshed on that same save. The server, though, still holds a row per pilot in flight_registry.dat carrying their level as of their last flight, and that row is only rewritten when they fly again. So on its first run a 2.1.4 server freezes those numbers into flight_skill_restore.dat and gives each pilot their own back the next time they load in, with a message on screen. No commands, no admin, nothing for players to do but log in. It is deliberately cautious: it only ever raises a level, never lowers one, so it cannot undo a death penalty or an admin's deliberate reset; the server answers only with the number recorded against the asking character's own id; and each character is marked once the exchange is done, so the repair cannot be taken twice. The snapshot is written once and never rewritten -- keep a copy of it. If you would rather hand levels back yourself, set RestoreLostSkillLevels to false in the config. This cannot save a pilot who has already flown on a 2.1.x client, because their registry row was overwritten with the reset value at that point. Whoever has not taken off since you updated is whole; the rest need raiseskill, and you can see which is which from the last= timestamp on each row.

2.1.2

The wings opened while you were steering. A patch release; nothing about the wings themselves changes, and the whole decision is made on your own machine, so updating your game is enough. (2.1.2 shipped without a changelog entry of its own. It is recorded here.)

  • Taking the rudder no longer unfurls your wings. Every guard the mod had for "you are not really airborne" missed the one case that matters at a helm. An attached helmsman is not on the ground -- the attach lifts them off it -- not swimming, not in water, and not standing on the ship either, so every test passed and a jump at the tiller read as a jump in mid-air. The mod now asks whether you are attached to the ship, which is exactly what ShipControlls sets when you take the helm; the same flag covers a ship's chairs. The fallback guess made for clients too old to report their own state got the same correction.

2.1.1

The bench requirement could go missing for a moment on startup. A patch release; nothing about the wings themselves changes.

  • Recipes are no longer published before their crafting station is found. On a dedicated server ObjectDB wakes before ZNetScene, and the workbench, forge and Galdr table live in the scene -- so on that first pass there was nothing to look them up in. The recipes went in with no station attached, which in Valheim does not mean "no bench nearby will do", it means craftable from the inventory screen with no bench at all. A second pass a fraction of a second later put the station back, so the window was small and probably never open long enough for anyone to reach it, but nothing in the log said so either way and nothing in the code guaranteed it. Each tier now waits for the scene and is published once, correctly, the first time.
  • A crafting station that does not exist now disables that tier instead of making it free. If CraftingStation is set to a prefab the game does not have -- a typo, or a bench belonging to a mod that is no longer installed -- those wings simply cannot be crafted, and the log says which name failed. Handing out station-free Dragon wings was the wrong way to fail. Fixing the name in the config brings the recipe straight back, with no restart.
  • The log now says where each tier landed. Four lines at startup -- WingsOf_Dragon bound to station 'piece_magetable' at level 1. -- reported once, and again only if a config change actually moves one. The four warnings this replaces were alarming and told you nothing about the outcome.

2.1.0

Our own wings. Every tier was a vanilla cape underneath, wearing the mod's icon and quietly carrying the cape's stats along with it. They are the mod's own items now -- with their own armour, their own resistances, and an upgrade path -- and the mod no longer needs Jotunn to make them. Update the server and every client together; a 2.1.0 build will not talk to a 2.0.x one. Your wings, your Valkyrie Flight levels and your logbook all survive the move: the item names and the skill's identity are unchanged, so nothing in your inventory or your save is touched.

  • Jotunn is gone from the dependency list. The items, the recipes, the Valkyrie Flight skill and the wov command are registered against the game directly, and config sync and the client/server version check moved to ServerSync. One DLL, one dependency: BepInEx. If nothing else on your list wants Jotunn, you can remove it.
  • The wings upgrade, like the armour they represent. Every tier now goes to quality 4 at its own crafting station. Upgrades are deliberately expensive -- taking Dragon wings to quality 4 costs 300 Feathers, 150 Eitr, 72 Scale Hide and 6 Dragon Tears on top of the craft -- and they buy armour first and flight second: a fully upgraded pair adds +24% ceiling, +15% glide speed, +15% flap lift and -18% flap stamina, which is worth having and nowhere near the jump to the tier above.
  • Real armour, at last. Crude 2 -> 5, Troll 4 -> 10, Lox 7 -> 16, Dragon 10 -> 22 across the four quality levels. Every pair of wings used to give 1 armour, because that is what a cape gives.
  • The dragon no longer burns. The Dragon wings were cloned from the Feather Cape, which ships a Fire: very weak modifier -- so the wings of a dragon made you burn faster than bare skin. They are very resistant to fire now, and resistant to frost. Lox wings resist frost, Troll wings blunt a club.
  • Every tier carries its own worn stats. Wings make leaving the ground cheaper: jump stamina is down 10% on Crude through 25% on Dragon, with running, sneaking and eitr regeneration tuned per tier. All of it is config, all of it server-enforced.
  • The troll set bonus is no longer handed out by accident. Troll wings were a clone of the Troll Hide Cape and inherited its set membership, so wearing them counted towards the vanilla troll armour set. They are their own item now, and no longer do. The tier's sneak stamina discount is there in its place.
  • Crude and Troll wings now ask for a level 2 workbench, not level 3. Upgrading demands one station level per quality step and a workbench stops at level 5, so a floor of 3 would have made quality 4 permanently uncraftable. The migration moves the default on its own; a value an admin set by hand is kept, as always.
  • Wings you already upgraded keep their level. 2.0.4 let a pair reach quality 2 or 3 by accident -- the cape clone carried the cape's four quality levels, and the upgrade cost was one of each ingredient per level. Those wings load at the quality they are and pick up the proper armour scaling; quality 4 is now reachable, and now costs what it should.
  • Config changes apply on the spot. An admin retuning armour, or a server pushing its own copy down on connect, reaches wings that were forged minutes earlier -- no restart.

2.0.4

The boat fix that never was. 1.1.4 announced that the wings had stopped snapping open on a ship's deck. They had not, and this is the release where they actually do. Nothing else changes -- no balance, recipe or config value is touched -- and because the whole decision is made on your own machine, updating your own game is enough: a 2.0.4 client behaves itself on a 2.0.2 or 2.0.3 server with nothing to change at the server end.

  • The wings no longer open when a swell drops the deck out from under you. The check 1.1.4 added could never fire. Valheim's own GetStandingOnShip() gives up the instant your feet leave the planks -- which is precisely the instant a wave throws you -- so the guard went blank exactly when it was needed, and the deck falling away read as a fall. The mod now asks whether you are aboard rather than whether you are standing, and that stays true right through the bob. Flapping from a deck still works: taking off from your own longship is intent, not an accident.
  • Your shipmates will keep flaring until they update. Whether someone's wings are open is decided on their machine and reported to yours, so a sailor still on 2.0.3 or older opens theirs on every swell no matter which build you are on. (The guess the mod falls back to for clients too old to report at all got the same correction.)

2.0.3

A costume is not a pair of wings. A player reported that transforming any back item into the Wings of the Valkyrie through AzuExtendedPlayerInventory's vanity system handed over real flight -- gliding, flapping, wingbeats, the lot -- while an ordinary Deer Cape stayed on their shoulders and the wings themselves went uncrafted. It does not any more. Nothing about flying itself changes, no balance, recipe or config value is touched, and a 2.0.3 client still connects to a 2.0.2 server.

  • Flight is granted by what you have equipped, never by what you look like. The mod was asking the player model what was on its back, and telling the model to lie is exactly what a vanity slot is for. It now asks the shoulder slot itself. That closes the loophole from both ends at once: a costume of the wings grants nothing, and real wings worn underneath somebody else's costume fly exactly as they always did.
  • Other fliers are drawn from what their own game reports, rather than from what their character appears to be wearing, so a costume across the server no longer sprouts rune wings on your screen -- and a pilot hiding real wings under a cape keeps their trails. Anyone still on 2.0.2 or older does not report it, and is drawn the old way.
  • Choosing the wings as a costume now shows nothing on your back, which is what the wings look like whenever you are not flying: they are woven out of runes in the air, not cloth on your shoulders.

2.0.2

Nothing changes in the air. This release is entirely about the flight statistics file the server publishes for BarrkBOT — the numbers were being written correctly all along, and almost none of them were reaching the bot. No flight behaviour, balance, recipe or config value is touched, and because version enforcement is per minor version, a 2.0.2 client and a 2.0.1 server still connect happily. Update the server to get the benefit.

  • The export is now four files instead of one. BarrkBOT budgets each file by how wide its rows are, and one file carrying twenty-one fields per pilot spent that budget on three pilots' worth of columns — so only two of five fliers were ever listed, and the bot could not name who had flown furthest. The same data is now split by subject: barrkbot_flight.json (career totals), _records (personal bests), _counters (event tallies) and _tiers (wing grades and biomes). Every file holds every pilot, so any question answered from any one of them is answered over the whole server.
  • Five new things the bot can rank. Time on each grade of wings used to be one nested block that BarrkBOT dropped from every listing it appeared in, so nobody could ask about it. It is now four plain numbers — tier_time_crude_seconds, _troll_, _lox_, _dragon_ — and "who has the most time on dragon wings" is a question with an answer for the first time. distinct_biomes_flown joins the biome list for the same reason: a list cannot be ranked, a count can.
  • The export grows on its own now. Past a certain roster the files continue into _2, _3 and so on without anyone releasing a new version of this mod. Each continuation carries a leaderboard computed over every pilot on the server, not just the ones in that file, so a question answered from part two still names the true record holder. Nothing rolls over until it has to — a five-pilot server stays at four files for a long while yet.
  • Old exports are cleaned up rather than left to rot. A statistics file this version no longer writes is deleted, because the bot has no way of knowing a file has been abandoned: it reads it as current data with an old timestamp and ranks it accordingly. Files that are not ours are never touched.
  • Pilots who share a character name are told apart on a leaderboard by character id, instead of appearing as one person with two different records.

2.0.1

Earn the sky. 2.0.0 made flight something you learn; 2.0.1 makes that mean something. The numbers printed on a set of wings are no longer what you get the moment you put them on — they are what mastery buys. A 2.0.1 client will still connect to a 2.0.0 server, but the new balance knobs do not exist there to be synced, so update both ends together.

  • Altitude is now gated by skill. Each tier's FlightCeiling is what a flier at Valkyrie Flight 100 reaches; at level 0 you get 35% of it, rising steadily with every level. Dragon wings carry a master to 1300m and a beginner to about 455m. The new CeilingAtNovice setting controls the floor — set it to 1 to switch the whole idea off.
  • The higher tiers must be earned before they will beat. Troll, Lox and Dragon wings now require Valkyrie Flight 15, 30 and 50 respectively before they will flap. They always unfurl and always glide, at every tier and every level — and glide time is what pays for the skill, so nobody can be stranded by this, only slowed down. Per-tier MinSkillToFlap, 0 to disable.
  • Every tier rebalanced around novice and master. Base flap lift, glide speed and stamina cost came down, and the skill bonus curves went up to meet them: at level 100 a flap now costs 45% of the listed stamina (was 50%), lands 50% more lift (was 30%), sinks 60% slower on a level glide (was 50%) and carries 35% more glide speed (was 15%). A master flies better than they ever did in 2.0.0. A novice does not.
  • Ceilings raised at the top end, since they now have to be climbed to: 120→130m, 135→150m, 160→190m, 1100→1300m.
  • New flight logbook. The mod now keeps a saga of your time in the air — time flown, distance covered, wingbeats, flights, and records for highest altitude, longest flight, top speed and steepest dive. Plus the odd corners: hours flown by night, times you ran out of stamina mid-air, times the wings refused you, whether you land on ground, water or a ship's deck, which biomes you have crossed, and how long you have spent in each tier of wings. Read it in game with the wov console command (wov log, wov oddities, wov export, wov where).
  • The logbook lives on your character in vanilla per-character save data, so it travels with you across worlds, servers and reinstalls, and each player keeps their own.
  • Server flight statistics, and BarrkBOT. Everything the logbook measures is client-side physics — a server never sees your glide time or your altitude, because your own game is the only machine simulating them. So each client now sends its running totals up to the server about once a minute, and the server gathers them into BepInEx/config/WingsOfTheValkyrie/barrkbot_flight.json: every player's time flown, distance, records and oddities, keyed by character with the display name inside. That file is what lets BarrkBOT answer questions about your flying on Discord. Set PublishFlightStats to false on a client to keep your logbook out of it, or on a server to switch the whole export off. Everyone needs 2.0.1 — a 2.0.0 client never reports and never appears, with no error anywhere to tell you so.
  • Two magic numbers became settings. Level glide sink (previously a hardcoded 2 m/s, now BaseGlideSinkRate at 2.5) and full-dive speed (previously a hardcoded 20 m/s, now MaxDiveSpeed, still 20).
  • Config migration handles all of it. Files from 1.1.x, 2.0.0 or anywhere in between are carried forward in one pass: values still at their old defaults move to the new balance, values you changed are kept exactly as they are, and a backup is written first. Existing configs need no attention at all.

2.0.0

The v2 overhaul. Flight is no longer just a thing you craft — it is a thing you learn. Note that 2.0.0 clients and servers must both be on 2.0.0: version enforcement is per minor version, so 1.1.x peers cannot connect (and vice versa).

  • New skill: Valkyrie Flight. Flapping and gliding now level a real Valheim skill, right in the skills panel with its own icon. Higher levels cut the stamina each flap costs (up to half at level 100), put more lift into every wingbeat (up to +30%), flatten your glide so you sink up to half as slowly for far longer flights, and add a touch of horizontal glide speed. Diving is untouched — pointing yourself at the ground is intent, not something practice should soften. Death docks the skill like any other. XP rates (0.4 per flap, 0.2 per glide-second) and every bonus curve are server-configurable in the new "Valkyrie Flight Skill" section.
  • Wings are much harder to earn. Crude Wings are now a Bronze Age project: bronze nails plus a mix of hides from the Meadows and Black Forest (deer hide, leather scraps, troll hide, feathers) at a level 3 workbench. Every later tier also costs significantly more — iron nails on Troll wings, linen thread on Lox wings, dragon tears on Dragon wings.
  • Your config upgrades itself. The mod stamps a layout version on its config file and migrates old files automatically: any setting still sitting at its old default moves to the new 2.0 default, while any value you or your server admin actually changed is preserved untouched. The previous file is backed up beside the config before anything is modified, and the log states exactly what was carried and what was kept. No config deleting required.
  • Custom item icons. Each wing tier and the new skill bears its own hand-forged icon instead of borrowing the vanilla cape art. The art ships embedded inside the mod DLL, so the mod is still a single file.

1.1.5

  • Test implementation: controller support. Valheim keeps keyboard and gamepad on two separate Jump bindings, and the mod only ever read the keyboard one -- so controller players could jump normally but could never unfurl their wings or flap. Both bindings are now read, and any rebinding you have set in the game's own controls menu is respected. Controller feedback is welcome.
  • Jump presses the game itself is ignoring no longer cost you a flap. Typing a space in chat, or pressing the gamepad's confirm button in the inventory, map, store, build menu or radial menu while airborne, used to trigger a flap and burn stamina.

1.1.4

  • Fixed wings wrongly deploying while standing on or steering a moving ship. A player on deck is never IsOnGround() (the deck is a rigidbody, not terrain), so wave pitch and bob could spike vertical velocity past the auto-glide fall-speed threshold. The flight controller now checks whether you're standing on a ship, the same way it already checks for ground, water, and swimming.

1.1.3

  • Fixed the vanilla cape reappearing over the runic wings. The 1.1.2 approach relied on forceRenderingOff, a runtime-only flag that Unity does not copy when the game instantiates the cape onto your skeleton. The cape attachment is now never built in the first place, so no other mod can bring it back and the dropped-item model stays visible.
  • Fixed remote players' wings being completely invisible in multiplayer. Wing tier was being read from a field that Valheim only ever populates on the owning client; it is now read from the networked equipment hash.
  • Glide state and wing flaps are now synchronised over the network, so other players see your wings unfurl and beat exactly when they should instead of being guessed from your fall speed.

1.1.2

  • Improved how wing item prefabs handle visual components. Renderers are now kept active but use Unity's forceRenderingOff to safely guarantee invisibility
  • Fixed a bug where adjusting the wingspan would cause the skeleton lines to blow out to blinding white due to additive shader scaling.
  • Fixed multiplayer synchronization where remote players' wings were invisible or displayed incorrect tier colors.
  • Implemented robust fail-safes in the flight controller to ensure multiplayer network latency or missing data never interrupts the core Valheim game loop.

1.1.1

  • Internal

1.1.0

  • Complete overhaul of wing animation to feature hyper-realistic, dynamic procedural folding and drag mechanics on the downstroke/upstroke
  • Re-engineered the runic particle trail logic with custom distance tracking to guarantee flawless emission, completely bypassing Unity's built-in limitations
  • Fixed a bug causing the glowing rune membrane to vanish due to camera frustum culling
  • Added a new GlobalWingSpan configuration option (defaults to 1.0) allowing players to scale their wings to any size

1.0.1

  • Added compatibility for third-party backpack and equipment/inventory mods (resolved shoulder slot conflict)

1.0.0

  • Initial Release
  • Added 4 craftable tiers of wings (Crude, Troll, Lox, Dragon)
  • Implemented physics-based flight controller and auto-gliding mechanics
  • Implemented configurable stamina costs per tier
  • Added procedural runic dragon wing VFX with dynamic mesh generation
  • Disabled fall damage when actively flying or gliding