P3TechTips
Technical tips for the Multimorphic P3 Platform
Owner Series
Links to rule sheets for the games on the P3 platform.
How to remove the head of a P3 machine (Version 2 cabinet with LCD in head)
By guest author Dave Sousa
How to 3D print alternate button boxes that are easier to flip with 2 fingers.
By guest author Dan Howard aka BorgDog
How to replace the noisy power supply fan with a quieter fan.
How to adjust a sensitive tilt, plus a solution to dampen the tilt bob movement.
Developer Series
A getting started guide for developing games with the P3 SDK.
How to install the SDK and the tools you need for development.
How to organize the views within the Unity Editor.
By guest author John Shepherd.
How to modify P3SampleApp to make it work better on the physical machine.
Explores the rotating cube feature of P3SampleApp.
A tutorial showing how to implement a multiball mode in P3SampleApp.
How the P3SampleApp starts and therefore where to start studying the code.
The list of Switches, Coils, LEDs and Servos that come with the P3 Base Platform.
How to adjust the sample code to handle Target BallPaths on WAMONH.
P3EmptyGame is a trimmed down version of P3SampleApp to help learn the P3 SDK.
It can also serve as the basis for new games with less clutter.
How to distribute an open source P3 project knowing the P3 SDK license is proprietary.
Describes the Dynamic Link Libraries under ./Assets/Plugins.
Lists the typical tasks needed to make a software only game or a complete game kit with a playfield module.
Different ways to trace which modes are currently running.
Describes mode events and GUI events.
Explains the GameAttributeOptions and GameAttributeCompareOptions.
Describes the methods in the Driver class used to activate coils.
Describes how the ball saver works.
Describes SideTargets, inlanes and outlanes.
Describes the sound manager P3SAAudio.
Discusses the ball, flipper and slingshot avatars, and the playfield overlay.
Describes the backbox display and LEDs.
Describes the P3's implementation of virtual LEDs on the screen.
Presents a collection of light shows designed for the speaker panel LEDs.
Describes how this simple savepoint file manager uses Dialogs.
Covers profiles and savepoints.
Explains how to save the Player’s progress throughout the game.
Describes the infrared grid and burst switches.
Presents an experiment to determine how big the virtual targets have to be.
Adds a new high score category to P3SampleApp and covers high score implementation details.
Examines the BallPaths on the Lexy Lightspeed module.
Documents how to control the Lexy Lightspeed ship in software.
Documents how to control the Heist Crane in software.
Examines the BallPaths on the Heist module.
Examines the BallPaths on the WAMONH module.
A tutorial showing how to implement tilt in P3SampleApp.
Explores how named locations are defined and used with the floating PopupScore.
AI Series
You must weigh the benefits of using AI in your project versus the difficulty of hiring talent later on. Many artists stipulate their work cannot be mixed with a project using AI, except for coding assistance.
Overview of the field of generative AI for those new to the subject.
Support
Please submit a GitHub issue if you find a problem, however small.
You can discuss these P3 Technical Tips and other P3 Development topics on the P3 Community Discord Server in the dev-forum channel under the 3rd Party Development section.
License
Copyright (c) 2023-2025 Clement Pellerin. All Rights Reserved.