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.

The project ultimately continued to develop here:

Download vpx-vrlauncher here.

Have fun

Project by

Profile Photo b4sti

Project Tags


New Collection

Must Have
Flipper storici
JR’s 1st Collection
PuP Packs
to download
Tables i love
Pinball Cabnet
new VPX pc
Best Tables

Comments are closed.

  1. randr 11 months ago

    Neat! Great idea

  2. astrozombie138 11 months ago

    Very cool! Can’t wait to try it.


Log in with your credentials


Forgot your details?

Create Account

The Vpinball app