Recast - SKSE Runtime Visual NPC Replacement

Thread 11
Recast - SKSE Runtime Visual NPC Replacement
Latest
Jun 5, 2026
Uploaded
May 25, 2026
Version
1.0.0
Total Files Size
799 KB
Unique DLs
607
Total DLs
736
Total Files
1

Recast

799 KB

Download Latest

Runtime NPC Visual Replacer for Skyrim AE, SE, and VR


Recast is an SKSE plugin that lets you replace the face and body of any NPC at runtime by writing a small TOML file. Drop the patch into a folder, launch the game, and the target NPC renders with the new look. No ESP overrides, no save baking, no FaceGen regeneration.


What Recast Does


Recast swaps the visual identity of an NPC. That means:

  1. The face (head shape, eyes, hair, brows, tint layers)
  2. The body model (the WORN armor field in xEdit terms)
  3. Weight and height
  4. Sex flag
  5. Body tint color


The target NPC keeps everything else. Voice stays the same. Dialogue conditions still match. Faction memberships are untouched. Race ability spells from the original race are unchanged. The NPC's mechanical identity stays intact, which means quest dialogue, follower behavior, and stronghold logic all keep working correctly.


Key Features


Runtime only with no save baking. Recast never modifies your save file or the target NPC's record in any ESP. It works entirely in memory. That makes it safe to install, uninstall, or change at any point during a playthrough.


Compatible with everything. Because Recast does not override the target NPC's ESP record, mods like USSEP, AI Overhaul, and follower frameworks that share base NPCs all work alongside Recast cleanly. Recast layers on top of whatever the load order produced.


Body matches face by design. When Recast replaces a face, it also pulls the body from the same source NPC. The face the mod author designed comes with the body it was meant to pair with. No more mismatched looks from mixing a custom face with a vanilla body.


Cross-race friendly. Recast lets you replace any humanoid NPC's face with any other humanoid NPC's face. A Breton can wear a Nord face. A Redguard can wear an Imperial face. Recast logs a friendly note when the races differ so you can confirm the swap was intentional, but the replacement always applies.


Hot iterable. Edit a TOML file, relaunch Skyrim, see the change. No regenerating FaceGen. No rebuilding ESPs. No long MO2 setup. The cycle from "I want to try a different face" to "see the result in game" is one launch.


Steady state zero cost. Recast remembers what was applied last session in a tiny digest file. If nothing changed in your patches between launches, save loads do zero extra work. No flicker on already loaded NPCs, no actor refresh storms, no loading screen slowdown.


Simple file format. The TOML format is human readable and editable in any text editor. Most mod authors can pick it up in five minutes. Smart syntax detection means you can use EditorIDs (readable names) or FormIDs (precise hex codes) interchangeably in the same file.


FOMOD installer ready. Mod authors can ship one TOML per NPC face, so FOMOD installers can include or exclude individual faces at install time. Users get fine grained choice without the mod author having to ship multiple FOMOD options.


Recast and SkyPatcher


SkyPatcher and SPID are fantastic general-purpose patching frameworks that handle outfits, spells, perks, factions, keywords, stats, AI behavior, and much more. For all those tasks, SkyPatcher or SPID remain the right tool, and Recast is designed to coexist with them cleanly.


Recast was built specifically for swapping the face and body of an NPC. Here is what Recast brings to the table for that one focused task:

Fast loading. Recast's apply pipeline is around 250 lines of compact C++. The plugin parses and applies a 100-NPC library in 17 milliseconds on a modern CPU, measured end to end from "start parsing TOMLs" to "ready to render." The work is hidden behind the loading screen, but you do not have to give it any room.


Bug free by design. Recast uses an architecture called the faceNPC pivot. Instead of copying face data field by field, it points the target NPC's face slot at the source NPC and lets Skyrim's own rendering pipeline do the resolution. This is the same mechanism Skyrim itself uses internally for bandit and guard preset faces, so Recast is piggy backing on a path the engine already exercises every frame. The result is a clean, predictable application path with no shared heap state between target and source.


Clear logs. Recast writes one line per stage in a structured format. You can see exactly what got applied, what was skipped, and why. Error messages include the exact file and line number that caused the problem, so fixing a typo in a 100-entry TOML takes seconds.


