Quake 3 VR (a.k.a. q3vr) is a PCVR port of Quake 3 Arena game based on:
ioquake3- community maintained fork of idTech3 engine,Quake3Quest- port ofioquake3to Quest 2/3 mobile headsets.
It includes several bugfixes, improvements and QoL features built specifically for VR.
- Full Single-Player campaign
- including full 6DoF support
- Multiplayer support
- including crossplay with PC and Quest players
- support for playing on servers with simpler mods like OSP, unfreeze, CA, etc.
- Custom Virtual Screen for displaying 2D content
- Lots of VR comfort and QoL features including:
- full haptic effects support
- weapon selection wheel
- zoom with reticle for railgun
- comfort options like vignette, height adjustements, weapon lasers, etc.
Caution
Please bear in mind that this port is currently in beta state, which means that there may be some bugs and compatibility issues that will be fixed over time.
To download and set up the game:
- Go to Releases page and download the most recent release and install (or extract) to directory of your choosing
- If you own full version of the game, place
pak0.pk3file from original game in thebaseq3/subdirectory
then any time you want to play simply:
- Start your VR runtime (e.g. SteamVR)
- Run
q3vr.exe
Tip
It's highly recommended to go through configuration options in Setup menu -
before jumping into the game - to set controls and settings to your liking.
Important
This project is currently in beta. Feedback from users is required to make any further improvements and fix bugs. If you've spotted any problems or have any improvement ideas, please open GitHub issue with details and/or reach out on Discord.
For your convienience this repository comes with a pre-defined template for creating issues which should make the process easier.
Please remember to include any details that may help reproduce and analyze the problem such as logs, your computer configuration, etc.
By default the game provides default bindings for common actions based on your controlers.
Bon left hand opens/closes menu or goes one level up (likeESC)Bon right hand resets position of Virtual ScreenTriggeron active hand - selects currently selected option (likeLMB)Triggeron inactive hand - makes this hand active
- Free cam
- Movement forward/backward/left/right is based done with left thumbstick
- The exact orientation is based on left controller's orientation
- First person spectator
Bon right hand resets the position of Virtual ScreenAon left hand changes spectate mode (free cam/first person/...)Triggeron left or right hand changes the person thay is spectated
See table below for default mapping. Some of these will be affected by changes
made in the in-game Setup configuration menus.
If you wish to change bindings, you can try doing so from your
VR runtime's input configuration screen (e.g. Steam VR input bindings) or
manually set specific actions to given keys. To do so, you need to create
autoexec.cfg file in the baseq3/ subdirectory and set custom bindings with:
set vr_button_map_<key> "<action>"
These are the default mappings:
| Key | Action | Notes |
|---|---|---|
PRIMARYTRIGGER |
"+attack" |
Fire weapon |
SECONDARYTRIGGER |
"+moveup" |
Jump |
PRIMARYTHUMBSTICK |
"" |
|
SECONDARYTHUMBSTICK |
"+scores" |
Player list |
PRIMARYTRACKPAD |
"+scores" |
Player list |
SECONDARYTRACKPAD |
"togglemenu" |
Menu/back |
PRIMARYTHUMBREST |
"+alt" |
Enable alternative bindings |
SECONDARYTHUMBREST |
"+alt" |
Enable alternative bindings |
PRIMARYGRIP |
"+weapon_select" |
Opens weapon selection wheel (if enabled) |
SECONDARYGRIP |
"+weapon_stabilise" |
Triggers weapon stabilization (if enabled) |
RTHUMBLEFT |
"turnleft" |
Snap/smooth turn left |
RTHUMBRIGHT |
"turnright" |
Snap/smooth turn right |
RTHUMBFORWARD |
"" |
|
RTHUMBBACK |
"" |
|
Y |
"togglemenu" |
Menu/back |
X |
"+button2" |
Use item |
B |
"+movedown" |
Crouch |
A |
"+moveup" |
Jump |
Please refer to Quake 3 Quest website for more details.
If you're having some problems consider:
- Verifying that all necessary PAK files are located in
baseq3/subdirectory, i.e.pak0.pk3, ...,pak8.pk3andpakQ3VR.pk3 - Removing all user config files from your profile's directory
- On Windows this will be
%appdata%\Quake3\(usuallyC:\Users\$user\AppData\Roaming\Quake3) - NOTE: this will remove your local configuration along with all the mods and map files you downloaded. Consider making a backup
- On Windows this will be
- Checking if the problem occurs only in Single Player campaign, Skirmish mode, Multiplayer or in all of these modes
- Checking previous issue reports
- Updating drivers for your GPU, etc.
- Checking if there isn't a newer verions of
Q3VRavailable which may already have a fix for your problem- You can also check older versions to see if it worked before
- [BETA] During beta, the game will open a console in the background with logs - they may contain something that will hint what's the problem
If you're unable to find solution to your problem yourself, please reach out to the community (see section below) or create an issue in this repository. Please remember to provide as much details as you can which will help us understand the problem and find a solution for it.
If you want to reach out to other Quake 3 Arena players - either desktop or VR - consider these joining these communities:
- Quake 3 community
ioquake3discord -#ioquake3channelioquake3discourse forum
- Quake3 VR-specific community
Quake3Questdiscord -#q3-pcvrchannel
This project uses CMake so building it on supported platforms should be straightforward, e.g. on Windows with MSVC you can build it with:
cmake -S . -B build
cmake --build build --config ReleaseCheck out GitHub Actions workflow for reference.
Any contributions are welcome! Before making bigger changes, please discuss them first to ensure that they align with our goals.
If you like what I'm working on and would like to support me or my future work on VR games, ports or tools you can do so via:
Please also consider supporting authors of ioquake3 and Quake3Quest
projects.