Pavlov VR

Pavlov VR

Not enough ratings
Instructions for setting up the optimal use of Discord, Pavlov VR, Push-to-talk, DiscordVR Overlay
By BiG|Rain
**OBSOLETE AND BROKEN** Because of the latest Pavlov update, none of this stuff is possible anymore. Thanks Dave!

Required time for the complete setup: about 15 minutes (for technically versed people) to about 1 hour (PC newbies).

This guide considers the optimal setup of Pavlov VR PC for gaming with friends on Discord and, optionally, simultaneous streaming. It describes the setup of controller bindings in Pavlov, OVR Advanced Settings and Discord and also takes optional steps into account for an optimised gaming experience, like the setup of the DiscordVR overlay.

The goal of this guide is to reproduce the following functionality:
  • Muted microphone by default (so you can cough, breathe, snuffle and shout as much as you like)
  • Touch of a button on the controller to talk in Discord or on stream (or recordings)
  • Press of a button on the controller to talk in Pavlov VR
  • Double-press of a button on the controller to use the radio in Pavlov VR
  • (Optional) Using of a controller button combination to toggle mute in Discord for talking only to the stream
  • (Optional) See who’s talking in Discord or who’s in the voice channel (Discord Overlay in VR)

A German version of this guide is available!
Eine deutsche Version dieser Anleitung ist verfügbar!
https://steamcommunity.com/sharedfiles/filedetails/?id=2814808890
   
Award
Favorite
Favorited
Unfavorite
OBSOLETE AND BROKEN
Because of the latest Pavlov update, none of this stuff is possible anymore. Thanks Dave!
Usage and goals
Required time for the complete setup: about 15 minutes (for technically versed people) to about 1 hour (PC newbies).

This guide considers the optimal setup of Pavlov VR PC for gaming with friends on Discord and, optionally, simultaneous streaming. It describes the setup of controller bindings in Pavlov, OVR Advanced Settings and Discord and also takes optional steps into account for an optimised gaming experience, like the setup of the DiscordVR overlay.

The goal of this guide is to reproduce the following functionality:
  • Muted microphone by default (so you can cough, breathe, snuffle and shout as much as you like)
  • Touch of a button on the controller to talk in Discord or on stream (or recordings)
  • Press of a button on the controller to talk in Pavlov VR
  • Double-press of a button on the controller to use the radio in Pavlov VR
  • (Optional) Using of a controller button combination to toggle mute in Discord for talking only to the stream
  • (Optional) See who’s talking in Discord or who’s in the voice channel (Discord Overlay in VR)

A German version of this guide is available!
Eine deutsche Version dieser Anleitung ist verfügbar!
https://steamcommunity.com/sharedfiles/filedetails/?id=2814808890
Non-Index-Controllers and notes
This guide was written with the setup for Valve Index controllers in mind. Other controllers can be used as well, however some functionality like touch will not work and need to be mapped otherwise. How exactly this is done is up to you but with the help of this guide you should be able to understand the basics for doing this yourself. The author of this guide can unfortunately not make any statements about other controllers as he does not own any. If you use other controllers and have any additions that could help with the setup please do talk about it in the comments below.

This guide uses screenshots which were made using Valve Index Controllers and therefore have corresponding images.

It may be that some settings do not work well with other headsets as they may not utilise the full SteamVR capabilities. This again is not something the author could test. If you trip over such issues please describe them below in the comments and, if possible, also share solutions if you could find any.

Should there be the possibility of doing some steps in VR or on desktop (flat world) then it will be noted so. For usability it is recommended to use the desktop route as you will not have to switch between VR and the guide back and forth. All images to such steps were created using desktop and may slightly differ from what you could experience in VR.

There will be no elaboration on complex audio systems (such as the usage of Voicemeeter or other virtual audio cables) or changes to the default windows settings in your audio devices. It is expected that any deviations from the standard or this guide will be solved by the autonomous intelligence of the user.

