Repository navigation
Releases
v1.0.2
Fixes two issues:
culling no longer causes pop-in straight ahead, so boost 30 is fine again. You can now use the 30 culling for full 172 degree wide view and not suffer from any extra front character NPC pop in.
Fixed the dialog wheel now shows with in-game MSAA (High / Very High)
Initial Release
SWTOR VR v1.0
This mod may be against the game's ToS. SWTOR seems to take a dont flaunt it dont ban it approach, but account bans are always possible, use at your own risk.
Play Star Wars: The Old Republic in a VR headset: full stereo 3D with head tracking, the game's HUD on its own panel in front of you, and cutscenes/loading screens on a virtual theater screen. Works with any OpenXR headset through SteamVR.
Before you play
- Game must be in windowed mode. (Not fullscreen, not fullscreen windowed.) Render scale only works in windowed mode.
- If the game crashes, never, ever send the bug report to the devs. Just close that dialog.
- Set the in-game FPS limit to 90 fps and aim for a steady 90 fps to match your headset's refresh rate.
- Turn off VSync in the game's settings.
- The game is played with mouse / keyboard, or your favorite Xpadder profile on a controller.
- There's no true first-person mode, but you can zoom the camera all the way in with the scroll wheel to get close.
- If anything looks wrong in VR, press F1. It switches to flat mode at any time: the game is shown on a big screen in front of you (VR off, everything works like on a monitor). Press F1 again to go back to VR.
Requirements
- Windows 10/11 and the 64-bit SWTOR client. Tested with the standalone launcher; the Steam version uses the same
retailclientfolder and should work the same way. - SteamVR (or another OpenXR runtime) set as the active OpenXR runtime, headset connected before starting the game.
Install
- Find the folder that contains
swtor.exe:<SWTOR install folder>\swtor\retailclient\. - Extract the zip into that folder, so you end up with:
retailclient\d3d9.dll retailclient\swtorvr\swtorvr_core.dll retailclient\swtorvr\XrBridgeHost.exe - Start SteamVR, then start the game as usual. The settings files (
swtorvr\config.txt,swtorvr\loader.txt) are created on the first start.
Uninstall: delete d3d9.dll and the swtorvr folder from retailclient.
Keys
| Key | Action |
|---|---|
| Insert | Open / close the mod menu. Up/Down select, Left/Right change a value, Enter activates, Page Up/Down switch pages, Delete resets an option to its default |
| F1 | Switch between VR and flat mode (game on a big screen) at any time; use it whenever something looks wrong |
| F2 | Recenter the view |
All three keys can be changed in swtorvr\config.txt (MenuKey, FlatToggleKey, RecenterKey). Quick recenter: Insert, Enter, Insert.
Features
- Stereo 3D with head tracking on the game camera; adjustable world scale.
- HUD layer: the whole game UI is drawn on a panel in front of you (distance, width, height and follow-head adjustable). The game's own mouse pointer is shown on it.
- Theater screen for loading screens, movies and anything that isn't 3D; F1 switches to it on demand.
- Render scale: renders the 3D scene above your window resolution for a sharper image; the HUD keeps its normal layout.
- Culling FOV boost: the game normally stops drawing objects outside the flat-screen view, so things vanish when you turn your head. The boost widens what the game draws, and clicking on world objects (NPCs, taxis, loot) still works.
- Luma sharpen (ReShade LumaSharpen algorithm) to counter the game's blurry anti-aliasing. Try strength 6, clamp 0.25, radius 1.
- Pacing to the headset: one game frame per headset frame, so 90 or 45 fps stay smooth.
- Keep mouse in game window: while in VR the game window stays above the Windows taskbar and the mouse can't wander onto the desktop. Alt-Tab releases it.
- Update-resistant: hooks the game's renderer by exported names and finds the rest by signature at runtime, so most game patches shouldn't break it.
Settings
Everything in the Insert menu is saved to swtorvr\config.txt. Defaults:
| Page | Option | Default |
|---|---|---|
| Display | Render scale | 1.0 (1.0–3.0) |
| Display | Culling FOV boost | 30 |
| Display | World scale | 1.0 |
| Display | Head tracking / Stereo 3D / Sky fix | On |
| Display | Keep mouse in game window | On |
| Image | Luma sharpen strength / clamp / radius | 0 (off) / 0.035 / 1.0 |
| HUD | Distance / width / height offset (m) | 1.40 / 1.60 / -0.05 |
| HUD | HUD follows head | Off |
| HUD | Draw mouse cursor / cursor size | On / 32 |
| Theater | Distance / width (m) | 2.5 / 3.2 |
| Theater | Switch to theater after (ms without VR) | 500 |
| Debug | Save logs for sending / Reload mod now | buttons |
Tips and known issues
- SWTOR logs you out after a while without input; the mod doesn't keep you active on purpose.
- Render scale is ignored in fullscreen windowed mode. Use windowed.
- Very high render scales cost a lot of GPU. Raise it until you can't hold 90 fps, then step back.
- Rarely, the game window has been reported to shrink to just its title bar after a resolution change. If that happens, restart the game.
- Problems? Use Debug → Save logs for sending in the menu, then attach
swtorvr\logs\swtorvr_core.log(andswtorvr_loader.log,xrhost.log) to a GitHub issue. If the game crashed,swtorvr_core.logends withcrash:lines that pinpoint the cause.
Source and license
Source code: https://github.com/mark-mon/swtor-vr-mod. GPL-3.0. Includes Dear ImGui (MIT), MinHook (BSD-2-Clause) and the OpenXR SDK (Apache-2.0).