Technical tips for the Multimorphic P3 Platform
Owner Series
A chart showing which games work with which modules.
By Multimorphic.
Links to rule sheets for the games on the P3 platform.
How to remove the head of a P3 cabinet equipped with an LCD backbox monitor.
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 the P3SampleApp starts and therefore where to start studying the code.
Lists the APIs added, modified or deleted in P3_SDK_V0.9 compared to P3_SDK_V0.8.
The list of Switches, Coils, LEDs and Servos that come with the P3 Base Platform.
Describes mode events and GUI events.
Different ways to trace which modes are currently running.
Explores the rotating cube feature of P3SampleApp.
Explains the GameAttributeOptions and GameAttributeCompareOptions.
Covers profiles and savepoints.
Explains how to save the Player’s progress throughout the game.
Adds a new high score category to P3SampleApp and covers high score implementation details.
Describes the P3's implementation of virtual LEDs on the screen.
Describes SideTargets, inlanes and outlanes.
Discusses the ball, flipper and slingshot avatars, and the playfield overlay.
Explores how named locations are defined and used with the floating PopupScore.
Describes how the ball saver works.
Describes the sound manager P3SAAudio.
Describes the infrared grid and burst switches.
Presents an experiment to determine how big the virtual targets must be.
Describes the backbox display and LEDs.
Describes the Dynamic Link Libraries under ./Assets/Plugins.
Describes the methods in the Driver class used to activate coils.
How to distribute P3 projects legally.
Module-Specific Tech Tips
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.
Developer Series (needs to be updated for P3_SDK_V0.9)
A tutorial showing how to implement a multiball mode in P3SampleApp.
Lists the typical tasks needed to make a software only game or a complete game kit with a playfield module.
Presents a collection of light shows designed for the speaker panel LEDs.
Describes how this simple savepoint file manager uses Dialogs.
A tutorial showing how to implement tilt in P3SampleApp.
Developer Series Archive
These P3_SDK_V0.8 articles were made obsolete when P3_SDK_V0.9 was released.
Note: This was fixed in P3_SDK_V0.9 P3SampleApp.
How to adjust the sample code to handle Target BallPaths on WAMONH.
Note: P3_SDK_V0.9 P3SampleApp already incorporates all these fixes.
How to modify P3SampleApp to make it work better on the physical machine.
Note: P3_SDK_V0.9 P3SampleApp is already trimmed down with no dead code or unused resources.
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.
Note: P3_SDK_V0.9 now comes with a license making this a lot easier.
How to distribute open source P3 project knowing the P3 SDK license is proprietary.
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
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
Except as otherwise noted, the content of P3TechTips is
Copyright (c) 2023-2026 Clement Pellerin. All Rights Reserved.
Code samples are licensed under the MIT License.