This guide describes every step as detailed as possible. It should be easily possible for any person to follow this guide. If a process is described in a previous part of the guide, any later occurring parts will not be as detailed (for example opening of the SteamVR settings). The reason for this is that this guide is supposed to not only be a step by step guide but also for learning how to handle the tools used here. In cases where processes are already detailed and further uses of this process are not as detailed, it is recommended to track back to the previous description of the process to re-iterate on how to execute it, should you not remember how it is done. If a process is not detailed enough or easy to misunderstand please do indicate this in the comments below.
Prerequisites
The corresponding downloads of the programs are linked and, if required, described further below in the first time setup. It is not necessary that you would need to search for the programs yourself. If you do not know where or how to get these programs, just continue reading this guide.

The following programs must be installed in Steam:
  • Pavlov VR
  • OVR Advanced Settings

The following programs must be installed on the PC that is running Pavlov:
  • Discord
  • Optional: discord-vr
  • Optional: OBS or other streaming or recording software
First time setup
Pavlov VR
https://store.steampowered.com/app/555160/Pavlov_VR/
Pavlov VR should be started and quit at least once for the completion of the first time setup of Steam and the setup of the default controller bindings in SteamVR.
OVR Advanced Settings
https://store.steampowered.com/app/1009850/OVR_Advanced_Settings/

OVR Advanced Settings should be started and quit at least once for the completion of the first time setup of Steam, the setup of the default controller bindings in SteamVR and the configuration of the autostart feature.

It is recommended to set up OVR Advanced settings in such a way that it automatically starts and quits with SteamVR so that you do not need to manually start and stop it.

For this, start up SteamVR and open the SteamVR settings.

This can be done either in the system menu:


Or in the SteamVR program on your desktop:


Note: It may be the case that you have already activated showing of advanced settings in the SteamVR settings, in which case you will see more menu options in the subsequent images. Do not confuse yourself because of this. Should you not find something then try to hide the advanced settings (set Advanced Settings to Hide).

Here navigate to the menu option “Startup / Shutdown”:


On this setup screen you will find the button “CHOOSE STARTUP OVERLAY APPS (x selected)”, press it:


A list of all SteamVR tools and their respective option to automatically start with SteamVR will appear. If not already enabled, activate OVR Advanced Settings:


Afterwards you can close this dialog using the close button:


You can now close the settings window again (on desktop press the X in the top right of the window title bar, in VR simply close the system menu using the system button on your controller).
Discord
Get Discord from here: https://discord.com/download

There is no initial setup required for Discord, however it is noteworthy that changes to the default settings by the user need to be considered. This guide requires, for example, the setting of Voice Activity, instead of Push-to-Talk in the audio settings of discord and also that Discord automatically uses your headset microphone as an input device. These are the default settings and do not require any further configuration.
Optional: discord-vr
This tool provides a configurable overlay for Discord voice activity so you can see who is talking or who is connected to the audio channel. Should you play in public groups whose members you do not already know by their voice it is recommended to use this program. If you are playing with friends you know then it is not required.

Installation

Note: The whole process seems long winded and complex for people who are new to the usage of a PC. Every step is detailed as much as possible and contains images, it should therefore be possible for any person to complete it. However it can easily seem overpowering. Only do this process if you feel up to following this guide precisely for the next 10 minutes. Before starting it is recommended to read the whole process first so you can gauge it and whether you will be able to complete it, and to get a rough overview of the steps involved. The whole discord-vr part is, as previously stated, completely optional.

Note: This tool is not available on steam, therefore the installation and setup is a little bit more cumbersome than usual. It is also an unvalidated external tool, hence this security advice: The source code of this tool is available on GitHub, however never install any programs if you are not sure that they are not malicious. Use it at your own risk.

Discord should be running before you run this program for the first time.

You can download this program from this URL: https://github.com/designeerlabs/discord-vr/releases
It is recommended to use the latest stable version (Latest), not a pre-release. The required file should be the top one in the list of subordinated files (not the source code files).


Note: Please be aware that since the creation of this guide newer stable versions may have been released, other than the indicated version 1.0.0 of the images. While the usage of any newer version is highly recommended, it may be the case that the steps in this guide will differ greatly. In such a case please write a comment down below indicating such and the guide will be updated in a timely manner.