Body and face stay coherent. When Recast replaces a vanilla NPC's face with a custom face NPC, the body also comes from the same custom NPC. The face the modder designed comes with the body it was meant to pair with. The result looks the way the modder intended without extra patch work.


Atomic per NPC. Every NPC mutation is snapshotted before any field is touched. The snapshot map enables future hot reload and undo features without requiring a game restart.


Steady state efficiency. Recast persists a per NPC digest hash across sessions. The next time you launch, if nothing changed in your patches, Recast does zero extra work. No actor refresh, no flicker, no loading screen impact.


Runs alongside SkyPatcher. or SPID Recast can be installed alongside SkyPatcher or SPID without conflict. Recast handles the face and body. SkyPatcher or SPID continue to handle outfits, spells, perks, factions, and everything else. They are designed to coexist.


Requirements


  1. Skyrim Special Edition, Anniversary Edition, or VR
  2. SKSE matching your runtime version
  3. Address Library
  4. Po3's Tweaks (optional, only needed if your patches use EditorID selectors instead of FormIDs)


Compatibility


  1. Unified Plugin works on AE/SE/VR versions of Skyrim SE.
  2. Compatible with USSEP, AI Overhaul, follower frameworks, and other mods that patch the same vanilla NPCs.
  3. Compatible with SkyPatcher for non face replacement patches.
  4. Compatible with any custom NPC mod (Foundation, Visions, Pantheon, third-party NPC packs).
  5. Save game safe to install, uninstall, or update at any point in your playthrough.


Credits


Recast was developed by ColdSun.


The faceNPC pivot architecture borrows the same mechanism Skyrim itself uses for bandit and guard preset faces. Recast simply makes that mechanism available to mod authors for runtime face replacement.

Comments (11)

Log in to post a comment.

feyii
feyii

Hi, so I tried to use Recast instead of one of my current SkyPatcher replacers. For most NPCs in that replacer it works fine, but for one it doesn't.

The replacer that doesn't work correctly is for Sanguine, who is DremoraRace by default. The replacer NPC 's race is BretonRace and the custom skin it uses (specifically the armor addons) are as well. If I just copy the appearance (visualStyle + skin with SkyPatcher, just the NPC with Recast), the head is applied correctly but the body is invisible in both cases. With SkyPatcher, if I also change Sanguine's race to BretonRace, the body/skin is visible, but currently there is no option to do that or work around it with Recast.

ColdSun
ColdSun

Thanks for this report. Honestly, I wasn't thinking people would replace Dremora NPCs. I'll have to add body support to recast.

Stefan
Stefan

Great mod

ni1by2
ni1by2

This looks great - I was wondering, if I were to use this script here -https://www.nexusmods.com/skyrimspecialedition/mods/141105 - to convert any replacer to new NPC records (and disabling all the skypatcher stuff), and then use those new NPCs as Recast -able faces? Cause that just opens up a world of possibilities if so.

adb1x1
adb1x1

I'm a bit behind catching up on things you've created. You say Recast is compatible with Patcher (but not face replacing). Is this the case for anyone's replacer? I have a few I use from time to time, bur don't want to make a mess if this is the case.


I read over the Recast doc and see it should get along ok, so don't spend any time replying. My mind goes to other worlds at times!


ColdSun
ColdSun

Your SkyPatcher patches will still work just fine with SkyPatcher. My Recast is completely separate and won't interfere unless you make Recast patches.

sincerity2103
sincerity2103

So, as I understand it, on the TOML, it's something like this(?):


[replacements]

TargetEditorID = "ReplacerEditorID"


So that can then be something like:


[replacements]

BrelynaMaryon = "D7_BrelynaMaryon"


And TargetEditorID can also either be TargetFormID:


[replacements]

"0x00000801~SeranaMultiformNG.esp" = "BND_Serana1"


But what about the Replacer being FormID? Is that possible? Something like:


[replacements]

"0x00000801~SeranaMultiformNG.esp" = "0x00000800~BloodNotIncludedSerana.esp"


No such example was given where both uses FormIDs on your instruction page.

ColdSun
ColdSun

