CPA (Common Programming Architecture), also known as ACP (Architecture Commune de Programmation) is a 3D engine originally developed by Ubisoft for use in Tonic Trouble and Rayman 2. It was later used in many other games and ported to a wide array of game consoles.
The core engine itself is written in C and was developed mainly by Ubi Pictures (Montpellier) and Ubi Simulations (Annecy), with later enhancements by Ubisoft Montreal in a separate branch. This Montreal branch uses the “OpenSpace” name for the engine. The earliest known mention of this name is found in the December 1999 edition of Micromania Tercera Época 1).
The game editor is written mostly in C++ (MSVC, using MFC as GUI) and was developed by Ubi Simulations and Ubisoft SRL (Bucharest, internally known as ROMTEAM).
In February 2022, a version of the CPA engine used during the development of Rayman 4 DS (later Rayman Raving Rabbids DS) was leaked to the internet, including the source code of the engine itself, the editor and many internal tools. This version of the engine is based on the Nintendo DS port of Rayman 2.
This version is based on the R4DS leak and includes many bugfixes, patches, quality-of-life features, and a working Rayman 2 player model and AI scripts.
The full list of games using the CPA engine can be found on RayWiki.