Read this in other languages: Русский
A local two-player co-op mod for PRAGMATA (Steam version 1.2.2.0+).
This mod enables local split-control co-op on a single PC:
- Player 1 (Hugh): Full control over movement, combat, camera, and target selection.
- Player 2 (Diana): Uses a second controller to solve hacking mini-games and puzzles (
Y/X/A/Bor▲/■/X/●).
RE Engine natively merges input from all connected controllers into a single combined device. To separate controls, this mod consists of three components:
-
Native Input Filter (
native/PragmataInputFilter.cpp):- Hooks
XINPUT1_4.dllfunctions insidePRAGMATA.exe. - Isolates controllers so the game engine only sees Player 1's gamepad while Player 2's inputs are intercepted.
- Keyboard and mouse input is never filtered and always remains available to Player 1.
- Hooks
-
C# REFramework Plugin (
managed/PragmataSplitControl/):- Reads Player 2's controller via
XINPUT9_1_0.dll. - Passes Player 2's hacking directional commands directly into active in-game puzzles.
- Automatically falls back control to Player 1 if Player 2's controller disconnects.
- Reads Player 2's controller via
-
Configurator Utility (
tools/PragmataSplitControlConfigurator.cs):- WinForms application for easy controller slot assignment and live input testing.
- DualSense / DUALSHOCK 4 (Native HID) for P1 + Xbox/XInput for P2 (Recommended to retain DualSense adaptive triggers).
- Two Xbox / XInput Controllers.
- Keyboard & Mouse for P1 + XInput Controller for P2.
├── managed/ # C# plugin for REFramework
│ └── PragmataSplitControl/
│ ├── PragmataSplitControl.cs
│ ├── PragmataSplitControl.csproj
│ └── AssemblyInfo.cs
├── native/ # Native C++ input filter DLL
│ └── PragmataInputFilter.cpp
├── tools/ # WinForms configurator tool source
│ └── PragmataSplitControlConfigurator.cs
├── release/ # Config templates and release assets
├── README.md # English documentation
└── README_RU.md # Russian documentation
- C# Plugin:
dotnet build managed/PragmataSplitControl/PragmataSplitControl.csproj -c Release - Configurator: Build
tools/PragmataSplitControlConfigurator.csintoPragmataSplitControl_Config.exe - C++ Filter: Build
native/PragmataInputFilter.cppintoPragmataSplitControl_InputFilter.dll(x64 DLL)
- Install REFramework.
- Extract the compiled mod files into your
PRAGMATA.exegame directory. - Run
PragmataSplitControl_Config.exe, assign controllers, and click Save configuration. - Launch PRAGMATA.