After the completion of the download, open the file. A folder will open or your installed decompression tool will open and show a discord-vr subfolder:


Note: You can choose the installation path yourself however for tidiness the installation will describe how to install it in your local app data.

Note: You might not see any file extensions like in the images (eg. .zip, .exe, .vrmanifest, …). That is okay, simply use the images to verify that you are using the correct file.

Right-click the discord-vr folder and select Copy


Note: Should you use a decompression tool such as winrar, 7-zip, winzip (lol) or similar, it is expected that you will be able to follow the process analogue to this guide by yourself.

Note: You will have to enter a path in the following step. It is recommended that you do not copy and paste this path but rather type it yourself as otherwise the last step of copying the file will be void. Alternatively you can copy the path, paste it, press enter, use the back navigation arrow, re-do the previous step, use the forward navigation arrow and continue with this guide.

Click into the address bar in the top of the window, remove the existing text and type in the following text followed by enter:
%localappdata%


You should now have navigated to a different folder (> Username > AppData > Local) and see a bunch of subdirectories.

Here you will press Paste at the top:


Note: The directories in this image will differ from what you will see, that is okay!

Now wait for the copy process to complete. Afterwards you should see the discord-vr folder already selected. Open it.

Now start the DiscordVR file:


The program will now open.


After it has started, close it again.

Navigate now to the subdirectory DiscordVR_Data and then StreamingAssets. Inside you will see a chromedriver.zip file. Open it as you have done before with the discord-vr.zip and copy the contained chromedriver.exe file:


Press the up navigation arrow left of the address bar:


Now paste the file again, as you have done before:


In this folder you should now see the additional chromedriver.exe file:


Press the up navigation arrow twice to navigate back to the discord-vr directory and start DiscordVR again:


Wait for a bit, after a short time your Discord should make itself apparent and shortly after DiscordVR will show the following message:


In Discord click on Authorise:


DiscordVR should now refresh:


Verify that DiscordVR now has access to your Discord by pressing the plus button in the bottom left:


You should now see a list of your Discord servers in the left list:


If this is not the case, press the Refresh button:


If it still does not work repeat the installation process and make sure that you follow each step precisely.

You can now close DiscordVR. It is now functional. Consider the next part even if you do not plan to add DiscordVR to autostart, at least the first paragraph for creating a shortcut so you do not have to navigate to this folder each time you want to start DiscordVR.
Optional: Start DiscordVR with SteamVR automatically
By default, DiscordVR does not start automatically with SteamVR. You would therefore have to create a shortcut (right click, Send to, Desktop (create shortcut)) so you can start the program manually.
Alternatively you can set it up so it will start automatically with SteamVR.

Note: This program can start automatically, however unlike OVR Advanced Settings, it will not automatically quit.

Note: In this process you are required to edit a configuration file of Steam. This process is described in detail however if you do make a mistake then SteamVR may have issues starting. It is therefore essential that you do not make a mistake here.

Note: SteamVR should not be running for the following steps. If it is still running please exit it now.

Download this file: https://github.com/designeerlabs/discord-vr/files/6527454/app.zip
(Source: https://github.com/designeerlabs/discord-vr/issues/7#issuecomment-846493797)

As before with discord-vr open this file and copy the contained app.vrmanifest file:


Navigate to the folder of discord-vr (%localappdata%\discord-vr) and paste the file there:


Now copy the path from the address bar:


Note: As before, try not to copy anything else as we will require this path at a later point.

Navigate to your Steam installation folder. Usually this is "C:\Program Files (x86)\Steam\", if you are unsure open Steam, right-click on a game in your games list, open the properties, go to Local Files and press on Browse.


Navigate upwards a couple of times using the up navigation arrow until you arrive at the Steam directory:


Note: This only works if the game is also installed in your Steam folder (primary steam library). Choose a game accordingly if you do have multiple steam libraries.

Now go into the subdirectory config. There you will find a file named appconfig (or appconfig.json). Open this file in a text editor, for example Windows Notepad (right-click, Open with, Choose another app, Notepad):


You will find a text like this:
{ "manifest_paths" : [ "C:\\Program Files (x86)\\Steam\\config\\steamapps.vrmanifest" ] }

The path might be different but that does not matter.
Here you have to do the following change so that the content of this file looks like this (the description of the process is described after the example):
{ "manifest_paths" : [ "C:\\Program Files (x86)\\Steam\\config\\steamapps.vrmanifest", "C:\\Users\\??????\\AppData\\Local\\discord-vr\\app.vrmanifest" ] }

First find the end of the path:

steamapps.vrmanifest" ]

After the double quotation marks but before the square bracket, add in a comma, an optional space, and a double quotation mark:
steamapps.vrmanifest", " ]

