Before following this, please read the entire document first to get an idea of what you're going to be doing and looking for. This should be mostly accurate, though note I have yet to test this procedure from a fresh start, so it's completely possible I've missed some things. I wish you good luck and hope this guide helps!
Visual Pinball X is a free-and-open-source pinball simulation program. It's designed to allow you to play pinball (whether that be original tables or recreations of existing ones) on your computer, including in VR. It can work in tandem with another program, VPinMAME (a fork of the MAME emulator tweaked specifically for pinball's dot matrix displays, or DMDs for short), to handle accurate ports of almost all pinball tables.
The "recommended" way to install Visual Pinball according to its community is an all-in-one installer that installs numerous versions of Visual Pinball (8.x, 9.x, and X) to ensure maximum compatiability with existing tables.
While that's all well and good for desktop play, it's way overkill if all you want to do is play in VR. On top of that, I just find all-in-one installers like that to be somehow wrong, not to mention kinda clunky and possibly even wasteful. Hence, I put together this guide which will *only* install Visual Pinball X and VPinMAME specifically for those wanting to play tables in VR (such as myself).
Links marked in orange are essential files, and links marked in blue are to websites. I'm not sponsored or endorsed by any of these, they're just what work for me!
Download Visual Pinball X and extract it to your preferred location. Once that's done, I'd recommend creating a folder within that new folder called VPinMAME, for organization reasons.
Now download VPinMAME and extract its contents into the new VPinMAME folder.
Double-click Setup64.exe (shady filename, I know, just go with it) and you should see a window with a bunch of options.
Click the "Install" button; if it prompts you to enter some file paths (used to find the locations of ROMs and the like), just leave the defaults as-is and click OK.
Believe it or not, we're pretty much done with installing programs! Now is a good time to open up VPinballX_GL64.exe and configure your controls, video, and VR settings. When you start the program, you'll see an open-file window pop up; for now, just click Cancel.
Once that's closed, you should be able to open up the Preferences tab and change whatever you want or need. At the very least I recommend swinging on over to Configure Keys, Nudge, DOF just to see what the default bindings are for reference...
...Okay, so this is a gigantic mess. For your convenience, I put together a cheat sheet below later in this guide. Thankfully, you only need to worry about binding things if you want to play on controller; if you're okay with keyboard, you don't need to touch any of this. I haven't looked into whether wand controllers are supported yet.
So now Visual Pinball X is pretty much ready to go, but we still need to get tables.
Tables are exactly what they sound like: files that contain an entire pinball table including graphics, scripting, sound effects, just about everything really. They're pretty much like using ROM files in an emulator (quite literally in the case of dot-matrix-era tables, but we'll get to that in a sec).
For VR, you want to look for tables labelled as "Visual Pinball X" specifically (VP9.0 and earlier do NOT work as far as I'm aware), and ideally ones that explicitly state they support VR or "VR Rooms". Tables that don't support VR will still usually play fine, but they won't look anywhere near as nice (you'll get a floating table in a black void and possible visual quirks).
The best way to find tables in my opinion is to use Virtual Pinball Spreadsheet; it gives you a lot of flexibility when searching. On the left-hand side of the page is a section for inputting filters; just add the tags "VPX" and "VR" and you should be good to go.
If you prefer to search right from the source, VP Forums and VP Universe both have dedicated sections for tables either made with VR support to begin with, or modified to give them support. Plenty of tables under their respective "Visual Pinball X" category may also contain VR support; they usually state as such somewhere on their download page.
Tables come as single files with a .vpx extension, and they usually have a naming convention like this: Table Name (YYYY Manufacturer) v0.0.0. Some downloads also include a .b2s (Backglass 2nd Screen) file, which is unnecessary for our purposes and can almost always be deleted or ignored.
I should note that some tables might support VR, but not enable it by default. See Common Issues below for details on how to enable it.
A pretty substantial number of tables, namely "recent" (~1979 and up) ones that feature a dot matrix or seven-digit display, will also need a separate ROM file in order to work. The download pages for a given table will usually have the ROM's file name in their information section.
If you have a table that didn't give you this information, you can launch the table and VPinMAME will warn you that it couldn't find the ROM file in question, giving you the file name and expected contents.
As for where to obtain these ROMs, I can't distribute them for copyright reasons. I can, however, say that these ROM files should be ZIPs and go in the VPinMAME/roms/ directory. DO NOT rename or extract the ZIPs, as the filename is critical for VPinMAME being able to find it.
You can verify if you have the correct ROM by launching Setup64.exe, then going to "Test" and finding the table or ROM's name and clicking "Check ROMs". You can also launch the ROM itself from the same menu to verify it's functional.
As a quick aside, since you most likely have VPinMAME's Setup64.exe open anyways, I would also highly recommend going to the "Setup Defaults" menu and enabling "Cabinet Mode". This disables a roughly 10-second-long splash screen that appears every time VPinMAME starts, which can get annoying really quickly.
I won't go too in-depth on this part, as there's plenty of guides all across the internet for setting up VR headsets for use with a PC already, so consider this a brief summary.
Visual Pinball relies on SteamVR in order to use VR headsets, and thus requires Steam to be installed.
Most headsets should just work with SteamVR right away. The big exception to this is Oculus/Meta's Rift and Quest headsets, which require you to first install its own drivers and software which must be ran before SteamVR. In the case of the Oculus Quests, you'll also need to enable either Quest Link or Air Link in the headset's internal settings menu.
Once all of that is done, you should be able to double-click VPinballX_GL64.exe to launch Visual Pinball. It'll ask you to select a VPX file; once you pick one, it will automatically start loading that table. If SteamVR isn't open, Visual Pinball will also ask if you want to start that; select Yes.
If you're playing a game that uses a dot-matrix ROM, VPinMAME will also pop up a window asking if you can legally play that ROM. Click Yes, and it'll not prompt you for any further launches of that table.
If all goes well, after waiting a few seconds, you should be dropped in front of the table. Give it a few seconds to go through initialization and you should be able to put on your headset and start playing it!
These are basic controls that should apply universally across all of Visual Pinball X.
|
|
|
---|---|---|
5 key | Insert Coin | |
1 key | Start button | |
Left and Right Shift | Flip flippers | |
Z key | Nudge table to the left | |
/ key | Nudge table to the right | |
Space | Nudge table upwards | |
Esc key | Pause menu | |
Numpad 5 | Reset VR Position | |
Numpad 8 and 2 | Adjust VR vertical position | |
F1 key | Change VPinMAME settings (on a per-game basis) | |
F3 key, then 7 key | Reset VPinMAME |
These controls depend on the specific table you're playing. Labels not all-encompassing.
8 and 9 key | Adjust volume (in most Stern tables) |
7 key | Service / Test mode |
Left and Right Ctrl | Magna Save buttons (function varies) |
I've ran into a few little hitches here and there during my VPX experiences, so I figured it'd be worth listing them here to pre-emptively save you some time.