Sorry, yes, that does work as well.

sincerity2103
sincerity2103

ColdSun Nice. Another question, if you don't mind.

So, SkyPatcher, it replaces with 'copyVisualStyle' and also 'skin'.


Recast meanwhile just asks for the EditorID / FormID of target / replacer source.


What'll happen in an instance where, say, the replacer NPC does not have WNAM - Worn Armor at all?

Some mods on my end utilize SkyPatcher and the replacer NPCs do not have WNAM at all, instead being defined by SkyPatcher.

ColdSun
ColdSun

It will use the default body if that is the case. That said, I'm going to add the skin feature in the next recast update for folks who want to use custom bodies.

sincerity2103
sincerity2103

Nice, will be waiting for that. Thanks for your replies.

happyleaf
happyleaf

This looks awesome. Are there any clear advantages you'd say Recast has over something like EasyNPC?

ColdSun
ColdSun

Well, I could see many, but its super easy to use. Best to read through the description and instructions to see if it interests you.

happyleaf
happyleaf

ColdSun I was able to get it working with a small subset of NPCs with Foundation, and holy moly is it seamless. Honestly I would say the biggest advantage is the freedom to choose and customize less popular individual NPCs who don't have many specific replacers or aren't covered by AIO replacers.


For context, I use multiple mass replacers: Nordic Faces, Anuketh AIO, Jarls Re-imagined in that order followed by a series of individual replacers like the Pantheon series, etc. EasyNPC does a great job handling the initial loading and selection of all those replacers, but its pretty powerless when it comes to npcs without many replacer options like Hamal or Hroki to list a few examples.


This worked perfectly to fill in the gap but if I were to give feedback on Recast, I'd say if there were some way to generate the toml file selections en masse I'd probably drop EasyNPC altogether. For example if there were a feature to load in an AIO replacer mod, collect the NPCs targeted, and generate the TOML with the ability to append/overwrite the TOML by loading in subsequent replacer mods that would be great.


Am I correct in understanding that currently Recast is only compatible with patches exported from Foundation?

ColdSun
ColdSun

happyleaf Glad you like it. You can use Recast with any mods - its not limited to Foundation.

happyleaf
happyleaf


ColdSun Wait that's insane. In this specific case, if I wanted to keep the original Housecarl Argis the Bulwark, but replace the appearance of Saadia; as an example, would this be a correct implementation?

[replacements]


# Saadia replaced using EditorID

Saadia = "HousecarlMarkarth" (Since this is the NPC record editor ID of the CS Shae the Bastion Mod)


This may be a dumb question but do I need to keep the mod and plugin enabled? My initial assumption would be to disable the plugin but keep the mod enabled in MO2's left window.

WeaselNose
WeaselNose

Since I am ignorant about this, where you have the replacement source given as:

"BWR_CarlottaReplacement"

is that the mod name or is that the .esp without the .esp ending?

ColdSun
ColdSun

That is the Editor ID.

greett
greett

do you post your source codes somewhere or no? if no is there a reason you dont?

ColdSun
ColdSun

There is no reason I do or don't. I'm a developer with 30+ years of experience. That said, if I feel like posting the source I will.

greett
greett

ColdSun No doubt you're a trustworthy figure in the community, was just wondering, keep up the great work ColdSun!

ColdSun
ColdSun

I'm sure if I ever get caught up on some of these more complex things I've made, I'll be posting the source at some point. Hang in there. :)

John
John

Does Recast have GUI like Foundation Faces?

ColdSun
ColdSun

Not at this time. It is simply a face replacer for now. It might expand with more features in the future.

Ambasing
Ambasing

how do i use it?

ColdSun
ColdSun

Look at the instructions tab of this page. It has detailed instructions.

aarchiee
aarchiee

So, the Foundation Faces replacer.zips i have already loaded and are part of my game, Recast will take over the distribution of them from Skypatcher once i have installed it without me doing anything else ? Any new ones, i just create the zip in Faces as before and drop it in the same way ?

ColdSun
ColdSun

Create new patches with Recast to replace the SkyPatcher patches you made.

More from ColdSun

Popular The Elder Scrolls V: Skyrim Special Edition Mods