Now paste the previously copied path:
steamapps.vrmanifest", "C:\Users\??????\AppData\Local\discord-vr ]

Note: Instead of “?????” you will see your windows username.

After that path type in
\app.vrmanifest"

Make special note of the backslash and the trailing double quotation marks! If you do not know how to type a backslash simply copy an existing one.
steamapps.vrmanifest", "C:\Users\??????\AppData\Local\discord-vr\app.vrmanifest" ]

Almost done! Now go through the path that you have entered and for every backslash add a second backslash so that it has all double blackslashes:
steamapps.vrmanifest", "C:\\Users\\??????\\AppData\\Local\\discord-vr\\app.vrmanifest" ]

Now compare the content of the file with the example from above. Verify that the already existing path has not been changed by you, that it is followed by a comma and the new path is surrounded in double quotation marks and no single backslash exists but rather are all double backslashes and that the square bracket still exists.

Once you are certain that everything is correct, save the file and close the editor.


Now start SteamVR and open up the settings of the autostart programs again. You should now see DiscordVR in the list and activate it, if it is not already activated.


Congratulations, you completed the hardest part by far of this guide.
Optional: OBS or other streaming software
Get OBS Studio here: https://obsproject.com/de/download

Nothing specific needs to be set up here, except of course that it uses your headset microphone as the audio source. It will automatically use PTT of OVR Advanced Settings so it only uses your microphone when you press PTT.
Specific setup
Pavlov VR
In Pavlov VR you will only change your bindings and configure PTT and radio.

Note: Everybody may already have their optimal Pavlov VR bindings, this guide will not go into detail which specific button is used for PTT. It is up to you to choose one. This process describes the steps required to set up any chosen button for PTT.

First you should think about which button you would like to use for voice. This button will be used here and in later parts to assign PTT to the corresponding programs.
Should you use default Pavlov VR bindings then it may be that there is not a free button available, in this case you will have to free up one. Be aware that any functionality of this button will have to be mapped to another button later, or discarded. This process is not part of this guide however using the guide you should be able to do this yourself.

As an example this guide will use the B-button of the right controller. If you chose another button simply replace any occurrence of the B-button with the one that you have chosen.

Start SteamVR and open the settings.
Navigate to the Controllers menu option and open the menu “MANAGE CONTROLLER BINDINGS”.


From the list pick “PAVLOV VR”, change the Active Controller Binding to Custom and click on “EDIT THIS BINDING”.


A new window will appear and show your current bindings.

Note: SteamVR sometimes is very slow and unstable when it comes to these binding pages and may deteriorate after a while, become very slow, unresponsive or develop weird symptoms. In this case it is recommended to close SteamVR and restart Steam completely.

Note: The setup of bindings in VR is a so called pain the ♥♥♥♥♥♥♥ ♥♥♥♥♥♥♥ and not recommended. The way of using the desktop is much simpler and therefore recommended.


Navigate to the button and delete any existing bindings:




Create a new binding by clicking the plus-button and choose BUTTON:


At the Click option click on the button None and chose PushToTalk from the list:


Apply the bindings using the checkmark:


Create another binding, again by clicking the plus-button, and choose BUTTON again.

Then click on More options to show more binding options:




At the Double option click on the button None and chose Radio from the list:


Again apply using the checkmark. The binding should now look like this:


This would now be an excellent time to apply the previously deleted bindings of this button on another button, if necessary. The default binding of the B-button for example is the bolt release which you can also do physically on the weapon however using a button is faster and easier. It is up to you if and where you assign the function of this button.

If you have completed the configuration of the bindings, save them by pressing Save Personal Binding, enter a name and a description and press Save. Be aware that pressing any of the buttons may take a longer time than expected, especially saving after entering a name and description. It may look like nothing is happening, simply wait 5 to 30 seconds until the save dialog disappears.

Once you click on Back at the top you will reach the bindings overview for Pavlov VR and should be able to see your saved binding as your current binding:



Keep this window open for the next part.

The setup of Pavlov VR is now complete and the game will now use the assigned button for PTT and radio. Press and hold the button to talk, release to mute again. Double press the button and hold (press twice quickly but do not release on the second press) to activate the radio. You should hear a faint noise while the radio is active and a tone when releasing.
OVR Advanced Settings
Bindings
Here we will set up Touch-To-Talk so that Discord or other software like OBS will use PTT for your microphone.

You should still be in the bindings overview of Pavlov VR from the last step.
Press the Back button again and you will reach a list of all VR applications.

Note: This way is required as OVR Advanced Settings is not in the other list.


Click on Show More Applications and find and open OVR Advanced Settings in the list.


Under Current Binding you should have the OVRAS Knuckles Default bindings. Click on Edit.

It is recommended to first delete all existing bindings to prevent double assignments or unwanted side effects. Simply press on the trash bin icon on all bindings. Be aware that there are multiple categories of bindings: Motion, Music, Misc, System. These should all be purged.




In the tab System create a new binding at the corresponding PTT button (the same as Pavlov VR) and choose BUTTON again.

For Click choose the Action Push To Talk. Apply the binding again by using the checkmark.

On the same button create another binding again but this time assign Push To Talk to the Touch option. Again apply the binding.
The result should look like so:


Save your bindings and verify that they are applied as your Current Binding.


Activate or deactivate PTT
The configuration of bindings in OVR Advanced Settings is not sufficient to activate PTT. This has the advantage that you can enable and disable PTT at any time depending on the game you play or whether you require it at this time or not without having to go into the bindings.

Here we will require VR. Put on your VR headset and open the system menu. You should see a new OVR Advanced Settings button at the bottom left:


Press that button. On the start page you will already see the entry for PTT:


Here you can enable or disable PTT at any time.

Optionally but recommended is a further configuration. For that open the menu Audio. There you will see a setting to Show notification in HMD. If this is activated you will see a small microphone icon in your headset every time you use PTT:




Using this you will know definitely whether your microphone is transmitting in PTT or not.

The setup of PTT is hereby concluded. Using these settings you can control your microphone and Pavlov PTT.
Touch your PTT button to activate your mic for Discord, OBS or other programs. Press and hold the button to talk in Pavlov VR. Double-press and hold it to use the radio in Pavlov VR.
Optional: Toggle Mute in Discord
When you are playing with friends or strangers on Discord and you are streaming or recording at the same time, it is useful to use toggle mute for Discord. This enables you to talk to your stream, thank followers and donations and reply to chat without getting on your friends nerves.

For this, we will configure an OVR Advanced Settings binding which will press a keyboard shortcut which, in turn, will toggle mute in Discord. Discord will be muted when you press this binding or unmuted when you press it again. For this binding we will use the right controller B and A buttons (hold b, press a, release both).

Unfortunately the default keyboard shortcut assigned in OVR Advanced Settings is CTRL+Right Shift+M which, for some odd reason, can not be used as a global keybind in Discord. Therefore it is required to change it to a different key combination. Many will probably already have such a shortcut to cough in silence, this can then be used. If you do not have one then Win+Ins is a good choice.

OVR Advanced Settings should not be running while configuring these settings. You can close it and later start it again or quit SteamVR and restart it later.

