Blind Soldier is an accessibility mod for the original Windows PC version of Final Fantasy VII. It presents information that a sighted player would normally see through screen-reader speech, audio description, positional sounds, footsteps, and spoken navigation.
The mod includes support for menus, dialogue and choices, battles, field and world-map travel, objects, NPCs, story targets, selected minigames, and timed events. Screen-reader output is provided through the bundled Prism library; it is not tied to one particular screen reader.
Important
This project is for the original Final Fantasy VII PC game, not Final Fantasy VII Remake or Rebirth. It is a pre-release project under active development. Tester logs now include travel toward Wutai, including navigation failures worked around manually. Support extends beyond that point, but it has not been validated by a complete playthrough. See Coverage and testing status.
Blind Soldier is a pre-release project. This section separates what is implemented from what has been played, because those are not the same thing and only the second one finds the problems a real session finds.
Live evidence: tester logs include the opening, the first Gold Saucer visit, Corel Prison, Cosmo Canyon, Nibelheim, Rocket Town, the weapon seller's house and the approach to Wutai. These are recorded sessions, including navigation failures and manual workarounds, rather than certification that every route in those chapters works. Later guidance has offline checks; a complete supported playthrough has not been recorded.
The Story navigation category uses objectives tied to the game's progress state and field scripts, from the opening through the ending: the Midgar chapters, Kalm, the marshes and Mythril Mine, Junon, the cargo ship, Costa del Sol, Mount Corel, North Corel, the Gold Saucer, Corel Prison, the buggy and Gongaga onward, the western continent, the Temple of the Ancients, the northern journey, the Junon escape, the Highwind and the Huge Materia, the return to Midgar, and the Northern Crater.
Wutai's optional Materia quest has Story steps from Turtle's Paradise through recovering the Materia, with return guidance in the related town rooms and Da-chao paths. In Godo's optional rooms, use Objects for the doors and hanging scroll, and Exits to travel between rooms.
A definition tells Blind Soldier where the next required interaction or destination is for the progress state you are actually in. It is not a walkthrough and it does not make story or party choices for you.
This is not a full-game validation. The catalog and the state transitions around it are checked by automated tests against the installed field scripts. Nobody has played the whole game with it. Expect gaps, especially in optional exploration, and please report them.
- Junon: the town and the Shinra building floors, the parade with its alignment assist and timing cues, the practice and drill sequences, and the routes through to the cargo ship.
- Cargo ship and Costa del Sol: the ship's decks and the Costa arrival, its inn and shops, and the routes onward to Mount Corel.
- Mount Corel, North Corel and Corel Prison: the ropeway, the mountain corridors, the town, the prison drop point, and the handoff back to the Gold Saucer.
- Gold Saucer: the entrance and the individual squares, their descriptions, and the minigames listed below.
- Fort Condor: the battlefield navigator, cursor movement with
I, unit and order readouts, and the battle interfaces.
At the Gold Saucer GP seller, speech reports the selected GP amount and gil cost. Battle Square announces the between-round Continue/Quit choices, the selected answer, current BP, and the handicap after the reels stop. Registration reads the displayed GP balance and party-member choices.
The submarine mission reports its instruments and visible contacts on both
runtimes. J/L select a submarine, O toggles automatic pursuit, I starts
pursuit and K repeats status. On a controller, hold either trigger and use
D-pad Up/Down to select, L3 or R3 to pursue, and B/Circle to stop.
The Huge Materia red leader has its own name. The assist remembers the last
visible position of a contact between sightings and tells you when it is stale.
Pursuit returns to the normal firing view automatically when close enough to
the selected contact's visible or fixed last-seen position. View changes are
spoken during manual play too. Use the game's configured overview control to
spot contacts; the control name does not identify a physical Page Down key.
Firing stays manual with Switch; guidance distinguishes your selected
target from a different submarine holding the game's lock.
Steam's default submarine controls are R1/RB or E for overview, R2/RT or T to change view, and Square/X or Z to fire. The dedicated Page Down key is unbound by default. Remapped controls follow your game settings.
Implemented with spoken state, cues, or both: the motorcycle/highway escape
(including optional automatic steering on F8), the Speed Square coaster with
its aiming readout, G-Bike, 3D Battler, arm wrestling, basketball, the Wonder
Square arcade, the Junon parade and marching drills, the swinging-bar and
squat timing cues, Fort Condor, the submarine mission, and Chocobo Square
betting, racing and results.
Feedback presents the state a sighted player is shown. Optional steering and alignment assists are available where listed; other actions remain under your control.
Recorded audio description ships for the opening movie and 99 other movie tracks, unchanged since 0.5.11, plus 846 short clips covering cutscene actions and area arrivals. Version 0.6.1 added eight action descriptions at the Cosmo Canyon bonfire, Shinra Mansion, Rocket Town, and Temple of the Ancients. Version 0.6.2 preserves those recordings and adds no new narration. All packaged narration uses Brice's approved voice.
Battle descriptions cover 93 distinct Limit Break and summon animations, including Tifa's successful chain moves, Vincent's forms and attacks, and Cait Sith's Slots outcomes. The 175 recorded cues describe appearances, movements, and attacks during the animations. A shared opening description also covers the summoner's colored orbs and green light, once per save. The displayed summon attack name is read on each cast. The summon's main description waits for its own scene to begin, and battle pause pauses the narration too. Each animation is described once per save; these expanded descriptions can play once even if that save already heard the earlier brief version. Selecting an ability in a menu does not start a description. The mod settings menu lets you disable these recordings, reset battle descriptions for the current save, and adjust recorded-description volume from 50 to 300 percent.
Coverage is limited to the included scenes; this does not mean every cutscene
or optional event has been described. Area arrival descriptions say what a
screen looks like when you enter it. They are not descriptions of moving
characters: the remaining uncovered moments are mostly gestures and reactions
the engine animates at runtime, and those still need reliable visual capture
before anything is written about them. K reads the current area description
again where one exists.
Field and world-map navigation, routes, auto walk and the progress indicator are described under Navigation.
Version 0.10.4 repairs visible Emerald approaches and Sector 8 underground ladder exits. Underwater Events announces list positions and counts, and a positive Emerald sighting names its category. Ladder exits include their native climb and wait for the player's normal mount action. See the release notes.
Version 0.10.3 repairs the Huge Materia display's exit navigation. Stored Materia are listed in Objects. Exits guides you to the native Go back down menu, and Story offers the required departure step while Bugenhagen is waiting to leave. See the release notes.
Version 0.10.2 corrects the legacy x86 snowboarding text hook's native calling convention, which could crash the game when the snowboard run starts with or without Echo-S. See the release notes.
Version 0.10.1 restores Priscilla's NPC target at Dolphin Cove with Echo-S and makes wounded Tifa's native interaction target available in NPCs and Story during the flashback reactor scene. Use your normal Confirm button to interact. See the release notes.
Version 0.10.0 makes the Shinra Mansion bookcase navigable during the Kalm flashback. Story first guides you to open it with Confirm, then through the passage. See the release notes.
Version 0.9.9 adds compatibility readers for Postscriptthree's Gameplay Tweaks 1.78 through 7th Heaven: extra equipment and battle menus, loaded text, displayed battle help, and randomized field roles and pickups. See the compatibility guide and release notes. The native Steam edition retains its existing controls; 7th Heaven's gameplay patches run on the legacy edition.
Version 0.9.8 describes the creature approaching at the end of Northern Crater when the native renderer actually draws its moving model. It supports stock and reviewed Echo-S scripts in both runtimes. See the release notes.
Version 0.9.7 expands Echo-S 7 compatibility across the field maps, repairs bike steering announcements and sustained Steam steering, and adds room and ending descriptions in the existing voice. See the release notes.
Version 0.9.6 repairs Northern Crater ledge and cave guidance and keeps navigation available during the playable final rock-platform background movies. Climbing, party choices and encounters use normal game controls. See the release notes.
Version 0.9.5 repairs moving Emerald target publication and retains keyboard accessibility presses during slower game scans. Settings and navigation keep their existing controls. Native encounter and game input controls remain under your control. See the release notes.
Version 0.9.4 enables destination pathfinding while riding chocobos using the current bird's native terrain abilities. A gold bird can route to the Knights of the Round and Mime Materia caves; navigation holds at the cave entrance for your normal dismount controls. Emerald uses the current native visibility fix, and new logs identify the loaded build and record why an underwater target is not currently visible. See the release notes.
Version 0.9.3 restores Sector 7 navigation with Echo-S 7. Exits names the Seventh Heaven entrance and pinball lifts to and from the AVALANCHE hideout when available. NPCs includes the combined Item and Materia shopkeeper and uses current character identities. Walk to a target with the existing navigation controls, then interact with the game's normal Confirm button. See the release notes.
Version 0.9.2 fixes the native underwater visibility check that prevented Emerald Weapon from appearing in Events. Select it there while visible to track and approach it with the existing navigation controls. Pursuit pauses on loss of sight; other submarine journeys retain Emerald avoidance. See the release notes.
Version 0.9.1 names the Highwind's bridge, corridor, operations room, outside deck and Chocobo hold in Exits, and identifies its pilot and service crew in NPCs. Use these categories to explore between Story events. Talk to the operations crew member with the normal Confirm button for the game's party, save and rest choices; talk to the pilot to fly. Story remains available during active events. See the release notes.
Version 0.9.0 adds Story guidance through the late Midgar tunnels before and after the Turks encounter. The native pickup audit confirms that Objects lists the visible, uncollected items in each current tunnel section. See the release notes.
Version 0.8.11 repairs Ultimate Weapon tracking and Northern Crater flight guidance. It also corrects spoken field button instructions and gives both native pianos their note, octave, chord and Start controls during a performance. See the release notes.
Version 0.8.10 replaces the R3 navigation menu with held-trigger controls, adds controller party readouts and spoken mod settings, and lets you reset current-save battle descriptions and boost recordings. See the release notes.
Version 0.8.9 makes the Temple clock's second-hand hazard audible while you cross its hands. It reports the visible hand's position, approach and crossing, and warns that it can knock you off. After the Red Dragon, Story and Objects name the miniature temple at the far right of the mural hall and guide you to its native interaction line. Press your normal Confirm button to continue. See the release notes.
Version 0.8.8 lets automatic submarine travel dive for you. Select an underwater destination in Locations and start auto walk; navigation reaches valid Sea, uses the configured Cancel action to dive and continues underwater. Events also offers Dive underwater. Locations includes the Lucrecia lake surfacing point, Gelnika, and the present Key and red wreck. Surfacing and boarding use normal controls. Highwind walking guidance now ends at its native boarding contact. See the release notes.
Version 0.8.7 lets you select your parked submarine in Transportation. From the Highwind, navigation finds a grass landing spot with a walking route to the boat. Press Cancel when asked to land, then continue on foot and press Confirm to board. A submarine at an isolated dock remains trackable, with an explanation when no Highwind landing leads to it. See the release notes.
Version 0.8.6 adds world-map submarine destination navigation on both runtimes. Surface travel uses the existing destination menu and native directional controls, checking turning drift against the coastline. Underwater, select the Sunken Gelnika, Key of the Ancients or red submarine wreck through the existing navigation controls. Automatic travel turns and uses native thrust at the entry depth, keeping clear of Emerald Weapon. Above the destination it stops and asks you to descend manually; navigation stays on until the native arrival condition is met. Emerald is announced and selectable in Events only while visibly on screen. Selecting it explicitly allows a deeper approach, which releases input immediately on a visibility gap and stops after a sustained loss. A deep approach that could enter a known wreck first stops with an explanation. See the release notes.
Version 0.8.5 fixes submarine pursuit getting stuck in overview: pursuit uses the game's configured Target action to return to normal view when close, then waits for the game's own lock before giving firing guidance. It also announces manual view changes and recognizes an existing lock in overview. The submarine toggle is now O because P is also Steam's default Pause control. See the release notes.
Version 0.8.4 adds submarine selection, automatic pursuit and spoken firing guidance on both runtimes. Targets come from visible native sightings, including the Huge Materia red leader, and pursuit releases input when the game takes control or its state cannot be read. See the release notes.
Version 0.8.3 reads GP exchange amounts and Battle Square round choices, BP and handicaps, and adds the submarine's spoken instruments and targeting feedback to Steam x64. It also prevents the navigation R3 shortcut from toggling Battle Assist. The reported post-submarine dialogue freeze remains under investigation; this update adds diagnostics for the next tester attempt. See the release notes.
Version 0.8.2 reads the late-game chocobo dismount prompt and its selected choice, including sending the chocobo back to the stables. Changing options speaks the newly highlighted choice. It also corrects a shared reader bug that suppressed world-map dialogue. Both runtimes are supported; live dismount testing is still needed. See the release notes.
Version 0.8.1 repairs Highwind routes to Icicle Inn's North Side and the Great Glacier by guiding you to legal grass near the south entrance, then through town. Landing remains manual. The snowboarding slope also appears in Exits on return visits when the game's prerequisites are met. Both runtimes are covered; live testing is still needed. See the release notes.
Version 0.8.0 restores the first-floor Wonder Square machines on revisits, improves Gold Saucer auto walk and G-Bike steering, and adds Highwind routes to grass landing spots near destinations. The Highwind announces when to land; you press Cancel yourself, then continue on foot. G-Bike attacks remain manual. Both runtimes passed automated checks; live route and arcade testing is still needed. See the release notes.
Version 0.7.9 lists all seven uncollected Great Glacier treasures in Objects throughout the region, including Holzoff's cabin and the snowfield. Selecting one plans a route by estimated walking distance and keeps the destination across screens, battles and the Glacier Map. Alexander's route includes its prerequisites; the ice-floe crossing still requires player input. After an exhaustion collapse, resume auto walk when ready. Complete live routes still need testing. See the release notes.
Version 0.7.8 repairs Gaea's Cliff story progression, cave exit labels, long climbs, and the Ribbon approach. It also adds recorded Limit Break and summon descriptions, reads Materia Arrange and Check, improves dialogue-choice speech, and reports battle drains and status changes at the visible result. Both runtimes passed automated checks; the cave traversal and battle narration timing still need in-game testing. See the release notes.
Version 0.7.7 adds the coffin-room entrance and return path to the Shinra Mansion Exits list, improves autowalk around narrow gaps and NPC counters, and repairs Cid's house door approach. A review of all 43 chronological guide chapters adds or corrects optional interactions throughout the game. Both runtimes passed automated checks; a complete live playthrough remains unverified. See the release notes and guide audit.
Version 0.7.6 adds Icicle Inn's video player, story snowboarding cues, Glacier map and ice-floe feedback, clearer Glacier exits, and snowfield destinations. It also adds Key Items speech and Limit level/gauge information, repairs x64 battle speech recovery, and improves the Old Man's House approach around parked vehicles. Both runtimes have automated checks; these changes still need in-game testing. See the release notes.
Version 0.7.5 repairs the approach to Bone Village's excavation foreman and the vine routes through Corel Valley Cave, including its four treasures. Climb prompts now include the required junction answers. It also corrects Steam x64 controller menu timing, releases buttons promptly when native dialogs take control, and removes duplicate ladder cues. Both runtimes have automated checks; in-game retesting is still needed. See the release notes.
Version 0.7.4 adds a Bone Village dig-spot shortcut in Objects for every treasure search. The Lunar Harp spot appears immediately; other searches reveal their spot after the blast. Auto walk uses the precise digging area, and reward names account for collected items and random chances. It also repairs reproduced world-map stalls, Buggy steering loops, navigation recovery after control pauses, and doorway approaches. Both runtimes are covered; live testing is still needed. See the release notes.
Version 0.7.3 adds all nine Temple doorway chase entrances and both jump ledges, fixes routes ending on the wrong floor, and reads the Ancient's visible movements. Bone Village has ladder and digger targets, excavation stage cues, and feedback on the visible digger sightlines after the blast. Both puzzles still need live tester confirmation. See the release notes.
Version 0.7.2 gives the Temple of the Ancients clock brief clock-time speech, such as "Moving, ten thirty." and "Stopped, ten thirty.", instead of long queued descriptions. The newest reading replaces the last one, the Time Guardian's words are not cut off, and R still gives the full detail of hands, place and bridges. The clock has not yet been checked in a live playthrough. See the release notes.
Version 0.7.1 fixes the Added Effect return route, Corneo's bedside conversation, and stopping within the game's actual interaction range at counters and background objects. It adds missing materia-cave crystals and corrects several scripted approaches. The guide audit covers all 43 walkthrough chapters against native field data in both runtimes; it is not a complete live playthrough. See the release notes and audit ledger for the scope and remaining unverified states.
Version 0.7.0 adds Story guidance and named stairs for all five Wutai Pagoda floors, restores the post-date Cait Sith chase, and reads the Temple clock's hands, bridges and current platform in both runtimes. World auto walk avoids the Gold Saucer quicksand boundary on foot, pauses for native dialogue, and keeps its destination. See the release notes for testing details and the clock's remaining timing requirement.
Version 0.6.9 repairs shared script parsing, movement ownership and live exit conditions across both runtimes. It discovers more scripted paths and contact-based NPCs, keeps auto walk stopped after contact dialogue, and corrects additional Story and interaction steps in Cosmo Canyon, Gold Saucer, Junon, Fort Condor, Lucrecia's cave and the later Corel pursuit. All 702 mapped fields were audited and all 280 Story checkpoints passed; live playthroughs and some optional-object approaches still need verification. See the release notes for the scope and remaining limits.
Version 0.6.8 adds Story guidance through Wutai's materia-recovery quest, including
the pub conversation required before the shop chest. It corrects the shaking-pot
interaction, bell and hidden-room availability, and the return through the hanging
scroll. Gil is announced in the main menu and shop screens that display it; G
repeats the visible balance. Both runtime suites and native route checks passed;
the quest still needs a live playthrough.
Version 0.6.7 corrects Wutai's pass and bridge approaches, improves walking around terrain corners, and reads the controlled enemy's action list after Manipulate. It also restores the weapon seller's conversation and optional interactions near Gongaga, and improves Tiny Bronco steering and shore landings. Both runtime suites and the logged-route replays passed; the fixes still need live gameplay testing.
Version 0.6.6 keeps parked vehicles visible in Transportation after disembarking and fixes the Tiny Bronco shore approach. Auto walk now stops when the game records boarding contact, updates its approach if the vehicle moves, and stops steering if the target disappears or is boarded. Both runtime regression suites and 12 simulated movement cases passed; live boarding still needs testing.
Version 0.6.5 restores Rocket Town's first-visit Story objective, steadies rocket ladder tracking, and improves routes around NPCs in Cid's house. It adds missing later-story connections and side-room return steps, corrects the Highwind destination after Bugenhagen's return, and restores reachable Story steps on the Midgar wall climb. Moving NPCs no longer discard the whole x64 NPC list when the scene's identity and activation state remain stable.
The expanded audit checks 258 progression checkpoints across both runtimes and both installed game archives. Both full regression suites also passed against the packaged mod DLLs. These are offline checks; a complete live playthrough remains unverified.
Version 0.6.4 repairs missing Shinra Mansion exits on x64 and restores navigation to the safe, piano, opened-chest clue and secret passage. Room descriptions are remembered per save across restarts, and auto walk keeps its target across battles. Cosmo Canyon routing and wall clearance while running also receive fixes. The full Vincent recruitment sequence still needs live testing.
Version 0.6.3 reads the Shinra Mansion safe's visible dial number on both runtimes. Left/Right turns the dial and OK confirms a number. Speech updates while turning and when the dial stops; the countdown stays silent during the dial so it cannot interrupt the numbers. Use normal game speed for this timed puzzle. Automated checks passed; live safe gameplay still needs confirmation.
Version 0.6.2 repairs missing Story steps around Nibelheim, the return to Gold Saucer, the Temple, the Lifestream and late Highwind visits. It adds native state-dependent guidance through 26 Great Glacier fields to the northern snowfield, including the reused corridor screens. The optional ice-floe puzzle still requires its native puzzle controls.
The town pass adds 65 objects/interactions and 15 NPC labels. Gold Saucer's seven Terminal Floor platforms are available in Exits independently of Story priority. Availability still follows the game's native actor, line and progress state.
Auto walk no longer alternates between arrived and resumed at an unchanged LINE interaction approach. North Corel's small-room fallback has enough bounded search time to find its tested doorway route and keeps a validated path when optional path shortening runs out of time. Existing observatory door handling and the first-visit Talk to Red XIII target remain included on both runtimes.
The 0.6.2 checks read 702 native fields, replayed 54 selected progression states in both runtimes against both installed archives, and tested the added routes and interactions. These checks do not establish a complete live playthrough.
- No complete playthrough has been done. Later story guidance has offline checks, but later chapters still need playtesting and further accessibility work.
- The Steam 2026 x64 runtime shares its code and its regressions with the x86 runtime but has had much less live play. It needs broader testing.
- Auto walk's improvements are proved by offline route and movement fixtures, not by play. Walking while holding the Run button, and a milder back-and-forth dither at some corners, still need testing and reports.
- Description coverage is limited to the included movie, action and arrival cues; scenes without authored descriptions still need work. In particular, in-engine character animation - poses, gestures and reactions - is largely undescribed, because an animation number in the field script is not evidence of what it looks like.
- The navigation changes in 0.6.2 were verified against the installed game's own data and by automated checks. They still need reports from real sessions.
- Optional exploration, side quests and missable content are far less covered than the required route.
- Windows 10 or Windows 11.
- A legal Steam installation of the original Final Fantasy VII.
- Optional: 7th Heaven for the legacy x86 game path. Its normal FFNx runtime is managed by 7th Heaven, not by Blind Soldier.
Final Fantasy VII is the only software a native Steam player must install first. Players using legacy x86 through 7th Heaven need the official stable 7th Heaven 4.5.2 release, which owns its FFNx runtime. The portable ZIP contains Reloaded-II, Reloaded Shared Hooks, Prism, and private x86 and x64 .NET runtimes. Development builds targeting .NET 10 are not part of this release's verified compatibility set.
Blind Soldier contains separate x86 and x64 backends. Its bootstrap validates
the legacy Steam 2013 runtime (ff7_en.exe), converted x86 runtime (ff7.exe),
or current native Steam 2026 runtime (FFVII.exe) and refuses unknown builds
instead of reading unverified game memory.
Choose one download from the Blind Soldier Releases page:
- Blind-Soldier-Portable.zip is the complete dual-runtime package. Use it for Steam 2026 x64 or when one extracted package must support both x86 and x64 installations.
- Blind-Soldier-2013-x86-Portable.zip is the smaller legacy-only package. Use it for the 2013 x86 game, including stock 7th Heaven/FFNx. It deliberately contains no Steam 2026 launcher or x64 files.
- Close Final Fantasy VII and 7th Heaven.
- For Steam 2026 or direct 2013 launch, extract every file in the selected ZIP
directly into the Final Fantasy VII game folder. Do not extract it into a
separate subfolder. For 7th Heaven, extract the x86 ZIP into the directory
that contains its
workingdirfolder, not insideworkingdiritself. - Start the game normally from Steam or 7th Heaven.
There is no installer to run, no administrator prompt, and no registry change.
The dual-runtime archive supports Steam 2026 x64, stock 7th Heaven's sibling
workingdir layout, and 7th Heaven's nested ff7\workingdir layout. The x86
archive supports direct 2013 launch and the sibling workingdir layout while
omitting the 2026 launcher, nested 2026 compatibility layout, x64 backend, x64
Reloaded loader, and x64 private .NET runtime. Neither archive replaces or
edits a 7th Heaven or FFNx file. Never run a file under
Blind-Soldier\Bootstrap yourself.
Warning
If a supported layout-scoped path already contains an unknown
version.dll, move it to a safe backup before extraction. These paths include
the executable-specific .local folders and the stock 7th Heaven sibling
workingdir. Blind Soldier does not merge with or overwrite another Version
proxy safely.
For x86 FF7, the proxy forwards all 17 Windows Version APIs. If FFNx redirects
the system request back to the proxy, Blind Soldier makes a private byte-for-byte
copy of this PC's own Windows library under
%LOCALAPPDATA%\Blind Soldier\NativeCache and loads that distinct copy. The
release does not ship a Windows system DLL.
- To update or repair, close the game and extract the newer ZIP over the same game folder.
- Keep your settings and room history when updating. Copy the entire
Reloaded-II\Mods\ff7.accessibility.reloaded\Configurationfolder somewhere safe, extract the new ZIP, then restore your saved folder. The ZIP includes default settings that can overwrite your language, feature toggles, volumes and timing choices inconfig.json. Theroom-descriptions.jsonfile stores which rooms have already been described for each save. - To remove the mod, close the game and delete the files listed by
portable-manifest.json, then restore any launcher or.local\version.dllyou backed up before extraction. - Logs are written beneath
Blind-Soldier\Logsin the game folder. - Steam Verify integrity of game files may restore the stock launcher. Extract Blind Soldier again afterward to restore launcher accessibility.
- Native Steam 2026 x64: launch Final Fantasy VII normally from Steam. The
included FFVII launcher is screen-reader accessible, and its Play button
loads the x64 accessibility backend automatically. Starting
FFVII.exedirectly is unsupported because it bypasses that accessibility boundary. - Legacy x86 with 7th Heaven: launch the game through 7th Heaven as usual. 7th Heaven manages the normal FFNx installation for that converted game. Blind Soldier never ships or overwrites FFNx files, and its compatibility path does not modify the stock 7th Heaven application.
- Legacy x86 without 7th Heaven: extract the x86-only ZIP beside
ff7_en.exe, then launch the legacy game normally. Its siblingversion.dllloads the accessibility backend without a registry change.
On a successful load, Prism announces that Final Fantasy VII accessibility is active.
Blind Soldier supports the current Windows game's English, French, German,
Spanish, and Japanese releases on both the x86 and x64 backends. It also
supports the Bunio Polish fan translation's native dialogue and item text. With the
default "GameLanguage": "auto" setting, it detects the active language from
the game executable, Steam manifest, installed language data, and the known
Polish translation font or kernel text. Menus, dialogue, item names, spell
names, and other native game text are read from the matching localized FFVII
data rather than translated or guessed by the mod.
Blind Soldier's own generated messages—such as navigation, battle status, and
accessibility prompts—use its matching en, fr, de, es, or ja
translation catalog. If an individual generated description has not been
translated yet, Blind Soldier speaks that message in English so the player
still receives the visual information. The opening movie's recorded audio
description is English in this first multilingual test build.
To override automatic detection, edit
Reloaded-II\Mods\ff7.accessibility.reloaded\Configuration\config.json and set
GameLanguage to en, fr, de, es, ja, or pl. The full names
English, French, German, Spanish, Japanese, and Polish are also
accepted. Use auto to restore detection. The Polish profile deliberately uses
the translation's English asset paths while applying its Polish font mapping;
Blind Soldier's generated prompts and recorded opening description remain in
English unless a Polish override catalog or recording is supplied.
Translators can override or extend generated messages without rebuilding the
mod by creating
Reloaded-II\Mods\ff7.accessibility.reloaded\Languages\<code>.json. The file
must be a JSON object whose keys are the original English messages and whose
values are their translations. Invalid or oversized override files are ignored
and reported in the Blind Soldier log.
End users should use the portable ZIP above. To build it from a source checkout, install the .NET 9 SDK, Visual Studio C++ Build Tools, and PowerShell, then run:
.\Build-BlindSoldierPortablePackage.ps1 `
-OutputPath .\artifacts\Blind-Soldier-Portable.zip `
-Version 0.8.6
.\Verify-BlindSoldierPortablePackage.ps1 `
-ArchivePath .\artifacts\Blind-Soldier-Portable.zip `
-ExpectedVersion 0.8.6
.\Build-BlindSoldier2013PortablePackage.ps1 `
-SourceArchivePath .\artifacts\Blind-Soldier-Portable.zip `
-OutputPath .\artifacts\Blind-Soldier-2013-x86-Portable.zip `
-Version 0.8.6
.\Verify-BlindSoldier2013PortablePackage.ps1 `
-ArchivePath .\artifacts\Blind-Soldier-2013-x86-Portable.zip `
-ExpectedVersion 0.8.6 `
-ExpectedSourceArchivePath .\artifacts\Blind-Soldier-Portable.zipThe builder compiles the launcher, x86/x64 brokers, and x86 Version proxy from source,
then packages the pinned Reloaded and private .NET dependencies. The second
builder derives the x86-only archive from that verified dual-runtime package;
it does not rebuild or substitute the native proxy. The x86 Reloaded
compatibility patch and its exact build instructions ship in LICENSES; 7th
Heaven manages FFNx and remains unmodified.
These keys work only while the Final Fantasy VII game window is in the foreground. The normal game controls are unchanged.
| Key | Action |
|---|---|
R |
Repeat the last message Blind Soldier spoke |
G |
Read your current gil while a screen that shows it is open: the main menu, or a shop's buy list, buy quantity, materia sale list, or item sale quantity window |
U |
Previous navigation category |
O |
Next navigation category |
J |
Previous target in the selected category |
L |
Next target in the selected category |
K |
Repeat the selected target, or report the active route and progress. On a supported minigame or activity screen, report its current state instead |
I |
Start navigation to the selected target, or stop the active route |
P |
Start or stop automatic walking to the selected navigation target |
F5 |
Turn route progress indicators off or on |
F6 |
Select the previous progress interval |
F7 |
Select the next progress interval |
F8 |
Toggle automatic steering during the motorcycle minigame |
Progress intervals are 5, 10, 15, and 20 percent. F6 and F7 wrap
around at either end. Progress and highway-steering shortcut changes are saved
in Configuration/player-settings.json and apply over the installed configuration
at the next launch.
Opening the main menu announces your gil once, after the first menu item.
Returning from a submenu does not repeat it. In shops, the screens that show
your gil already include it in each item announcement. G reads the balance
as it is at that moment, so it reflects a purchase or sale straight away. It
stays silent where the game does not show your gil, such as fields, the world
map, main-menu submenus, and a shop's Buy, Sell, and Exit choice.
Hold either trigger, LT/L2 or RT/R2, to browse navigation in fields, on the world map, and in the submarine mission. Automatic movement pauses while you browse.
| While holding a trigger | Action |
|---|---|
| D-pad Left / Right | Previous / next category |
| D-pad Up / Down | Previous / next target |
| L3, click the left stick | Start spoken guidance |
| R3, click the right stick | Start automatic travel |
| B / Circle | Stop navigation and automatic travel |
Release the trigger to return to ordinary play. After starting or stopping a route, release it before browsing again. D-pad selection repeats after a short hold. The controller uses the same targets as keyboard navigation. In the submarine mission either stick click starts pursuit; firing remains manual.
In battle, hold LT/L2 for party information. D-pad Left/Right selects the previous or next present member, Up reads HP, MP and limit, Down reads buffs and debuffs, and Y/Triangle reads the limit gauge. These readouts use the game's visible party state and do not select a battle action.
Accessibility chords and their release tails are captured before the game reads them, including buttons and movement axes. With multiple controllers, a fresh trigger press selects the browsing controller when the previous controller has released its controls. R3 is reserved on every controller while the mod's capture hooks are active, even outside a trigger chord, because Steam's Battle Assist shortcut toggles on release. Use the game's Boosts menu for Battle Assist.
Press F11, or hold both triggers and press Y/Triangle, to open spoken settings.
The controller menu stays open when you release the triggers. It stays audible
with Mod speech turned off, and automatic movement pauses while it is open.
| Action | Keyboard | Controller |
|---|---|---|
| Previous / next setting | J / L | D-pad Up / Down |
| Decrease / increase value | U / O | D-pad Left / Right |
| Toggle or activate | I | A / Cross |
| Repeat setting | K | Read the setting again by selecting it |
| Close | F11 | B / Circle |
Description volume is the first setting: 50-300 percent in steps of 25. It changes currently playing recorded descriptions as well as later playback; screen-reader volume remains separate. A limiter controls boosted peaks.
Reset battle descriptions is the second setting. Activate it twice to confirm the reset for the current save. Summons and limits are described again when they next occur. A recording already in progress finishes normally. Other saves and area-description history are preserved.
All player toggles are listed. Settings announce when a change requires restarting
the game or is unavailable in that runtime. Choices are saved in
Configuration/player-settings.json; config.json remains the base configuration.
The installer preserves overrides and description histories on updates.
These keys are active only during battle. L checks the selected member's
limit gauge in battle and remains the next-target navigation key everywhere
else.
| Key | Action |
|---|---|
1 |
Select and identify party member 1 |
2 |
Select and identify party member 2 |
3 |
Select and identify party member 3 |
H |
Read current and maximum HP |
M |
Read current and maximum MP |
D |
Read active debuffs and other harmful conditions |
S |
Read active buffs |
L |
Read the native limit gauge percentage |
An empty numbered slot is announced as unavailable and does not replace the last valid selection. Buff and debuff queries explicitly say when there are none.
Blind Soldier uses the same navigation controls in fields and on the world map. You select a category, select a target, and then start a route.
- Press
UorOto choose a category. - Press
JorLto browse targets. Each target is spoken with its name and an initial direction or distance when that information is available. - Press
Ito start a route you will follow manually, or pressPto start the route and walk it automatically. - Follow the spoken directions when walking manually. Press
Kat any time to hear the target, current direction, and route progress again. - The route completes when you reach the target's usable interaction area or
pass through its destination exit. Press
Ito cancel sooner.
Changing category or target while navigation is active locks the route to the
new selection. On the world map, targets that cannot be reached by the current
character or vehicle are filtered out. In a field, a visible target may remain
selectable but report direction unavailable when no safe walkmesh route can
currently be built.
- Exits: doors, field transitions, and other ways into a different area.
- Story: the next available interaction or location that advances the current sequence.
- NPCs: visible characters that can currently be approached or spoken to.
- Objects: items, materia, chests, switches, ladders, elevators, and other useful interactable points.
- Locations: towns, caves, and other entrances; underwater, the Gelnika, Key of the Ancients and red submarine wreck when available.
- Story: the currently available story destination.
- Transportation: vehicles and other usable transport.
- Events: temporary or progression-dependent world-map targets.
- Chocobo Tracks: reachable track areas used when catching chocobos.
The world map is divided internally into connected regions, but those regions are not another category you must manage. Blind Soldier shows only targets the current character or vehicle can reach and finds the connected route between regions when one exists.
In fields, the mod reads the game's native walkmesh: the same triangles, boundaries, ladders, jumps, and elevations that control where Cloud can walk. On the world map it reads the native map triangles and their connections. A route is built from the player's live X, Y, and Z position to the chosen target.
The route then combines connected waypoints that continue in the same usable
direction. That is why a wide, clear corridor can be announced as up 20
instead of repeating several shorter up 4 instructions. A new direction is
spoken when the route actually turns, changes elevation, enters a ladder or
other traversal link, or must go around an obstacle.
The spoken number is an approximate travel-distance count, not an exact number of key presses. Walking, running, animation speed, and the shape of the field can change how many physical steps it takes. Keep moving in the announced direction until the next instruction, arrival message, or progress change.
Navigation follows live movement rather than blindly playing a fixed list. If you stray far enough from the route or a live obstacle blocks the intended path, it can safely recalculate. Small movement inside a wide clear path should not cause constant corrections. During supported ladders, the spoken direction describes the control input needed to continue along the route, including horizontal climbs. Routes pause across battles and other temporary ownership changes and resume when the game returns to the navigable field or world map.
After selecting a destination with J or L, press P. Blind Soldier starts
the same native-walkmesh route used by spoken navigation and holds only the
directional controls needed for the current route segment. Press P again to
stop automatic movement without changing the selected target.
Field auto walk never presses the action or confirm button. At a door, switch, chest, NPC, ladder entrance, or other interaction point, it releases the directional keys and leaves the interaction to you. Once Cloud is mounted on a supported ladder, auto walk can follow the route's live climb direction, including a horizontal climb.
Underwater submarine travel uses Confirm for thrust and Left/Right to turn, as the game requires. It rises to entry depth before ordinary travel and stops above underwater destinations for your manual descent with Up. This avoids Emerald during automatic travel without reading its hidden position. Final descent can encounter Emerald; visible sightings are announced. Leave depth controls alone during auto travel: diving manually can encounter Emerald too. Selecting a visible Emerald in Events allows automatic descent toward it, and losing sight pauses input immediately; a sustained loss stops that route. Dive/surface and interactions remain manual.
Surface submarine travel uses directional controls without automatic Confirm. The route stays on submarine water and checks movement while the camera turns. Getting off at a port remains manual; destinations without a water route are reported as unreachable from the submarine.
On legacy FFNx, combining external world meshes and analogue controls replaces the submarine controls. Auto travel explains how to restore the supported settings and restart; spoken navigation remains available.
For safety, all directions are released during dialogue, menus, movies, battles, control locks, loading transitions, focus loss, unreadable game state, route failure, and arrival. A route paused by a normal battle or transition can resume when the same valid route returns. Changing the category or target automatically stops the current auto walk before selecting a different route.
Route progress uses a native Windows progress control so each screen reader can announce it using its own familiar progress behavior. It applies to every field and world-map route and runs from 0 to 100 percent.
Keeping progress indicators on is strongly recommended. Directions can sound circular in stairs, multi-level rooms, winding passages, and wrapped world-map regions. The progress value tells you whether you are genuinely advancing even when the geometry turns back toward an earlier compass direction.
Progress is based on your position along the whole connected route, including elevation. If you backtrack toward the start, the value goes down; this is intentional. When you return to the route and move toward the destination, it rises again.
- Press
F5to turn progress off. PressF5again to restore it at the active route's current value. - Press
F6for the previous interval orF7for the next interval. - The default is every 5 percent. Choose 10, 15, or 20 percent if your screen reader announces progress more often than you prefer.
Turning the progress indicator off does not stop navigation or its spoken directions. It only hides the native progress control for the current session.
- Press
Kto repeat the active route status before changing direction. - If you are touching a wall or object, step away from it and allow the route a moment to update.
- On a ladder, continue with the announced climb direction until the landing transition completes.
- Press
Ionce to stop and again to rebuild the route from your current position. - If an exit is announced as held shut, the game is keeping it closed for the scene that is running. The target stays selected; wait for the scene to finish and the route continues.
- If the problem repeats, report the field or world-map location, selected category and target, whether you were walking or running, and what was spoken.
While you are riding in a race, Blind Soldier reads the parts of the screen a sighted player is watching. Everything below comes from your own chocobo's record - the same values the game's HUD is drawn from. It never reads a rival's hidden speed or stamina, never infers anything from which key you pressed, and never presses anything for you.
Spoken as it happens:
- Automatic or manual control, when the race opens and every time it changes. This is the mode the HUD's own sprite shows, not a guess.
- Speeding up and slowing down, from the speed that actually moves your chocobo rather than from a button you asked with, so a request the game refuses is not announced as a change. Announcements are spaced by about a second, and a rough stretch of track cannot flood you; a genuine reversal caught inside that gap is still spoken, and a change that is undone before it can be spoken is dropped rather than reported late. Picking the pace up again after holding it steady is announced again.
- Dashing, once per dash, and only when the game accepted it and stamina is going into it.
- Stamina, as the gauge's own percentage when it crosses a quarter, when it empties, and when it comes back up. Running out again after a small recovery is announced again. If the gauge cannot be read at all it is called unknown, never empty.
- Your own place, when it changes, and your finish with its place. If the ranking strip settles on a different place a moment after you cross the line, the corrected place is spoken.
- The full finishing order is announced during a race you are betting on. While you are riding it is held back unless your own place moves, because it was drowning everything above.
Press K at any time during a race for the whole state at once: the control
mode, your place, the stamina reading, whether you are dashing, the full
finishing order, and the other chocobos' positions relative to the one the
camera is following. K also reads the betting screen and the results screen.
Nothing is spoken while the screen is faded to black, on the running readout or
on K, because a sighted player is being shown nothing either.
This README explains the accessibility layer, not how to beat Final Fantasy VII. Use a walkthrough or strategy guide for combat tactics, puzzle solutions, missable items, and story choices. Blind Soldier reports available game information and navigation targets without choosing those decisions for you.
- Confirm that Reloaded-II loaded
ff7.accessibility.reloadedfor the game process you launched. - Confirm that the game window is in the foreground.
- Make sure your screen reader is running before launching the game.
- Check
Configuration\config.jsoninside the installed mod and make sureEnableSpeechistrue.
Navigation is intentionally disabled while another application has focus and
during menus, dialogue, movies, battles, or scripted control locks that own the
same game state. Return to controllable field or world-map movement and press
K, I, or P again.
The bootstrap supports exact verified FFVII builds and fails closed after an
unknown game update. Do not bypass that check. Include the spoken error, the
matching file under Blind-Soldier\Logs, and your executable version in a bug
report.
Close the game, preserve the existing version.dll, and determine which mod owns
it before extracting Blind Soldier. The portable package deliberately does not
guess how to combine two proxy DLLs.
Download the ZIP and .sha256 sidecar again from the same GitHub release. Do
not use an archive whose SHA-256 does not match the sidecar.
Open a GitHub issue and include:
- whether you used legacy x86/7th Heaven or native Steam 2026 x64;
- the field, menu, battle, or world-map location;
- the exact action and keys that led to the problem;
- what Blind Soldier said and what you expected it to say;
- the matching bootstrap or Version log under
Blind-Soldier\Logs; ff7_accessibility_reloaded.logfromReloaded-II\Mods\ff7.accessibility.reloaded;- the matching Reloaded-II log from
%APPDATA%\Reloaded-Mod-Loader-II\Logs.
Do not attach a game executable, copyrighted game archive, account credential, or other private data.
Blind Soldier is created by buu420 with development assistance from Codex. It builds on Reloaded-II, Prism, FFNx interoperability work, Kujata metadata, and accessibility audio derived from the supported game. Third-party components, game-derived material, names, and assets remain subject to their respective rights and licenses.
Final Fantasy VII and related names and assets are trademarks or copyrights of their respective owners. Blind Soldier is an independent accessibility project and is not affiliated with or endorsed by Square Enix.