Showing results for 
Search instead for 
Did you mean: 

DOOM 3 BFG - VR ( V0.021 Updated 3-12-2017)

Heroic Explorer

Latest Release And Downloads:

Latest Version: V0.021

Updates from v0.20:

Edit: Many many thanks to 2EyeGuy for all his hard work on the .020 release, and for handling bugfixes and compiling this release while I was on vacation


QuakeCon style teleport. ( jkchng )

Fixes from v 0.020

Fix issue #107: use other hand for movement.
Fix issue #97: Fix talking waking monsters.
Fix issues 100 & 106: Change language detection to use sound files. Issue #100 and Issue #106            
Fix issues #113 and #27: Fix timing issues.    
Improve issue #27:Disable ASW and make it a menu.
Improve issue #103:    Fix loading old savegames with different scripts.
Fix crash loading 020 save games, and allow old versions.
Loading RBDoom savegames works now.
"Fix" loading script objects of different sizes.   
Fix save and load menus.    
Adjust installer, Readme, and other docs for v 0.21 Alpha.
Work Around Movement Popping.

Known issue: After saving a game it might appear greyed out in the load game list and be unable to find it. To fix this issue, either use this console command before opening the load game menu, or exit the program and restart it:
This issue is fixed in the next version.

Previous Release:

Doom 3 BFG VR: Fully Possessed V0.020 Alpha

This is sizeable update with many new features and improvements.

New features include:

Teleportation is now supported, including a parabolic aiming beam.

Voice commands are supported - say a weapon name to select it!

Flicksync mode based on Ready Player One.

Many aids to prevent motion sickness, including a new Third Person movement mode.

Many other improvements have been made, please see the readme.txt for a full feature list and documentation.

Default Configuration

No single controller configuration or comfort setting is going to accommodate all users equally,

so Doom 3 BFGVR: Fully Possessed defaults to a comfort oriented mode.
In the default mode, comfort ( or snap ) turning is enabled by default,
and artificial movement uses the Third Person mode. These settings
should provide a comfortable experience for almost all users. These
settings may be easily changed or disabed in game if they do not suit
your needs. From the System Menu ( say 'System', or press ≡ (menu) on
the left Touch or Right Vive ), then select 'VR Options' then 'Comfort +
Safety Protocols'. From this menu, use the 'Turning' options to change
the turning mode (' smooth 'is standard analog turning - caution -
smooth turning causes motion sickness in most people ). Use the 'Motion
Sickness Aid' options to change the comfort settings. 'None' disables
all motion aids, but this will induce motion sickness in the vast
majority of people.

Default Controller Layout

The default controller layout can also easily be changed in game. Any
controller button or Stick/Pad axis can be mapped to any in game action,
to easily create a controller layout tailored to your liking. From the
System Menu ( say 'System', or press ≡ (menu) on the left Touch or
Right Vive ), Select 'Controls' then 'Key Bindings', Scroll through
the list and highlight the action you would like to change the control
for. Press the trigger to enter 'bind' mode, then simply press the
controller button or stick/pad axis you would like to assign to that
action. If the button or stick is already assigned to a different
control, you will be asked if you are sure you want to re map, otherwise
you are done! A button or joystick/pad axis can be unbound from an
action the exact same way.

Installing Doom 3 BFG: Fully Possessed.

There are two options for installing the mod: A self-extracting installer, or a .zip file.

Due to the inclusion of new player AAS files needed to support teleportation, the size of the mod has

increased a fair amount. You will need about 1GB of free hard drive space to install the mod.

Installing with the self-extracting installer

Download the file 'Doom3BFGVR_Fully_Possessed_Alpha020_Installer.exe' from the release page at the top of this post and execute.

By default, the installer will look to install the mod in the default
app directory in your Steam library on drive C. If your Steam library is
in a different location, or you have installed doom 3 someplace else,
browse to the location of your Doom 3 BFG installation. IMPORTANT
If you browse to select a directory to install the mod, the installer
will append 'Doom 3 BFG edition' to the install path. REMOVE THIS from
the install path, so that only the full name of your Doom 3 BFG
directory is displayed. Failure to do this will result in the mod files
being installed in the wrong directory. Once installed, you should see
a folder named 'Fully Possessed' inside your main Doom 3 directory
along with some support files and the Doom3BFGVR.exe. Launch this .exe
to play.

Installing with the .zip file

Download the '' file from the release page at the top of this post, and
extract into your main Doom 3 BFG directory. You should see a folder
named 'Fully Possessed' inside your main Doom 3 directory along with
some support files and the Doom3BFGVR.exe. Launch this .exe to play.

Compatibility with existing Mods or Native Doom 3 BFG

Doom 3 BFG: Fully Possessed stores all changed assets and save games in
their own directories. Installing the mod will not interfere with
existing mods or the native game.

Compatibility with the Hi-Def texture pack