Open the file “OVR Advanced Settings.ini”, which you can find in the folder "%appdata%\AdvancedSettings-Team", in a text editor and find the section [keyboardShortcuts]. There will be some entries below that, the entry keyboardOne can then be changed accordingly. Possible values (after the equal sign) can be found here: https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/blob/master/docs/specs/Keyboard_Manager-Parser_Spec.md
To use the recommended key combination of Win+Ins you would change the following below [keyboardShortcuts]:
keyboardOne=#INS
After configuring the keyboardOne shortcut, save the file and close it.

Now start SteamVR/OVR Advanced settings again.

Navigate to the current OVR Advanced Settings bindings (SteamVR Settings, Controllers, MANAGE CONTROLLER BINDINGS, Pavlov VR, EDIT THIS BINDING, Back, Back, Show More Applications, OVR ADVANCED SETTINGS, Edit).

Select the tab Misc.

There, create two new bindings: one for the B-button, one for the A-button, both as BUTTON. This time however do not assign any action.


Then press the Add Chords button in the middle below the controllers:


Click on “ADD NEW CHORD”.


There, choose Keyboard Shortcut One.


By default a chord with Right Hand B Button Button Click will have been created:


Click on “ADD INPUT TO CHORD”. It will automatically add a Right Hand A Button Button Click:


Close the chords window and save the bindings. The bindings editor can now be closed too.

In Discord open the Keybinds settings:




Press on Add a Keybind to add a new empty keybind.


Find the newly created keybind in the list below (ACTION is Unassigned) and there click on Record Keybind:


Now press the chord on your VR controller (B+A).

Note: The system menu must not be opened in VR for the binds to work.

The keybind should now appear there:


From the ACTION list pick Toggle Mute:


Close the Discord settings and test them with your VR controller. Your microphone should toggle between muted and unmuted. You do not need to be in a voice channel to do this.
Usage
Pavlov VR
Pavlov VR does not know that you have assigned a PTT binding. Every time Pavlov VR starts it will default, as usual, to an open mic.
You have to, preferably at the shooting range or once you are connected to a server, press the PTT button once for Pavlov VR to recognise that you are using PTT. Only then will PTT be activated in Pavlov VR. You can test this by looking at the scoreboard and checking whether you can see a small speaker icon in your profile picture when you talk or use PTT.
OVR Advanced Settings
See Activate or deactivate PTT.
Discord
No further steps are required after the setup.
Optional: discord-vr
The settings that you apply in discord-vr are not saved. It is necessary to re-apply all settings that you do within discord-vr (look and feel of the overlay).

There are the following settings:


Here you choose which part the overlay should stick to.


Here you choose the alignment of the overlay entries.


Here you choose the opacity of the overlay.


Here you choose how fast or slow the overlay should follow the selected part when moving.


Here you activate only seeing people who are actively talking.


Here you activate only showing avatars in the overlay.

It is recommended to join the voice channel in Discord through discord-vr and not already be connected to a Discord voice channel beforehand.

To connect to a channel and to activate the overlay, click the plus button in the bottom left, pick your server (press on Refresh if there are none) and choose your channel afterwards. Discord will then connect to the channel and also display it in discord-vr.
Optional: OBS oder andere Streaming-Software
There are no additional steps required.
Closing words of the author
Although the whole configuration of all the tools and functions is very time-consuming, I feel that the effort is worth the freedom you get from it.
I also hope that this guide has been sufficient to learn the tools so that you know where to find settings, chords, bindings and keyboard shortcuts. You should now be able to configure your VR environment the way you would like it to be.

For typos, grammar issues, unclear phrasing or other ideas, suggestions, improvements or other functions which could be added here, please leave a comment.

Also, if you found this guide useful, I will appreciate any comment!
3 Comments
BiG|Rain  [author] Jan 30, 2024 @ 4:20am 
what are you talking about
Luntik Jan 29, 2024 @ 8:50am 
HOW DO I GET RID OF OBS IN MY VR SCREEN
CupOfNoodles Jul 12, 2022 @ 11:46am 
ok but i want people hearing me cough and breathe