Accessibility plugin for Skyrim Special/Anniversary Edition. Automatically vocalizes game menus, adds an object scanner, autowalk, auto-aim, and quest tracking via NVDA.
If you want to support and encourage my accessibility work on this mod and the future ones I will be making, you can find my donation page here and buy me a coffee! A huge thank you!
https://buymeacoffee.com/pyrhame?l=en
- Skyrim Special Edition or Anniversary Edition
- SKSE64 (Skyrim Script Extender)
- NVDA screen reader (must be running before launching the game)
- Skyrim Accessibility mod by Dio Kyrie — download the latest release at https://github.com/DioKyrie-Git/SkyrimAccessibility/releases
- SkyUI is strongly recommended — SkyrimNVDA has been designed and tested primarily with SkyUI's inventory/container/barter layout. Without SkyUI the plugin still works but some menu readings may be less accurate or miss details.
Your Skyrim installation folder is usually located at: C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\
If you haven't already, download and install SKSE64 from https://skse.silverlock.org/. Follow its installation instructions. You must launch the game through skse64_loader.exe instead of the normal Skyrim launcher.
From the release archive, copy the following files to the correct locations inside your Skyrim installation folder:
- SkyrimNVDA.dll: copy to Data\SKSE\Plugins\SkyrimNVDA.dll
- nvdaControllerClient.dll: copy to the Skyrim root folder (next to SkyrimSE.exe)
- SkyrimTTS_AutoWalk.esp: copy to Data\SkyrimTTS_AutoWalk.esp
- SkyrimTTS_AutoWalk.pex: copy to Data\Scripts\SkyrimTTS_AutoWalk.pex
- SkyrimTTS_MQ105Fix.pex: copy to Data\Scripts\SkyrimTTS_MQ105Fix.pex
If the folders SKSE\Plugins\ or Scripts\ do not exist inside Data, create them.
Important — nvdaControllerClient.dll must be in the Skyrim root folder (next to SkyrimSE.exe), not in Data. How to do this depends on your mod manager:
- Vortex: the file should be copied to the root folder automatically during installation. After installing, check that nvdaControllerClient.dll is present next to SkyrimSE.exe. If not, copy it manually from the archive's Root folder.
- Mod Organizer 2: MO2 does not copy files to the game root by default. You must manually copy nvdaControllerClient.dll from the archive's Root folder to your Skyrim root folder (next to SkyrimSE.exe). If you have the Root Builder plugin installed, this is handled automatically.
- Manual installation: copy nvdaControllerClient.dll to the Skyrim root folder yourself.
The file SkyrimTTS_AutoWalk.esp must be activated in your load order. You can do this in two ways:
Using a mod manager (Vortex, Mod Organizer 2): the ESP should appear in your plugin list. Make sure it is enabled (checked).
Manually: open the file Data\plugins.txt (or %LOCALAPPDATA%\Skyrim Special Edition\plugins.txt) and add the line: *SkyrimTTS_AutoWalk.esp
- Start NVDA
- Launch the game through skse64_loader.exe (not the normal Skyrim launcher)
- NVDA should start reading menus automatically
New to Skyrim? Read our detailed First Steps Guide — a complete walkthrough from character creation through the Golden Claw quest, with every step explained using accessibility features.
When you start the game, after the intro cinematic, you arrive at the character creation menu.
NVDA announces: "Character creation"
- Ctrl + Left / Right: switch tab (Race, Body, Head, and sub-categories)
- Up / Down: navigate options within a tab
- Left / Right: adjust a slider value or change sex (Male/Female)
- R: confirm / validate
NVDA announces: "Cross menu"
- Up: Skills
- Down: Map
- Left: Magic
- Right: Inventory
NVDA announces: "Inventory open"
- Up / Down: change item (name, value, weight vocalized)
- Left / Right (or Q / E): change category
- H: announces gold and current carry weight / maximum
NVDA announces: "Container open"
- Up / Down: change item
- Left / Right: switch between your inventory and the container
- H: announces gold and carry weight
NVDA announces: "Magic menu open"
- Up / Down: change spell (name, effects, cost vocalized)
- Left / Right: change category (Destruction, Restoration...)
NVDA announces: "Journal open"
- Up / Down: change quest or entry
- Enter: activate or deactivate the selected quest (NVDA announces "active" or "inactive")
- Ctrl + Left / Right: switch tab (Quests, System, etc.)
When you activate or deactivate a quest in the journal, it is reflected in the scanner's Quests category.
- Up / Down / Left / Right: navigate the skill tree
- The selected skill description is vocalized automatically
- Perks are vocalized with their description and requirements
NVDA announces: "Favorites"
- Up / Down: change item or spell
The NPC's dialogue line is vocalized automatically. Up / Down to choose your response.
- Object, NPC, or door in crosshair: name and action vocalized automatically (e.g. "Open door")
- Notifications (quest updates, level up, skill increases): vocalized automatically
- Quest objective updates: the specific objective text is read (e.g., "Find the Golden Claw"), not just "Quest updated"
- Item pickup messages: "Gold added", "Item added", etc.
- Subtitles: vocalized automatically
- New location discovered: vocalized automatically
- Stealth status: announces Hidden / Detected / Caution when sneaking
- Crouch toggle: announces "Sneaking" / "Standing"
- Camera view: announces "First person" / "Third person" when pressing F
- Arrow info: arrow type and count announced when equipping a bow
- H: announces current Health / Magicka / Stamina
- Tutorial hints: beginning-of-game hints vocalized with key names
NVDA announces: "Main menu open"
Up / Down to navigate New Game, Continue, Load, Settings, Quit.
NVDA announces: "Level gained! Choose your improvement."
Left / Right to choose between Health, Magicka or Stamina. Enter to confirm.
Game messages (confirmations, warnings) are vocalized automatically. Up / Down to navigate buttons, Enter to confirm.
NVDA announces: "Barter menu open"
- Up / Down: change item (name, value, weight, damage, armor, description vocalized)
- Left / Right: change category or switch between vendor/player side
- H: announces player gold, vendor gold, and carry weight
Full vocalization for giving/taking items with companions — same controls as container.
All crafting stations are fully accessible:
- Forge and Tanning Rack: category navigation with Ctrl + Left/Right, items with Up/Down
- Grindstone and Workbench: simple list with Up/Down
- Smelter, Enchanting Table, Alchemy Lab: full vocalization
Recipe name, quantity produced, required materials, and damage/armor stats are all vocalized.
When opening a book, NVDA reads: the title, the full content, and any spell or skill learned.
When talking to a trainer, NVDA reads: skill name, trainer level, training count, cost per session, and your current gold. Updated after each training session.
NVDA reads: the question (rest or wait?), current time, and hours selected as you adjust the slider.
Loading tips and hints are vocalized automatically during loading screens.
The developer console is now accessible. Typed text and command results are read by NVDA. Useful for advanced commands like setstage.
Soul gems in inventory/container/barter display their soul level (e.g., "Grand", "Common"). Empty gems show no soul level.
The scanner lets you detect and navigate all objects around you: NPCs, doors, items, containers, quest targets, locations, and more.
- Numpad 5: scan all objects around you
- Page Down: next object in the current category
- Page Up: previous object in the current category
- Shift + Page Down: next category
- Shift + Page Up: previous category
- Home: announce current object with distance and orient your camera toward it
- Shift + Home: autowalk toward the selected object
- Alt + Home: teleport to the selected object (see Scanner Teleport section)
- End: cycle subcategories (e.g. locked/unlocked doors, looted/unlooted corpses)
- All: every detected object
- NPCs: living characters (friendly and hostile)
- Doors: all doors, with destination name for cell doors
- Containers: chests, barrels, etc. (shows "empty" if looted)
- Items: weapons, potions, books, gold, etc.
- Activators: levers, buttons, beds, ore veins, etc. (puzzle pillars show their current symbol)
- Corpses: dead bodies
- Companions: your followers
- Quests: active quest objectives with distance to the target (follows compass direction for targets in other cells)
- Locations: nearby discovered map markers with their type (City, Cave, Fort, Nordic Ruins...)
When scanning puzzle pillars or dragon claw door rings, the scanner shows the current symbol in parentheses (e.g. "Pillar (Snake)", "Inner ring (Bear)"). For pillars, the direction (north, south...) is also shown to help identify which pillar is which.
When you activate a pillar or ring, NVDA automatically announces the new symbol.
Autowalk lets you walk automatically toward a selected scanner object or quest target.
- Shift + Home: start autowalk toward the selected scanner object
- Shift + Home again: stop autowalk
- W / A / S / D / Escape / Space: stop autowalk immediately
- The player automatically runs toward the target using the game's AI pathfinding system
- For quest objectives in another cell (e.g. inside a dungeon), the autowalk follows the compass to find the correct entrance door
- If the player gets stuck for 20 seconds, autowalk stops with "Can't reach target"
- Autowalk stops automatically when you arrive within 200 units of the target
If you are stuck in a dungeon or cannot reach a target with autowalk, you can teleport directly to the selected scanner object.
- Select an object in the scanner (Page Up / Page Down)
- Press Alt + Home to teleport next to it
- In interiors (dungeons, houses): you can only teleport to objects in the same area. You cannot teleport through loading doors.
- In exteriors: you can only teleport to objects within 3000 units. Farther targets will say "Target is too far".
- The teleport places you about 100 units away from the target, facing it.
Use this feature with caution. Teleporting past quest triggers, locked doors, or scripted events may break quest progression. It is meant as a last resort when you are stuck, not as a primary way to play. If a quest seems broken after teleporting, reload a previous save.
Press X to rotate your camera toward the nearest hostile enemy. NVDA announces the enemy name and distance. Press Shift + X to toggle permanent camera lock onto the enemy. Press Shift + X again to unlock.
- Works only during combat
- Ignores dead enemies, companions, and disabled actors
- Targets the center of the enemy's body for accurate melee fighting
When you draw your bow (hold the attack button), the plugin automatically:
- Finds the nearest hostile enemy
- Locks onto it and aims at the center of its body
- Compensates for arrow gravity based on distance (uses real projectile physics data from the game)
- Predicts enemy movement to aim where the target will be when the arrow arrives
- Plays a beep sound (1000 Hz) when you have line of sight to the target
- Re-aims every 500ms to track moving targets
When you release the bow, tracking stops. When any enemy is killed by the player (bow, melee, magic), a kill sound plays (3 descending beeps).
- Auto-aim prioritizes hostile dragons over closer non-dragon enemies (deer, foxes, etc.)
- High-pitched beep when your arrow hits a dragon
- Automatic voice announcements: "Dragon in flight" / "Dragon landed" during dragon combat
The map is fully accessible with keyboard navigation.
- Page Down: next map marker
- Page Up: previous map marker
- Home: announce full details of current marker (type, distance, direction, fast travel availability)
- Shift + Home: set current marker as reference point (all distances recalculated from this marker instead of the player). Press again to clear the reference
- End: cycle filters (All, Discovered, Undiscovered, Quest Targets)
- Enter (twice): fast travel to selected marker (first press asks for confirmation, second confirms)
- All map markers are listed with name, type (City, Cave, Fort...), distance and direction (north, south, east...)
- Mouse hover: when you move the mouse over a marker on the map, NVDA reads its name
- Filters let you see only discovered or undiscovered locations, or quest targets only
- Quest targets filter shows active quest objectives as map markers
- Fast travel via Enter key — no need to click on the map visually
- Reference point: set any marker as reference to measure distances between locations
Quest objectives appear in the scanner's Quests category. Only quests activated in your journal are shown.
- Activate or deactivate quests in the journal (J key, then Enter on a quest)
- Active quests appear in the Quests category of the scanner with distance and direction
- For targets in another cell (dungeon, building), the scanner follows the compass direction and shows the distance to the door you need to take
- Use Home to orient toward the quest target
- Use Shift + Home to autowalk toward the quest target
Word Walls (where you learn dragon shouts) appear in the Activators category of the scanner. Walk near them to learn the word automatically.
- Puzzle Pillar Auto-Solve — All pillars are pre-solved, just pull the lever
- Dragon Claws Auto-Unlock — Claw doors open automatically when you have the claw
- H: Health / Magicka / Stamina
- Numpad 5: scan objects
- Page Down: next object
- Page Up: previous object
- Shift + Page Down: next category
- Shift + Page Up: previous category
- Home: announce current object and orient camera
- Shift + Home: start / stop autowalk
- End: cycle subcategories
- X: lock nearest enemy (combat only)
- Draw bow: auto-aim activates automatically
- H: gold and carry weight
- Up / Down: change item
- Left / Right: change category or switch inventory/container
- Page Down: next marker
- Page Up: previous marker
- Home: marker details
- Shift + Home: set / clear reference point
- End: cycle filters (All, Discovered, Undiscovered, Quest Targets)
- Enter (twice): fast travel
- Up / Down: change quest
- Enter: activate / deactivate quest
- Ctrl + Left / Right: switch tab
- Up / Down: navigate options
- Left / Right: adjust slider / change sex
- R: confirm
Full Xbox / PlayStation controller support. LB is the modifier key for all accessibility combos. Configure which button does what in the MCM "Gamepad" page if you want to change the default mappings.
Automatic remappings done by the plugin:
- Sprint: remapped from LB to Left Stick click (no manual config needed)
- Sneak: remapped from Left Stick click to LB + Left Stick click
- LB vanilla actions in the inventory / container / barter menus: disabled to prevent conflicts with our combos
- Y button vanilla action (Favorite) is temporarily disabled while LB is held in item menus, so LB + Y does not toggle a favorite accidentally. Y alone still works normally to mark favorites.
- On the map: the right joystick camera tilt is disabled (it was causing NVDA to read nearby markers randomly). Our own combos on the right stick remain active.
- P key (Place Player Marker) is disabled on the map keyboard to prevent conflict with our own custom marker system.
Scanner (in game, LB as modifier):
- LB + D-pad Down: next scanned object (farther)
- LB + D-pad Up: previous scanned object (closer)
- LB + D-pad Left: announce current target
- LB + Right stick Left / Right: change category (All, NPCs, Doors, etc.)
- LB + Right stick Up / Down: change sub-filter
- LB + A: start / stop autowalk (detects if you are on a horse and uses mounted mode automatically)
- LB + B: teleport to scanned target
- LB + Y: contextual stats — in game announces health / magicka / stamina; in inventory, container or barter menu announces gold and carry weight
- LB + Left Stick click: toggle sneak (crouch / stand)
- LB + Right Stick click: toggle first / third person camera
- Right Stick click alone: lock nearest enemy
Map menu (gamepad):
- LB + D-pad Down / Up: next / previous marker in current filter (sorted by distance)
- LB + D-pad Left: announce marker details
- LB + D-pad Right: set reference point for distance calculation
- LB + A: fast travel to selected marker (custom system, more reliable than vanilla)
- LB + Y: place or remove a custom marker on the currently selected map marker — the marker becomes a navigable target in the in-game scanner
- LB + Right stick Left / Right: cycle location sub-filter (All types, Cities, Towns, Dungeons, Forts, Camps)
- LB + Right stick Up / Down: cycle main filter (All, Discovered, Undiscovered, Quest Targets)
Menus (message box, level up, etc.) with gamepad:
- D-pad Left / Right / Up / Down: navigate choices (yes/no for message boxes, health/magicka/stamina for level up)
- A button: confirm the selected choice
- B button: cancel the message box
- Each navigation change is vocalized automatically
Starting autowalk while mounted: mount your horse manually first, then trigger autowalk (LB + A on gamepad). The plugin detects you are riding and the horse itself walks to the destination instead of forcing you to dismount. After stopping, you may need to dismount and remount manually (E twice) to regain keyboard / stick control of the horse — this is a Skyrim engine quirk that affects every mod using the mounted travel pattern.
Left stick movement cancels autowalk — same as WASD on keyboard.
Plugin developed by Pyrhame. Requires NVDA.