Doom 3 BFG:Fully Possessed is compatible with the hi-def texture pack.
Please be aware that the 'generated' folder included in the hi-def
texture pack is corrupt, and will crash the game if not deleted. This
is not an issue with this mod, but with the texture pack itself. After
installing the texture pack, delete the 'generated' folder inside the
'Base' directory.


  1. The texture pack also installs German language files. If you do not
    want the game menus to be in German, delete the 'german.lang' file in
    the 'Base/Strings' directory.
  2. It does not matter if you install the mod first or the texture pack
    first, but be aware that games saved without the texture pack installed
    will not work once the pack is installed, and vice versa.

Reporting Bugs

Many bugs have been addressed in this relase, but if you do find one,
please open an issue on our tracker. We can't fix it if we don't know
its broken!




Update 12-10-2016

Fixed bug related to save game crashes. Archives updated

Additional Update 12-9:

I've updated the OpenVR version of the mod to address  issues some people were having, and added a few new features.

There are now versions of the mod that support OpenVR and the Rift/Touch natively via the Oculus SDK.

See  below for a link and additional info. 

Update 12-9

I've updated the mod and posted a test verison with native Oculus/Touch support.

This includes full motion controls and the ability to interact with in game guis and the PDA by using them as touch screens.


make a clean copy of your doom 3 directory before installing, right now
this mod will not co-exist with other mods as too many of the
assets have been changed.

Take a look at the description on the release page, and the two readme files
included in the archive.  I've also included a .pdf that lists
most of the common cvars you can use to configure the mod.  Please
remember all the controls ( all joystick axes and buttons) can be
unbound or remapped to any other control. In the system menus go to 
(Settings->Controls->Key Bindings)

There's still a little oddness during loading screens.  Let me know if you find any issues. This is the first test of this, so there may be issues I'm unaware of, please let me know if you find anything.


Previous update:

I've been working on a mod for Doom 3 BFG edition for a while, and it might be ready for an alpha test. I'm looking for people to test and let me know what issues ( and I'm sure there will be some ) you have. ( Please note this is an entirely new mod, not a variant of an existing one.)

Anyway, here we go:

New features:

Full motion control support for weapons, with support for right or left handed control.

Reload mechanics and motion controlled melee attacks are NOT finished yet, but in progress.

For now press the attack button to punch and reload to well, reload. Grenades are now

thrown via motion controls.

Flashlight modes

The flashlight can be held in the off hand, mounted to the weapon, mounted to the player helmet, or

mounted to the player body. If 'mount to weapon' mode is enabled, and a weapon without a barrel is

selected (e.g. grenade, fists, chainsaw) the flashlight is temporarily moved to the head.

Player body view modes:

You can chose to view the entire player body with ( very very basic ) IK for the arms, view the weapon and

hands, or view the weapons only.

Weapon sight modes:

Chose from a laser sight, laser dot, circle dot, or crosshair.

Optional heading indicator.

With independent head/body movement it's easy to forget which way the body ( and forward

movement) is pointing. The heading beam points in the direction the body is moving. Beam can be

solid, have arrows, or scrolling arrow. Temporary artwork.

Movement options:

The player body is locked to user position, so moving in the real world moves the player body.

Optional comfort turning, with user defined delta and repeat delay.

Walk speed adjustment from game default consistent over level changes

Option for forward movement to be in direction off hand controller is pointed

Headkick and knockback are disabled by default but can be toggled.

For non motion controls, you can lock the view and aim together, or use independent aiming with user

defined deadzones

Hud options:

Hud is translucent and projected into world.

Hud can be locked to the view or the body.

Hud position and size are configurable.

Hud can be toggled on or off, or faded in when user looks down past defined angle

If hidden, can be configured to reveal when health below defined level

Individual Hud elements can be turned on or off if desired

Stat Watch ( for the love of god someone come up with a better name )

Ammo stats are provided on a wrist worn armament inventory device if player has weapon equipped.

Soon to provide health stats as well.

Gui interaction modes.

Player can choose one of three ways to interact with in game guis

1) Look direction controls gui cursor

2) Weapon aim controls guis, in the event weapon has no barrel (grenade, fists, etc) default to look


3) If motion controls are enabled, guis can be touch activated. When close enough to touch, look at gui

to activate then touch gui to control.

PDA is rendered as model in game.

PDA can be held in hand, or fixed in a position in front of the player body. If gui touch mode is enabled, the

PDA works as a touch screen device. Pressing escape during the game brings up the system menus in

game on the PDA.

PDA fixed position can be adjusted.


Cinematics are now from a fixed camera position. This is still being worked on, but is much better than the

free camera IMO. Some camera files still need to be tweaked for some of the cinematics. Pressing the PDA

button will exit the current cinematic

Pixel density can be adjusted.

ALL controller buttons and axes can be re-mapped to any control or action.

Weapon models have been fully fleshed out.

All of the options are currently controlled via cvars that start with vr_.  I'll add the options to the menus at some point.

The code has not been tested on any machines other than mine, so hopefully it will at least run for some of you 🙂

There are some issues I do know about. The loading and saving transitions are pretty glitchy, which is annoying.  I'll either smooth them out or just black them out.  I changed how the player hand animations work, so occasionally the hands don't play the correct firing animation.  I know how to address just need to implement.  The weapons also jump/blink for a frame when you change weapons, I know how to address I just need to get to it. Also, the source code is a mess, it's not actually on github at the moment, I'm working to clean it up and get it posted soon.

