Releases: SenjuWoo/Modern-NPC-Pathing
Release list
NPC Pathing NG 2.5.0
NPC Pathing NG 2.5.0 — Nexus release notes
Short summary
Runtime navmesh failsafe for stuck humanoid NPCs, with optional SkyParkour vault/climb, EVG Animated Traversal marker routes, and follower parkour replay.
2.5.0 makes EVG markers work for NPCs — as routes, not furniture: marker-guided SkyParkour when the geometry matches, else a collision-validated hop across. On by default (MCM: "NPCs Use EVG Markers"; toggle off if you prefer).
Is EVG Animated Traversal required? No.
EVG has never been required. The plugin's only master is Skyrim.esm. There is no hard dependency on EVG or SkyParkour. Forms are looked up at runtime and skipped when absent.
How NPCs use EVG since 2.5.0: the engine only lets NPCs enter furniture through AI packages, so activating an EVG marker as furniture is rejected for NPCs (confirmed from SKSE and Papyrus, and by EVG's own abandoned alias quest). 2.5.0 therefore uses the hand-placed markers as the intended route:
- A stuck NPC approaching a marker from its entry side first tries a SkyParkour move along the marker's heading when real geometry matches (vaults, ledges).
- Otherwise a bounds-derived landing hop: ladders/ledges hop up, drops/rolls/slides hop down, squeezes/vaults hop across. Landings are ground-snapped, headroom- and capsule-cleared, never into water, never through actors, and the hop is refused in combat near the player and until the animated routes have had a chance.
- Followers replay the route after you use a marker.
- Marker scanning (the only cost when EVG is absent) pauses per-cell and re-arms when you travel to a new cell.
The old engine-rejected furniture-activation code path is removed entirely, and the default is ON.
What the mod does (honest)
- Stuck detection only when an NPC is trying to walk but not moving
- Optional SkyParkour vault/climb for NPCs (needs SkyParkour + behavior patch)
- EVG marker routes for stuck NPCs (needs EVG Animated Traversal; on by default)
- Follower replay of your SkyParkour moves and marker crossings (teammate flag; NFF-compatible)
- Doorway handling without sideways shove out of chokepoints
- Last-resort validated sidestep teleport (optional)
- MCM via MCM Helper, or INI without it
- FOMOD auto-detects SkyParkour / EVG and pre-selects a matching profile
What it does not claim
- NPCs entering EVG furniture (engine limit — routes instead)
- Full AI / navmesh rebuild
- Default mountain-scale climbing (default max climb 130 units)
- That animals were playing climb sounds (they were already excluded)
Requirements
Required
- SKSE64
- Address Library for SKSE Plugins
- Skyrim SE 1.5.97 or AE 1.6.x
Optional
- SkyParkour V3 + Nemesis/Pandora (or equivalent) NPC/behavior patch — parkour + follower replay
- SkyUI + MCM Helper — in-game menu
- EVG Animated Traversal — marker routes for NPCs
Files to upload
Prefer: NPC Pathing NG 2.5.0 FOMOD.zip
Alternate plain layout: NPC Pathing NG 2.5.0.zip
Version string on the file: 2.5.0
Updating
Replace the previous version. FormIDs, ESP globals and record layout are unchanged since 2.4.6. A clean save is not required. Existing saves keep their saved MCM values; the ONLY change is the EVG marker-route toggle default, which seeds fresh installs / new games.
Changelog (player-facing)
2.5.0
- EVG markers as routes for stuck NPCs (marker-guided parkour, then bounds-validated landing hop) — on by default
- Removed the engine-rejected furniture-activation path; scan latch re-arms on cell change
- FOMOD presets rebuilt: SkyParkour + EVG (recommended) / SkyParkour only / Navmesh failsafe only
- No save cleaning needed
2.4.10
- Fixed phantom SkyParkour climb sounds (2D SFX from off-screen / distant NPCs)
- New MCM/INI:
fParkourMaxPlayerDistance(default 1600, 0 = unlimited)
2.4.9
- City performance: crowd-jam early-out, EVG cell skip, fruitless-scan latch, cached follower faction
2.4.8
- First genuine native rebuild since 2.4.4
- No more vaults onto barrels/crates
- INI/FOMOD preset actually seeds the MCM
2.4.6
- Fixed double MCM caused by 2.4.5 bridge script
2.4.5
- Pulled — do not use
Permissions / credits (page fields)
- Open source under GPLv3 — see GitHub LICENSE
- Uses CommonLibSSE-NG (build-time); runtime needs SKSE + Address Library
- Optional integrations: SkyParkour, EVG Animated Traversal, MCM Helper / SkyUI — owned by their respective authors; this mod does not re-ship their assets
Troubleshooting
- Log:
Documents/My Games/Skyrim Special Edition/SKSE/NPCPathingNG.log - SKSE log for load failures
- When reporting: game version, SKSE version, this mod version, whether SkyParkour / EVG is installed, and the NPCPathingNG.log excerpt
NPC Pathing NG 2.4.10
Bugfix. Stops the phantom SkyParkour climb sounds reported after 2.4.9.
You heard a SkyParkour climb / whip / rustle with nobody in sight — in cities behind walls, and while camping "alone" in the wilderness. That was not animals. Creatures were already filtered out.
SkyParkour's own climb and vault animations play SoundPlay.SPPF_* descriptors through vanilla SOMStereo: 2D, no distance fade. This mod was firing those animations on any stuck humanoid still in high process, so a hunter two cells away or an NPC around a corner played a full-volume climb at your ears.
Parkour now only runs if the NPC is within 1600 units of you (about a 3D footstep's hearing range). MCM slider Parkour Max Distance / INI fParkourMaxPlayerDistance. Set it to 0 if you want the old unlimited range.
Updating
Drop-in over 2.4.9. No save cleaning. Existing saves keep their other MCM values; the new distance cap starts at 1600.
Verification
Built from this tag's source. Tests 9/9 pass (DLL export check runs on the release zip).
DLL 765e6ef56e805c1d9ea62b863b480c398573a33083a9feefc19c371b54838b58
ESP a8e7a4e0d9dcf5ba50a77b8c3fdf0977a9d694b29474a0f8230867c64e6cc635
zip 4de386a400596f8bf481aabc804bd830d2500a36fe13c2ba247da8307885a35b
fomod 1f8a90a9c9dcecd4a6d43f8374ed27cc1cbbeab7d0aea3aa001af1827ec05e51
NPC Pathing NG 2.4.9
Performance release. Cost reductions only — no intended behaviour change, and nothing to reconfigure after updating.
Aimed at frame-rate drops in crowded cities.
Fixed
- Crowd jams ran the full parkour ledge sweep. One NPC wedged behind another is the most common "stuck" cause in a busy city.
Unstickwent straight into ledge detection (~15 raycast iterations) for every one of them — and it could never succeed, because actors are already rejected as landing surfaces. Two rays now classify the blocker first and bail immediately. - EVG marker scan searched the entire cell grid. The radius is 250 units, but the scan called
ForEachReferenceInRangeon all attached cells (25 atuGridsToLoad=5), each iterating every reference in that cell — thousands in a dense city. Out-of-range cells are now rejected up front. - The EVG self-disable latch could never trip in a city. It only counted rejected activations, and an activation is only attempted once a marker has been found. Anywhere without EVG markers — i.e. every city — the scan found nothing, the counter never moved, and every stuck NPC kept re-scanning for the whole session. Fruitless scans now count toward the same latch: it switches off after 3 and re-arms on the next game load.
- Follower-faction lookup ran per actor, per check.
IsTeammatecalledLookupByIDinto the global form table for every scanned NPC, four times a second. Resolved once and cached.
The two EVG items only affected setups with bEnableEVGTraversal=1. That option stays off by default — EVG NPC traversal still cannot work, because furniture entry for an NPC is driven by the AI package system and activation is rejected by the engine.
Updating
Drop-in over 2.4.8. The plugin is unchanged (9dc50ac1…), so no save cleaning is needed.
Verification
Built from this tag's source. Tests 9/9 pass.
DLL 9e7a0cf794b5f68c64e2984761cbbc4730e0b98dab63d3cea37322361a8d9d08
ESP 9dc50ac1d0b7972fefc1e90313ac5c2343a3def585d7e7cbb380574e13bedd98
zip d650c6dc17564ffd974dceeddd6969a8d62386b8ee19fc3fc91381861b29e599
fomod 8a82517fde80e4c3c8b3f469664040e1f6798867675ad82db44967b7fc5360a2
NPC Pathing NG 2.4.8
First genuine native rebuild since 2.4.4.
Versions 2.4.5, 2.4.6 and 2.4.7 all shipped the identical 2.4.4 DLL
(SHA256 9e5616e0…). Any behaviour difference reported between those three
releases was therefore not native code. 2.4.8 ships a new binary.
Fixed
- NPCs vaulted onto barrels and crates and got stranded on top. The landing-surface
filter only rejected NPCs, doors and activators. Barrels and urns areContainer
records and crates/physics props areMovableStatic, so both read as valid ledges.
Container,MovableStatic,FloraandTreeare now rejected. - INI edits and the FOMOD preset were silently ignored when the ESP was active.
Settings were copied out of the plugin's globals every single frame, overwriting
everything read from the INI. The INI now seeds the MCM atkDataLoaded, which runs
before a save is deserialized:- a new game or fresh install starts from your INI / FOMOD preset;
- loading an existing save still restores that save's own MCM values;
- MCM changes still apply instantly and persist.
Changed
iTeleportEscalationdefault raised 3 → 5. Teleports were firing more often than
the animated traversal they exist to back up. SetbEnableTeleportFallback=0to
disable teleporting entirely.- FOMOD conditional INI patterns given distinct priorities so the shared destination
resolves deterministically. fMaxClimbHeightdocumented as 130 everywhere (steps, vaults, low/chest ledges).
Raise toward 250 for full cliff and mountain climbing.
Plugin hash note
The NPCPathingNG.esp header author field changed, so the plugin hash differs from
2.4.4–2.4.7. Only the TES4 header changed — no record, FormID or master — so
no save cleaning is needed and existing playthroughs are unaffected.
Verification
Built from this tag's source. Tests 9/9 pass.
DLL 0ca1cecf1aebe5a207154d97eb7b0465ce3b328d2128bb314d0fe4c25be534d3
ESP 9dc50ac1d0b7972fefc1e90313ac5c2343a3def585d7e7cbb380574e13bedd98
zip b715b41e99641c43e4c319029e067ca962fc20ab00590aa6fb3419ba695f9d39
fomod dae0b21b7c2edf104f7146a8f25d283e372b27121166ac4251d66538828b9446
StepUpOnto SKSE NPC Pathing Patch V2
StepUpOnto SKSE - NPC Pathing Patch V2
Compatibility rebuild of StepUpOnto SKSE for SkyParkour / NPC Pathing NG.
Behavior
While SkyParkourOngoing is true on an actor, StepUpOnto does not fire its step-warp (player and NPC gates). Prevents StepUp from fighting parkour alignment mid climb/vault.
Install
Install after original StepUpOnto SKSE so StepUpOntoSKSE.dll overwrites. Keep your existing INI.
Source
https://github.com/ShugokiFable/Modern-NPC-Pathing/tree/main/patches/StepUpOntoSKSE-V2
SHA256
98f205cdf4edd8ccfc918ba866a0eaf1fd20dc7ad6e917f9b93047282e1d5dec StepUpOntoSKSE1.5.1 - NPCPathing Patch.zip
Credits
TheShinyHaxorus (original StepUpOnto SKSE), SkyParkour V3 (Waffuru), compatibility patch by karlo.