Skip to content

Releases

v1.0.2

Choose a tag to compare

@mark-mon mark-mon released this 01 Nov 11:14

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

Choose a tag to compare

@mark-mon mark-mon released this 01 Nov 00:39

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 retailclient folder and should work the same way.
  • SteamVR (or another OpenXR runtime) set as the active OpenXR runtime, headset connected before starting the game.

Install

  1. Find the folder that contains swtor.exe: <SWTOR install folder>\swtor\retailclient\.
  2. Extract the zip into that folder, so you end up with:
    retailclient\d3d9.dll
    retailclient\swtorvr\swtorvr_core.dll
    retailclient\swtorvr\XrBridgeHost.exe
    
  3. 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 (and swtorvr_loader.log, xrhost.log) to a GitHub issue. If the game crashed, swtorvr_core.log ends with crash: 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).