Jump to content

VPX VR Launcher 4.28

   (8 reviews)

3 Screenshots

About This File

With this tool it's possible to switch tables without the need of removing your VR-headset.
You can use this tool as launcher for 2D-VPX too. For setup instructions see hints below.
Now you can stay at your cabinet while playing and switching tables without the need of VR-controls. 
The newest version includes most of the released VR-tables as preview-tables. 
If you want me to add new tables simple leave a comment here.


Check out, how it works:




Version 4 (coded in Unity)

Big thanks to A. Rubin for his amazing work on hundreds of tableskins!



  • tabledata offline or ONLINE
  • coded in unity/c# for oculus vr OR openvr (32bit windows)
  • starts only once and takes control, when vpx is quitting
  • 0% CPU-usage while playing VPX
  • much faster loading time
  • Favourites are controlled ingame.

    Hold filterkey and add/remove current table as favourite.

  • You can share your tableartwork and get online artwork inside app



  • Extract ZIP in your "Visual Pinball"-folder (home of VPinballX_GL.exe).
    "vpx vr-launcher4.exe" and application-folder "/vrlauncher4" should be directly in this folder.
  • Inside /vrlauncher4/config/ rename _config.xml to config.xml
  • Before 1st launch edit /vrlauncher4/config/config.xml.
     Oculus-users set <vrdevice>oculus</vrdevice>!!!
     Other uses <vrdevice>openvr</vrdevice>.
  • Start "vpx vr-launcher4.exe" based next to VPinballX_GL.exe.


Setup instruction inside /vrlauncher4/readme.txt!




🔴 Important info using 10.7.1: 🔴
If you use 10.7.1 for playing 10.6 and 10.7 tables, what i recommend to do you should set same startparams for both in the settings-section of config.xml.

from (default):
<vp106params>-minimized /exit /play</vp106params>
<vp107params>-Minimized -Play</vp107params>
<vp106params>-Minimized -Play</vp106params>
<vp107params>-Minimized -Play</vp107params>




New suspendmodes since 4.21!

Users reported problems with the behavior of the program when starting VPX.

That's why I've added another mode that behaves like the old launcher. I have also revised the other two modes and, hopefully, optimized them. You should try first suspendmode 0. If that causes problems, try 1. If that also causes problems, use mode 2.




NEW SINCE 4.18 you can have multiple setups:


default setup





you can pass the setup as startparam in different shortcuts:
"C:\VP\VPX VR-Launcher 4.exe" setup2



Mapping controls section <keys>:


  • Letter keys a, b, c...
  • Number keys 1, 2, 3...
  • Arrow keys up, down, left, right
  • Numpad keys [1], [2], [3], [+], [equals]...
  • Modifier keys
    right shift, left shift, right ctrl, left ctrl, right alt, left alt, right cmd, left cmd
  • Special keys
    backspace, tab, return, escape, space, delete, enter, insert, home, end, page up, page down
  • Function keys f1, f2, f3...
  • Mouse buttons mouse 0, mouse 1, mouse 2...
  • A specific button on any joystick
    joystick button 0, joystick button 1, joystick button 2...
  • A specific button on a specific joystick
    joystick 1 button 0, joystick 1 button 1, joystick 2 button 0...
    Hint: If button 1 doesnt't work, try (button 0) reducing the number by 1.




section <filters>:


This is a FILENAME filtersystem

    <name><![CDATA[Williams 80's]]></name>

You can add as many filters, you want.
"name" holds the name displayed.
"needed" is a commaseperated string of words to must be in filename.


section <paths>:


here are your vpx-vr files stores



the vpx.exe to start 10.6 tables

Hint: If you want to use the launcher in 2d context set this value to VPinballX.exe.



the vpx.exe to start 10.7 tables 

used by tablenames containing "(10.7)" in filename



Optional: Path to an highscore-tool like pinemhi.
Display your highscores next to the table.
Default: Tablenames are passed as param. 
Optional: Romnames are passed as param, if you setup the section <highscores> -> read there.




section <settings>:




If set to 1 version will be checked on each start. New tables will
automatically be added to the tablearray in folder "onlinedata".
new artwork for tables will be downloaded from imgdatabase to the
same folder.
Please share your custom artwork. There is an easy function inside app now!



Optional name for sharing your artwork and possible stuff in the future.



"oculus" uses oculus driver directly (best for oculus devices)
"openvr" for all other devices

Hint: If you want to use the launcher in 2d context let this empty.



you can enable or disable (0) the rotation tracking of your headset



0 = rotation only
1 = rotation and position




0 = no vr-controller eventlistening
1 = vrcontroller button-layout 1

2 = vrcontroller button-layout 2

3 = vrcontroller button-layout 3



set this to 1, if you want to start with info-overlay



adjustment for your view (you can reduce distance to stay nearer the cabs)



You can resize fontsize of the dotmatrix-display showing the tablename.



Set this to 1 to enable additional visual effects



Values from 5 (best image quality) to 1 (lowest image quality)
Reduce this value if you have performance problems and you
should try disable effects too.



0 = sounds disabled



Set this to 1 to swap left and right



If set to 1 focusmanagement will hold both pinballapps topmost window.
It toggles automatically between launcher and player.
Disable this only if you have issues.



Set to 1 if you want VPX VR Launcher 4 to manage activation of
directb2s inside VPX. If a filename.vpx has an filename.directb2s
using this will be automatically activated. If no directb2s file
exists directb2s will be disabled. This is nice to avoid file not 
found-errors by VPX. 



You can now customise the rotation-angle of the selected table.
If you set this to 0, it will not rotate.



You can now customise the rotation-speed of the selected table.



0 (default/best/use this😞
This method instructs Launcher4 to wait an infinite amount of
time for VPX process and event handlers to exit. This can cause 
Launcher4 to stop responding. Zero Launcher4-CPU usage while playing.
Best loading-times. This only works if you start "vpx vr-launcher4.exe"
based next to VPinballX_GL.exe.


1: Launcher4 will stay alive without animation and userinteractions 
until vpx finishes. Launcher4's CPU-usage is low. Good loading-times.


2: Launcher4 launches VPX and terminates itself. Only the ToolbarHelper is
listening to VPX-Exit and will restart Launcher4 automatically. Zero
Launcher4-CPU usage while playing. Worst loading-times.



Section <highscores> (optional):

Please read section paths above too!

Here you can map roms to tables. So launcher can send them as a param
to highscore-tools like pinemhi. Pinemhi will grap the current highscores
of the rom and launcher can show them next to previewtable.


        <name><![CDATA[AC-DC PREMIUM]]></name>
        <name><![CDATA[Attack - from Mars]]></name>
        <name><![CDATA[Bad Cats]]></name>


*** NEW in 4.28 ***
VRlauncher autogenerates a file /config/highscores.xml for you.
It analyses your nvram-files and checks them against tablearray.
It will only be generated once. If you want a refresh, delete the file.
You can use the entries in your config.xml. This is just a little help

for many tables. You should check the result manually.



Table Config



New online functionality:

If you set


new table-artwork and new table-recognition will automatically get

downloaded and used. With activated onlinedata your used tablearray

is here: "/onlinedata/{version}.csv"
But your customimages (offlinedata) will farther be loaded 
at higher priority.

If you want to stay offline, you can edit tables by yourself:
Tables can be edited (added) inside /offlinedata/tables.csv.
(You should use an (online-)editor.)


CSV structure

name, display, manufactor, needed, forbidden, image, dmd, imgur


"name" sortname of table without formating (used for filenames)


"display" you set the displayed tablename (with html tags like <size>
or <color> or <br>).
optional you can set a html-hexvalue of an rgb color inside a <color> tag.
valide hexvalues for the rgb-colors from 00 to FF


"needed" commaseperated words have to be found in filename
THEY NEED QUOTES: "word1,word2,word3"


"forbidden" opposit of "needed"
THEY NEED QUOTES: "word1,word2,word3"


"image" filename of image (jpg/png) without extension
If you want your own custom tableimages, place them inside offlinedata.
The filename should be the "name" of tablearray with "{name}.jpg" 
or "{name}.png". [column image is only used internaly]


Name (1st column): "Adams Family"
Filename has to be "Adams Family.png" or "Adams Family.jpg"

If you have customimages created, there is a new item in filtermenu
wich allows you to share your artwork with the community.
Thank you for your support!

The imagefile will be uploaded and a "{name}.txt" file coresponding
to the imagefile is generated with infos about the upload.
If this file exists next to your imagefile, the imagefile will not be 
uploaded again.


There is a template file for creating your own images:
If an image-file exists in /config/offlinedata it overwrites the 
app-included image. Otherwise the included image will be used.


If you want to know how to make an table-artwork, Rawd made a great instructionvideo: https://www.youtube.com/watch?v=9u0maGURFoM
"dmd" if you set 0 the DMD area will not be rendered - the table 
will show another backbox with a fullheight image.
If set to 1 the DMD with speakers will be rendered.


"imgur" internal value used by onlinefunctionality




have fun!






b4ast1's Other Downloads

User Feedback

  • Create New...