Anyway, let me know how it works for you!

908 REPLIES 908

Expert Protege

2EyeGuy said:

I find it ironic that Doom 3 BFG was never developed with VR in mind and yet it's the most compelling VR experience when comparing to software made for VR. This mod should be used as a template to build future full length games. Just curious, will any of this code be used for other ID games or is it possible to run mods within Doom 3?

Software made for VR is made for a much smaller audience and therefore much lower budget. This was a full AAA game.

It should be possible to apply this code to other iD games. I think there's still some code originally from Wolfenstein that's unchanged in Doom 3 BFG. But it would still be significant work. The other iD Software games that are open source are: Doom 3 (non-BFG), Doom 1 & 2, Doom. Quake 1, Quake 2, Quake 3 Arena, Wolfenstein 3D & Spear of Destiny, Return To Castle Wolfenstein, and Wolfenstein: Enemy Territory.

Quake 4 is based on the Doom 3 Engine, and half the source code is available from the SDK, so it might be possible to support it, or at least get it partly working.

It's not possible to run traditional Doom 3 mods with BFG Edition yet, but I've started work on supporting them.

quake 4 would be amazing!!!!!!!!

Heroic Explorer
I took a look at quake 4 a while ago - based on the sdk, they made quite a few changes to the rendering back end that the source is not available for, which makes supporting this natively alot more difficult - we can't just use the renderer from d3bfg or d3.  ( Hey Raven - wheres the source ?  😛 )

Heroic Explorer
Wasn't RTCW on the engine prior to Doom 3? Though if all that matters is whether it's open source then that should still be okay.

Anyway, I had some issues getting the mod to work before 0.020, but now it works great. The startup is still a little wonky with a black screen but at least I can get past that and into the game.

Heroic Explorer
If you have an AMD card, the black screen on startup/menus is fixed in the next release.

You're right, RTCW does not use the same engine as D3BFG, but all the source is available, and although you cant just cut and paste code from this, the changes are similar. It would be a fair amount of work, but doable.

Expert Protege
@Samson @2EyeGuy i enjoy your mods more than any of the official releases B)

I just fixed the world scale for the next version. Now you can adjust it, and I'm defaulting it to 0.93x. That makes Doomguy just a normal sized man, the oversized objects a bit more reasonably sized, and gives you slightly more room for room-scale. You might have to crouch slightly more though.
Now I should add an option to make the floor be in the right place (instead of your eyes being in the right place).

Heroic Explorer
Keep in mind, that will make him a normal sized man....for everyone with 2EyeGuy's IPD 😉 People with larger IPD will still have their eyes go inwards at those values, causing it to look smaller. Smaller IPDs will have it look bigger. But as long as there Is an adjustment, people will be able to make it satisfying. I sometimes increase my separation just a bit when I use 3D Vision to make impressive environment in the background like in Mass Effect even more incredible. However, with 3D Vision I have near and far point adjustment, so I can do exactly that while keeping objects in front of me the right size. You won't be able to do that with a single separation adjustment, its all bigger or smaller, like 3D adjustment for movies with their baked in convergence angle.

Idealy there should be a far point and near point adjustment in all 3D games. Setting things in the far distance beyond max human depth perception to the user IPD value and adjust the near point till everything in front of you looks satisfyingly real. I suspect the lenses used in VR do some normalizing, but I'm not sure how much and I'm guessing its not a lot. After more than a couple thousand hours of 3D, I find I have gotten very sensitive to 3D scale, with even slight inaccuracies being noticeable and I'd bet the VR community will experience the same and thus the independent near and far point sliders will come, eventually, I think.

Those near and far point values should be in the code somewhere though if your interested enough in finding them.

No! It should make him a normal sized man for everyone. IPD is adjusted in the Oculus drivers, we're not using the same IPD for everyone (as far as I know). VR is nothing like 3D Vision. In VR there's a correct answer that everything has to match. There's no tweaking things according to taste. There's no such thing as separation or convergence. A 10cm cube that's 1 metre away has to look like a 10cm cube 1 metre away.

I added the option to make the floor in the right place (rather than the eyes being in the right place).

Doom 3 BFG wasn't made for VR, so they didn't model everything to a consistent size. I just finished scaling all the ammo, weapon world models, and keycards to a size consistent with the weapon view models. It should make everything a bit more realistic.

Heroic Explorer
Scale and floorheight were the 2 things I was waiting for 😄 so thanks for adding them.
I guess I'm very sensitve when it comes to scale in VR since I haven't read much complains about it in this thread and on Reddit..
Maybe it is the combination of both not being on real floor height and the slightly too big overall worldscale, that made most players not notice an issue there.

Also glad that the "seated mode" (height not aligned to real floor), will still be there as an option 

Heroic Explorer

2EyeGuy said:

Doom 3 BFG wasn't made for VR, so they didn't model everything to a consistent size. I just finished scaling all the ammo, weapon world models, and keycards to a size consistent with the weapon view models. It should make everything a bit more realistic.

That's awesome!

I hope it doesn't make them harder to notice though.