SkeletonCrew
Blood Magic summons that take orders, hold a formation, and can be raised as six classes.SkeletonCrew
Your Blood Magic summons stop being disposable. They take orders, hold a formation, come through portals with you, keep out of lava, and can be raised as one of six classes with its own weapon, its own place in the line, and its own way of fighting.
Client-side. Nothing is required of the server or of anyone else in your world.
What it changes
They obey. One key issues the three orders you actually want mid-fight — attack what you are aimed at, come back, hold this spot — and a menu covers the rest. A summon sent somewhere stays there until recalled, fighting what comes to it and returning to its post afterwards.
They are a crew, not a cloud. Pick who the next order applies to, everyone or one at a time, and place them individually before a fight. The HUD names the current order target so a crew that ignores three of its four members is never a mystery.
They come back. Summons follow you through portals instead of being left behind, are rescued when stranded, and regenerate out of combat rather than dying by attrition.
They have classes. Melee, Archer, Defender, Healer, Fire Mage and Ice Mage — each with its own kit, position, statistics and behaviour. Mages and healers hold the back line and are skipped by hostile target selection while a defender is close enough to be found instead; defenders lead, see further, and keep a short leash. The healer is a protection unit: it puts the staff's ward on whoever is taking the damage rather than on itself, and heals by urgency — the ally under attack, not the one with the biggest scratch.
They fight as one. Whatever is hitting a summon or you becomes the whole crew's target, so nobody stands watching a friend being killed. A distant fight is opened by a single summon — the longest reach in the crew — while the rest hold formation and receive the enemy where they stand, and they commit anyway if it will not come. A summon walks to a target it cannot reach and stops the moment it can, rather than holding one twenty-five metres away and never closing.
The crew is as strong as the caster who raised it. Mage armour and staves in your pack give your summons the full skill and progression bonus; leaving the staves at base gives you less of it. The base strength never changes, and it is measured once when a summon is raised — dying or changing gear cannot weaken a crew you already paid for.
They can work. Optional and off by default: send the crew to fell a tree, mine a node or clear an area, with tool tiers respected and your base left alone.
Controls
The fast orders are on one button, by tap count. Harvesting is menu-only on purpose: a tap commits the instant you press it, so a slightly-off aim used to set the crew working on whatever was behind your target. The menu issues the same order but names the target and the radius first.
| Input | Default | Does |
|---|---|---|
| Command, ×1 | ` |
Attack what you are aimed at; otherwise move there. |
| Command, ×2 | ` |
Come back to me. |
| Command, ×3 | ` |
Hold this position and guard it. |
| Menu | F1 |
Everything else, including both harvest orders. |
| Order target | F3 |
Cycles who orders apply to: everyone → each summon → everyone. The HUD always shows the current target. |
| Stance | \ |
Cycles Balanced → Offensive → Defensive. |
| Next raise | F7 |
Cycles what a single cast raises. The menu's Next raise entry offers the same classes and the group presets in one list. |
An order that cannot be carried out is refused on screen rather than accepted and quietly failed — no path to the spot, tool tier too low, destination in lava.
Classes
F7, or the menu, sets what the next summon is raised as. Each class's kit is config, so
a weapon can be swapped without a rebuild.
| Class | Carries | Fights like |
|---|---|---|
| Melee | A sword | The line. Closes and stays closed. |
| Archer | A bow | Behind the line, keeping its distance. |
| Defender | Sword and shield | Ahead of the crew, between you and the threat. Sees further, so it meets things first; keeps half the crew's leash, because a screen that chases is a gap. |
| Healer | Staff of Protection | Back line, and a protection unit first: it wards whoever is taking the damage rather than itself. Heals by urgency — the ally under attack, not the one with the biggest scratch — and drops everything for an ally about to die. Walks to a patient out of reach. |
| Fire Mage | Staff of Embers | Back line. Casts from range and backs off when reached. |
| Ice Mage | Staff of Frost | As above, with frost. |
Groups
A crew is a shape, and assembling one a class at a time means cycling the class key between every cast. A preset names the shape once and raises the whole thing from a single cast — the menu's Summon group entry arms it.
Vanguard = 1d,2a,1r Warband = 1d,1a,1r,1f,1i,1h
Casters = 1d,1h,1f,1i Skirmish = 1d,1a,2r
d defender, a attacker, r ranged, f fire mage, i ice mage, h healer. Write your own
in the Classes.Presets setting.
A preset describes the crew you want, not a list of casts. Each time you cast it, it works out the difference: classes already standing are left alone, only what is missing is raised, and if there is no room it dismisses summons the composition has no place for to make some. Cast it with a full matching crew and it costs nothing and raises nothing.
A group costs more than a single raise but nothing like the sum of its parts — each extra summon adds a fraction of one summon's price, so a six-strong preset costs under twice a single cast rather than six times it. Nobody carries six summons' worth of Eitr, and a preset priced that way is a preset you can never use.
If there is not room under your staff's cap, or not enough Eitr for the whole group, it raises as many as it can and says so — the rest stay queued for your next cast. Picking a single class, by key or menu, turns the group off.
Caps: one Healer, one Fire Mage, one Ice Mage, two Defenders. Melee and Archer are uncapped — they fill whatever the Dead Raiser's own limit allows. At a class cap the raise becomes a warrior with a notice, rather than costing you the Eitr for nothing.
Progression: the specialist classes unlock as you craft the matching staff or shield, and each unlock makes the whole crew a little stronger.
Class statistics ride on top of the Blood Magic scaling rather than replacing it, so investment still decides how strong a crew is and the class only decides its shape — a defender is tougher and hits softer, a mage the reverse. Every number is config.
Stances
Stance governs what the crew does on its own initiative; an explicit order always wins.
| Stance | Behaviour |
|---|---|
| Balanced | Intercepts hostiles near you, whether or not they have noticed you. |
| Offensive | Same, over a sweep twice as wide — they go looking. |
| Defensive | Answers only what is actually hunting you or the crew, watches a tighter radius, and is called off any fight that travels more than DefensiveLeash from you. |
Config
BepInEx/config/com.vash.skeletoncrew.cfg, created on first run. A selection — the file
documents every key.
| Key | Default | Meaning |
|---|---|---|
General.Enabled |
true |
Master switch. |
Combat.SummonCapBonus |
2 |
Extra summons beyond vanilla's cap, which is the staff's upgrade level — so a level 4 Dead Raiser allows six. |
Combat.HealthBloodMagicBonus |
1.0 |
Extra max health at Blood Magic 100, on top of the star level vanilla already grants. |
Combat.SummonHealthCostMultiplier |
0.5 |
Health price of raising a summon — part of it comes from current health, so it bites hardest when replacing losses. 1 disables. |
Combat.SummonEitrCostMultiplier |
0.75 |
Eitr price of raising a summon. Both stack with vanilla's own skill discount. |
Combat.AvoidLava |
true |
The route they will actually walk is checked corner by corner: a way round where one exists, a stop at the last safe spot where none does, and never a formation slot or patrol point on molten ground. They climb out if caught, and are lifted clear if they cannot. Except when you walk in: then they follow. |
Combat.ShieldAbsorbBonusAtMaxSkill |
1.0 |
The protection staff's shield absorbs more as Blood Magic rises — doubled at 100. Vanilla ships the mechanism and feeds it a hardcoded zero, so stock it never scales. |
Classes.RoleFormation |
true |
Position and behaviour by class. Off returns the crew to a single undifferentiated ring. |
Classes.<Class>Items |
varies | What each class is raised carrying. |
Classes.<Class>Limit |
varies | How many of that class may exist at once. 0 is no limit of its own. |
Harvest.Enabled |
false |
Master switch for all harvesting — it destroys world objects, so it is opt-in. |
Harvest.ProtectPlayerBase |
true |
Never harvest inside a player base. Covers grown crops, which carry no piece and so escape the player-built check. Wood is exempt — a tree in a base is a crop, and felling it is the point of a tree farm. |
Hud.ShowSummonGlow |
true |
A light on each of your summons, brighter and differently coloured on the one F3 has selected. Client-side; nobody else sees it. |
Combat.SummonCapBonusAtLevel |
4 |
The raiser level at which the extra crew is earned. Below it, vanilla's cap stands — the staff's own upgrade level. |
Combat.FocusFire |
true |
The crew fights one thing at a time: whatever is hitting a summon or you becomes everyone's target. |
Combat.PullTactics |
true |
One summon — the longest reach — opens a distant fight while the rest hold and receive it. |
Combat.PullReceiveDistance |
15 |
How close the enemy must come before the whole crew engages. |
Combat.PullTimeoutSeconds |
6 |
How long they will hold before committing anyway. Something that has not closed by then is not going to. |
Combat.MarchingOrder |
true |
Hold the formation while you walk, not only when you stop. |
Combat.LavaRescueSeconds |
1.5 |
How long a summon may burn before it is lifted to safe ground. Lava kills faster than a skeleton climbs. |
Classes.DevotionScaling |
true |
The crew is as strong as the caster who raised it — mage armour and staves give the full bonus, iron and an empty pack give less. The base never changes. |
Classes.DevotionFloor |
0.5 |
How much of the bonus a full melee build still gets. |
Classes.DevotionFullGear |
1.3 |
The equipment Eitr-regeneration total counted as a complete caster's outfit. |
Classes.HealerWardSeconds |
120 |
How long the healer's ward lasts. Vanilla derives it from staff level, and a summon's staff is level 1. |
Classes.HealerWardInterval |
30 |
Seconds between wards. Only ever re-cast on someone whose ward has broken. |
Diagnostics.DeepTrace |
true |
One line per summon every few seconds: role, intent, target and range, health, hazards, ward, weapon. What to send if something looks wrong. |
General.VerboseLogging |
false |
Developer logging. On only when diagnosing something. |
Once the file exists, it is the source of truth — changing a default in a new build does not alter a value already written there.
Multiplayer
Everything is client-side and scoped to your summons, identified by the follow record the game already keeps. Another player's crew is never adopted into your formation, your orders or your cap — including when the server hands you ownership of their summons because they walked away, which it does as a matter of routine.
Players without the mod see ordinary summons behaving ordinarily. Nothing this mod does changes their game.
Install
r2modman / Thunderstore Mod Manager: install from the site, or Settings → Import local
mod → pick Vash-SkeletonCrew-<version>.zip.
Manual: drop SkeletonCrew.dll into BepInEx/plugins.
Dedicated server: nothing to install. The mod disables itself on a headless process — there is no local player to own summons — so it ships as a client package only. Play on any server you like; nobody else needs it, and the server does not want it.
Requires BepInEx. Built for Valheim 0.221 and BepInEx 5.4.23.
Known issues
Stated plainly, because a mod page that pretends otherwise wastes your time when you hit them.
Lava is the hard one. Valheim's navmesh has no concept of lava — Pathfinding.AgentSettings
knows about walking, water and swimming and nothing else — so the game will happily hand a
creature a route straight through a channel and report it as a perfectly good path. This mod
therefore checks the route itself, corner by corner, and stops or diverts where it can. It is a
real improvement rather than a complete fix, and there are cases it cannot win:
- The last few metres of a chase are steered by the game, not by the mod, so a summon can clip the edge of a vein closing on something.
- Nothing prevents a summon being knocked or falling in.
- Where there is genuinely no way round, they stop rather than cross — which can look like hesitation at a shoreline, and is the correct answer.
A summon that ends up in lava climbs out, and is lifted to safe ground if it cannot get clear in
time (Combat.LavaRescueSeconds). Expect scorched skeletons in the Ashlands, not a corpse pile.
Flying enemies. A skeleton with a sword cannot hit a Fallen Valkyrie hovering ten metres up, and no amount of AI work changes that. Melee summons will position under it and wait; archers and mages do the work. This is a Valheim reach limitation, not a bug in the crew.
Pathing in tight terrain. Summons use the game's own navmesh, so anywhere vanilla creatures snag — narrow ledges, steep rock, dense ruins — the crew snags too. The stuck detector notices and brings a summon back to you rather than leaving it stranded.
Vanilla still owns the swing. The mod decides what to fight, where to stand and when to close; the actual attack is Valheim's. A creature weapon that vanilla will not use in a given situation is not something this can override.
If something looks wrong, turn on Diagnostics.DeepTrace (on by default) and send a few lines
of the log — each summon reports its role, intent, target and range, health, hazards, ward and
weapon on one line, which is usually enough to name the cause without guessing.
Console commands
Diagnostics, for when something is not behaving and the log needs to say why.
| Command | Does |
|---|---|
skcrew_recon |
Lists every item in this install that summons a creature, and whether the crew would manage it. |
skcrew_weapons <filter> |
Lists matching weapons, and for each whether a creature can use it, afford it, animate it, and draw it. |
skcrew_prefabs <filter> |
Lists prefabs, marking which are safe to attach as a marker effect. |
skcrew_giveweapon <prefab> |
Hands a weapon to the selected summon. |
