Skip to content

Hireling — recruit a townsperson as a follower

Hireling is a mod for Outward that lets you recruit a living NPC — a guard, soldier, quest character, or merchant body — as a human follower who walks with you and fights at your side. It is for players who want a humanoid companion, and it is the human-follower counterpart to Beastwhispering, which tames beasts.

At a glance - Type: gameplay mod - Requires: BepInEx 5 (Mono branch), ForgeKit, CompanionKit (which itself pulls in AggroKit and NetKit) - Config: BepInEx/config/cobalt.hireling.cfg - Commands: BepInEx/config/hl_cmd.txt - Data: an embedded follower-stats table, overridable at BepInEx/config/FolkStats.txt

For players

Walk up to a recruitable NPC and press F4 (or run the recruit command). The mod makes a copy of that NPC as your follower — the original stays where it was. Your follower then trails you across zones and doors, draws its weapon when a fight starts, and helps you kill what you are fighting.

Who you can recruit

  • Real, living humanoid NPCs: town guards, soldiers, quest characters, and merchant bodies all qualify — even ones with no combat AI of their own.
  • Ambient villagers do not qualify. The wandering townsfolk that populate a city are a lightweight kind of character with no body to puppet, so they cannot be recruited. If the nearest thing to you is one of them, the mod says so plainly rather than silently doing nothing.
  • Beasts do not qualify — those belong to Beastwhispering.

An NPC must be within 15 m (configurable) to recruit. You can target a specific one by name with recruit <name>.

Giving orders

  • engage — send the follower onto the enemy you have locked, or, if you have no lock, to help with whatever you are fighting.
  • disengage — stand down: the follower drops the fight and returns to you until you engage again.
  • dismiss — let the follower go. This tears it down completely.

What it can't do yet

  • Followers are recruited during a session; saving and reloading the game does not yet restore them. A recruited follower lives until you dismiss it or the game session ends.
  • One follower at a time. Recruit again after you have dismissed the current one.
  • In co-op, only the host recruits and dismisses. A guest who presses the key is told the host handles followers.

Features / How it works

A follower's combat readiness comes from two sources, blended together:

  • What was captured off the real NPC — a genuine guard keeps its own health, speed, and (if it was armed) its own weapon damage.
  • The FolkStats table — a bandit-like baseline so that even an unarmed townsperson fights like a capable brawler instead of a helpless civilian.

By default the live capture's health and speed win over the table (a real guard stays as tough as it looked), while the table fills in fighting stats an unarmed villager would otherwise lack. You can change that blend in the settings, or turn the table off entirely to use only what was captured.

The follower's body is a clone of the source NPC, so it keeps that character's look, including its gear. The engine spine that makes it follow, hold position relative to you, and take part in combat is provided by CompanionKit; Hireling supplies the recruit rules and the stats layer on top.

Settings

BepInEx/config/cobalt.hireling.cfg:

Section Key Default Effect
Keys RecruitKey F4 Recruit the nearest recruitable NPC.
Recruit RecruitRange 15 How close (m) an NPC must be to recruit it.
Clone EquipmentStrip Components How the clone sheds its equipped items. Components keeps the dressed look; GameObjects is a heavier strip used as a fallback if the lighter one leaves the body broken.
Combat AttackDamage 25 Damage per hit when neither the capture nor the table supplies a value.
Combat AttackInterval 1.4 Seconds between the follower's attacks.
Combat AggroRange 12 How far (m) the follower will engage an enemy you are fighting.
Combat AttackRange 2.6 The follower's melee reach (m).
Stats UseFolkStats true Blend the FolkStats table with the live capture. Off = capture only.
Stats PreferCapturedVitals true When blending, the captured HP/speed win over the table row. Off = the row sets vitals too.

Example configuration

BepInEx/config/cobalt.hireling.cfg — created on first launch. Excerpt:

[Keys]
RecruitKey = F4

[Recruit]
RecruitRange = 15

[Clone]
EquipmentStrip = Components

[Combat]
AttackDamage = 25
AttackInterval = 1.4
AggroRange = 12
AttackRange = 2.6

[Stats]
UseFolkStats = true
PreferCapturedVitals = true

FolkStats table. The follower-stats table ships embedded with a single bandit-like Default row. To customize it, create BepInEx/config/FolkStats.txt in the same format — one row per NPC name, plus a Default. Names are matched exactly first, then by longest partial match, then falling back to Default. Run reloadfolk to re-read your changes without restarting. Each row's payload is a compact stat string (health, speed, impact, resistances, protection, per-type damage); the file's own header comments spell out every field.

Commands

Write a verb into BepInEx/config/hl_cmd.txt and it runs on the next poll (results go to the log). Write help to list them all.

Command What it does
recruit [name] Recruit the nearest recruitable NPC, or the nearest one whose name matches.
dismiss Dismiss the follower — full teardown.
engage Order the follower onto your locked target, or to auto-assist.
disengage Order the follower passive — drop the fight and return to you.
folkstatus One-glance status: identity, body, anchor HP, stance, effective stats.
folkdump Recruit-pipeline dump: nearby candidates with accept/reject reasons, plus a body audit on a live follower.
folkanim Animator dump on the follower body (controller, parameters, playing clips).
folkstats Stats pipeline: captured vs. table row vs. effective, plus the anchor's live readback.
reloadfolk Re-read the FolkStats.txt override and re-apply now.
selftest Run the mod's internal checks and log the results.

For modders

Hireling is CompanionKit consumer #2 — the reference human-follower build, distinct from Beastwhispering's beast pets. The companion spine (the humanoid puppet body, the welded combat anchor, follow, and stance) all come from CompanionKit; this mod owns only the parts that make it Hireling: the recruit policy (which characters qualify and why an ambient villager is rejected) and a human-stats layer (FolkStats) that merges a bandit-like table with the live NPC capture. It builds the follower body through the kit's humanoid puppet factory and drives it through the kit's Companion aggregate. Its command channel and the config-override table loader come from ForgeKit.

See also