
Skyrim AI NPC Mod: Talking Followers and Voice Commands
You walk into the Bannered Mare fresh from Bleak Falls Barrow, mention the draugr, and the innkeeper answers the thing you actually said instead of reciting her usual line. Skyrim has been modded for fifteen years, and that is still the most requested feature: NPCs who respond to the player's own words. A Skyrim AI NPC mod built on Neocortex gives followers, innkeepers and quest-givers real conversations, steers story beats with Conversation Flows, runs lore quizzes and adds on-device voice commands. We start with the SKSE and Papyrus plumbing, because everything else sits on top of it.
Screenshot: The Elder Scrolls V: Skyrim Special Edition © Bethesda Softworks
What does a Skyrim AI NPC mod need?
Script extender mods target Skyrim Special Edition and Anniversary Edition on PC. Four pieces carry the load:
- SKSE64, the script extender. Each build matches a specific game runtime, there are separate builds for Steam and GOG, and the Epic Games Store release is not supported. Bethesda still ships occasional updates, so always match SKSE to the player's game version.
- Address Library for SKSE Plugins, which gives plugins version-independent addresses so one plugin survives most game updates.
- CommonLibSSE-NG, the C++ library most new SKSE plugins are built on. It covers SE, AE and VR, and can target all three from one build.
- Papyrus, the game's scripting language, written and compiled with the free Creation Kit on Steam. Papyrus runs quests, dialogue and AI packages.
Mantella, CHIM and SkyrimNet are existing community AI mods built on this same SKSE stack.
Why can't Papyrus call the API itself?
Papyrus has no network access. So the work splits in two.
Your SKSE plugin does the HTTP work in C++, with WinHTTP or libcurl on a worker thread so the game never waits, and registers new native functions that Papyrus can call. Papyrus decides when an NPC should speak, and the plugin hands the reply back through a mod event.
Subtitles can start as Debug.Notification text and grow into a custom menu. Audio is the harder part: Skyrim voice lines are .fuz files that pair the sound with .lip lip-sync data, so a mod either produces lip data for each generated line or plays the audio without mouth movement.
One chat call from a CommonLibSSE-NG plugin
On the Neocortex side, the plugin reads game state and sends it with the player's line to a character through /v3/chat, shows the reply as subtitles, plays the voice from /v3/audio/generate or /v3/audio/stream, and runs the actions the character returns. Here is the core of that chat call, using nlohmann::json:
// Runs on a worker thread. HttpPost() is your own WinHTTP or libcurl wrapper
// that adds the "x-api-key" header from the player's config file.
using json = nlohmann::json;
json event = {{"priority", 1}, {"content", "Player just returned from Bleak Falls Barrow"}};
json body = {
{"characterIds", json::array({cfg.innkeeperId})},
{"message", playerLine},
{"playerId", "player-1"},
{"sessionId", sessionId},
{"events", json::array({event})}};
json reply = json::parse(HttpPost("https://api.neocortex.link/v3/chat", body.dump()));
sessionId = reply["sessionId"].get<std::string>();
std::string text = reply["messages"][0]["lines"][0]["text"];
SKSE::GetTaskInterface()->AddTask([text] { RE::DebugNotification(text.c_str()); });
Screenshot: The Elder Scrolls V: Skyrim Special Edition © Bethesda Softworks
Four ideas to build on that call
The innkeeper at the Bannered Mare
Make her a Neocortex character: a Personality type, an Emotion profile and a Knowledge base built from a TXT file of Whiterun rumors.
Your mod sends each player line along with recent events ("the player just came back from Bleak Falls Barrow", "it is snowing") and nearby objects such as a room key or the bar counter.
She replies in character, every line carries an emotion tag like HAPPY or CURIOUS for expressions, and an action such as RENT_ROOM tells your mod to hand over the key.
Followers get the same treatment. Your housecarl can comment on the dungeon you just cleared, and on Pro and Team plans up to six characters can share one conversation, so a campfire chat between two followers and a passing bard becomes possible.
Maren Stonehollow, a quest-giver on a Conversation Flow
Add an original character: an exiled scholar camped in the hills outside Markarth who wants help recovering a lost Dwemer map.
A Conversation Flow lays out her beats: the introduction, the player agreeing to help, the map handover and a late twist.
The player talks freely, Maren steers back to the story, and each beat returns a checkpoint keyword (flowState) such as MAP_GIVEN. Your Papyrus quest script reacts with SetStage, so the quest journal, markers and rewards stay in the Creation Kit quest you already know how to build.
Lore night at the Bards College
In Solitude, a bard hosts a quiz on the Septims, the Dragon War and the Daedric Princes.
The question set lives in the Neocortex dashboard, and the quiz engine (Team plan) runs the questions, scoring and leaderboard through /v3/quiz. Your mod handles the bard's animations and hands out a reward for a good streak.
Spoken orders for followers and shouts
Design a command set with actors ("Lydia", "followers", "dog"), actions ("wait", "follow", "attack", "use") and objects ("here", "that bandit", "the lever"). Players say "Lydia, wait here" or "both of you follow me and draw your weapons", and your mod receives clean commands, including several actions in one sentence and quantities. You can also map a spoken phrase to a shout-style trigger that fires the player's equipped shout. It works push-to-talk or always-listening, offline, in multiple languages, using the Neocortex Voice Commands library on the player's machine, so there is no cloud round trip. Read more about on-device voice commands for game mods. Voice Commands is a licensed SDK: contact us for a Voice Commands license.
Build order
- Framework first. Install the SKSE64 build that matches your game and Address Library, then create a CommonLibSSE-NG plugin project.
- Character second. Design it in the Neocortex node editor: Personality, Emotion, Knowledge, Voice and the Actions your mod supports. Test it in the browser for free.
- Extras as needed: a Conversation Flow for your quest-giver, a quiz question set, or a voice command set.
- Connect from the plugin. Call the API off the main thread, then pass results to Papyrus and the UI on the game thread.
- Keep the API key in a config file such as an INI that each player fills in. Never hard-code a key in a mod you share.
- Test in single-player on a clean save with Papyrus logging turned on.
Fair play in Tamriel
Skyrim is a single-player game, so an AI NPC mod affects only the player's own world. Keep your mod free and non-commercial, follow Bethesda's terms for player-made content, and use a designed voice or one you own the rights to rather than a clone of the game's cast. Players should use their own Neocortex API key so usage stays on their account.
Start with one follower
You do not need all four ideas on day one. Pick the follower you travel with most, build them in the Neocortex node editor, test the conversation in the browser for free, and wire up the single chat call above. Once that feels right, add a Conversation Flow or a voice command set.
Want the voice side first? Start with our guide to on-device voice commands for game mods, then compare notes with the Fallout 4 and Oblivion Remastered guides or browse every game in our AI NPC and voice command mods index.
Tool versions and links checked October 2026. Modding tools change often; check each project's page for the latest release.
Frequently Asked Questions
Can you add AI NPCs to Skyrim?
Yes. On PC, an SKSE plugin can send what the player says and what is happening in the game to an AI service, then show the reply as subtitles and play it as voice. Neocortex gives you the characters, voices, Conversation Flows and quizzes through one API, so your plugin only handles the game side.
Can Papyrus scripts call an AI API directly?
No. Papyrus has no network access, so the HTTP call lives in a native SKSE plugin written in C++, usually with CommonLibSSE-NG. Papyrus then handles quests, stages and dialogue, while the plugin talks to the Neocortex API.
Can I control Skyrim followers with my voice?
Yes, with a mod. Neocortex Voice Commands runs on the player's PC, so phrases like "Lydia, wait here" or "follow me and draw your weapon" turn into follower actions instantly and offline. Voice Commands is a licensed SDK, so contact us for a license.
Does a Skyrim AI NPC mod work on the Epic Games Store version?
SKSE64 does not support the Epic Games Store release, so script extender mods target the Steam and GOG versions. Once SKSE is running, a Neocortex-powered plugin works the same on either.
Do players need their own API key for a Neocortex Skyrim mod?
Yes. Each player creates a free Neocortex account and pastes their own API key into the mod's config file. That keeps usage on their account and keeps your key out of the files you share.
Written by
Sercan Altundas
Date
Oct 20, 2026
Read time
7 min






