The new approach is described at the bottom.

I love playing pinball in VR.

I don't like switching tables via Steam-shortcuts, because you can't do it with your cabinet-keys. You have to use your vr-controllers in order to select a table. In most cases vpx loses focus and cabinet-controls don'work until you set focus to vpx (outside vr) again. For me it was very fustrating to handle the navigation that way. I tried to find a solution for a couple of weeks.

Now i will show you my solution - the progress of my project.

I want to use the software we have to use. Here this is the vr-port of vpx. I've downloaded the c++ sources of Visual Pinball VR at sourceforge and expanded the functionality I needed.
BTW c++ is not the language of my choice!

1) VPX must show a menu in VR when you start it.
2) The Menu must be able to open a table staying in VR.
3) If you exit this table, vpx should not idle -> menu must be shown again and so on.

I've compiled these functions in my version of VPinballX_GL.EXE.

4) I need a menu in VR. How to realize this with c++?!?

Some days ago, I had a great idea.
I build a small table as a menu. I named it "menu.vpx". But the table script needs to communicate with my VPX-version:

5) I build a ScriptGlobalTable-extension that writes the selected table in the vpx-registry ("menu","NextTable") and quits the menu-table. -> point 2
6) In the vb-script of the tables there are 2 new functions as ScriptGlobalTable methods.
GetNextTable // get active table to show at start
PlayNextTable("example.vpx") // set active table to allow vpx to load and start it & quit menu-table
With these extensions we can build menutables.

My menu.vpx is a working demonstration.

You can see it running in this unprofessional screen grab of my oculus mirror software: (please mute it!)

How to configure your own Menu based on my menu.vpx:

1) Open it in Visual Pinball.
2) Open the script-editor.
3) Edit this part in the header of the table script:

MyTables = Array (_
"VR ROOM AC-DC_Premium-1.5 (VRR 1.0).vpx",_
"Medieval Madness (Williams 1997)v1.1R2.5-[D&N][FSS][DMD][TOP][CCX+PGI][SHD].vpx",_
"Attack from Mars (Bally 1995) v1.1R2.6[D&N][FSS][DMD][FF][CCX+PGI][SHD].vpx",_
"VR ROOM Indiana Jones The Pinball Adventure (Williams 1993) V11.vpx",_
"Batman Dark Knight (Stern 2008)v1.0R2.6-[D&N][FSS][DMD][FF][CCX+PGI][SHD][10.6].vpx",_
"VR ROOM Diner VPX V11.vpx"_
MyTables_previews = Array (_

MyTables is the filename-arrray.
MyTables_previews are the Spinner-Images. They must be added in the Tables Media-Manager. You can export one of my demonstartation images as your new image-template.

Now you can start it with my special VPinballX_GL.EXE.

(In this special version, the new plunger.PullbackandRetract function of mfuegemann is allready included.

For this, you need to use the Scripts/core.vbs.)


The changed sources are in If you don't want to compile your own exe, you don't need them.

Download this special menu-ready version of VPVR here.

Important Info 2020-02-24:
Dont't use the new vpvr 10.7 - it's buggy and only for alpha testing.
Please stay at the good working 10.6 version:

You can rename the original exe, so you can use this as a fully working editor next to my player.

A new approach

I want to get rid of compiling the VPVR, if great updates arriving for this. So i build a new loader to get the same result from outside VPVR.

Now you only need two files:
1) The loader (vpx-vrlauncher.exe)
2) The menu-table (vpx-vrlauncher.vpx)

You only need to configure your vr-tables path in the vpx script. Just edit and save it with VPX.
The loader starts "VPinballX_GL.exe" automatically, so you only have to start the vpx-vrlauncher.exe - not the VPXEditor. It's necessary to put the vpx-vrlauncher.exe and the vpx-vrlauncher.vpx in the same directory as the "VPinballX_GL.exe".

Performance-hint: If you select a table, the table will be loaded and autoloader will be paused, till table is closed again.
If you exit a table, the menu-table will be shown again for selecting the next table. Same procedure as before.
If you quit the menu, autoloader will be closed too.

For the "VPinballX_GL.exe" i'm using the fantastic new version of Rob Ross, you can find in the VR-VPX Group on facebook.
It's very stable and the loading speed is amazing with it.

Download vpx-vrlauncher here.

Have fun

Project by

Profile Photo b4sti

Project Tags


New Collection

Flipper storici
JR’s 1st Collection
PuP Packs
to download
Tables i love
Pinball Cabnet
new VPX pc
Best Tables
WIP To Follow
  1. randr 7 months ago

    Neat! Great idea

  2. astrozombie138 7 months ago

    Very cool! Can’t wait to try it.

Leave a reply


Log in with your credentials


Forgot your details?

Create Account