Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.


Visual Pinball Engine

A library that implements world's favorite pinball simulator.

build codecov UPM Package


Today we have nice game engines like Unity or Godot that support C# out of the box. The goal of VPE is to easily provide what Visual Pinball makes so great to other "current gen" engines, while keeping backwards-compatibility.

VPE also aims to significantly improve the editor experience by extending the editor of the game engine.

For a more detailed overview, header over to the website!


The "core" of VPE (i.e. the VisualPinball.Engine project) is a pure C# port of the original Visual Pinball. It has no dependencies to any proprietary third parties, and provides the data layer.

We're currently focusing on Unity as a game engine. Visual Pinball's physics engine has been ported to DOTS, and we're focusing on Unity's HDRP for the visuals.

Dependency Graph

This repository is part of a number of packages. It is what we're referring to as the main package.


Current Status

VPE is still work in progress. You can check the current features list here and the open issues here.

There are a few videos in the VPF thread, where you can discuss. Screenshots are here! :)


IntelliJ IDEA

Special thanks go to JetBrains for their awesome IDE and support of the Open Source Community!


Since 4616dcbb, GPL-3.0. Before 4616dcbb, GPL-2.0.