CompanionKit
Persistent-creature companion mechanics for Outward mods: clone/brain-strip body factory, navmesh follower, invisible combat anchor, manual combat. Donor-scene harvesting and template caching moved to
模組介紹 作者原文
CompanionKit — persistent-companion mechanics for Outward mods
📖 Full documentation: CompanionKit wiki page
A BepInEx library for modders. It doesn't add anything a player sees on its own — install it
because a mod you're using (a follower, a summon, a spawner) declares it as a dependency.
It exists because Outward has no way to spawn a fresh creature at runtime: every creature is baked
into the scene it lives in. CompanionKit's answer is donor-scene harvesting — any area is an
ordinary scene you can load additively, clone a live creature out of, and unload again in about a
second. DonorHarvest wraps that whole recipe, plus the audio/Photon/save guards that make it safe,
behind one call. On top of that sits everything needed to turn a cloned body into a companion that
follows, fights, and survives zone changes.
Requires: BepInEx 5 (Outward's Mono branch — see Compatibility) plus ForgeKit,
DonorKit, AggroKit and NetKit — all four declared [BepInDependency] hard dependencies.
No SideLoader.
Installing (for players)
Drop the CompanionKit folder into BepInEx/plugins, alongside ForgeKit, DonorKit,
AggroKit/ and NetKit/ — BepInEx refuses to load CompanionKit if any one of them is absent, and
names the missing GUID in the log. A mod manager does this for you. On its own the kit does nothing except expose the expedition command channel and
config described below.
What's in the kit
| Piece | What it gives you |
|---|---|
| BodyFactory | Clone a live creature into a usable body: consume vs no-consume modes, the deep brain-strip that makes a clone inert and safe (its AI, colliders and networking are the things that bite), a ghost stand-in path for humanoid rigs, and visibility diagnostics/repair. |
| CompanionBody | NavMeshAgent-driven follow: distance-banded catch-up speed (the vanilla cosmetic-pet feel), zone re-placement, leash/warp with a run-home grace window and a behind-the-owner landing, root-bone auto-calibration (the fix for creatures that drift and snap as they walk), per-rig yaw offsets, animator driving. Exposes OnAfterMove so subscribers run after the frame's pose is final, and OnWarpedToOwner after every owner-keyed reposition (reason string: Leash / CantReach / Resummon / ZoneReplace / Latched / CoverageGap). StaySpot pins the goal for a Stay order. |
| CompanionAnchor | The invisible vanilla ally that acts as the companion's real combat body — a stripped clone is untargetable, so the anchor absorbs enemy detection, aggro and damage, welded to the body every frame. Owns HP and stat seams. |
| CompanionCombat | Manual combat for a brain-stripped body: target selection (commanded > defend-the-anchor > assist-the-owner), a damage pipeline that shows up in CombatHUD, species-typed damage profiles, engage/disengage. |
| AttributeCapture | Reads a live Character's real stats (resistances, health, natural weapon damage, movement) into a portable Core.CreatureAttributes. |
| DonorHarvest + its guards | "Body anywhere": additively load any donor scene, clone, unload — with the audio-registry, PhotonView-collision and mid-harvest-save guards that make it survivable. The species→scene table ships embedded (DonorScenes.txt) and is overridable from BepInEx/config. |
| Companion / CommandStance | The aggregate whose lifetime is the bond, not the body — bodies get destroyed and rebuilt, standing orders and anchor state must not. CommandStance is an adapter over the pure Core.StanceMachine (Engage / Follow / Stay = Core.CommandMode; orders + WarpedToOwner/NewBody are Core.StanceSignals; ring = Core.CommandCycle), raises Changed on every transition and keeps LastWhy. Extension recipe: docs/wiki/kits/companionkit.md § stance state machine. |
| ExpeditionHarvest / BodyTemplateCache | Creatures from oversized scenes (region terrains, which cannot be loaded additively — it crashes): a real round trip through the vanilla loading screen that batch-caches dormant body templates for the rest of the session. Now DonorKit's (lane 5E-2 — st
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: