How It Works
The SimConnect protocol:- Loads the SimConnect SDK library (
SimConnect.dll) using side-by-side assembly manifests - Opens a connection to the running flight simulator
- Subscribes to frame update events to maintain the connection
- Sends camera position updates using
CameraSetRelative6DOFAPI calls - Automatically handles reconnection if the simulator restarts
Technical Implementation
The protocol runs in a separate thread and:- Polls for simulator events using
CallDispatchwith a 2-second timeout - Automatically reconnects every 5 seconds if connection is lost
- Converts OpenTrack coordinates to SimConnect camera space
- Handles exception and quit events from the simulator
Compatible Simulators
Microsoft Flight Simulator X
All versions: RTM, SP1, SP2, Acceleration Pack
FSX Steam Edition
Steam version with all updates
Prepar3D v1-v5
Lockheed Martin Prepar3D all versions
Microsoft Flight Simulator 2020/2024 does not use SimConnect for head tracking. Use the FreeTrack protocol instead.
Prerequisites
SimConnect SDK Installation
The SimConnect protocol requires the SimConnect SDK to be installed on your system.Locate SDK installer
The SimConnect SDK is included with your flight simulator installation:FSX/FSX-SE:Prepar3D:
Setup Instructions
Select SimConnect protocol
In OpenTrack, go to the Output dropdown and select “Microsoft FSX SimConnect”.
Configure SimConnect version
Click the settings button next to the Output dropdown.SimConnect manifest selection:
- FSX RTM (original)
- FSX SP1
- FSX SP2
- FSX Acceleration Pack / SP2 with extras
- FSX Steam Edition (original)
- FSX Steam Edition (latest)
- Prepar3D
Start OpenTrack
Click Start in OpenTrack. The protocol will:
- Load the SimConnect library
- Wait for the simulator to start
- Automatically connect when detected
Configuration
SimConnect Version Manifests
OpenTrack includes manifests for different SimConnect versions to ensure compatibility:| Manifest | SimConnect Version | Compatible With |
|---|---|---|
fsx_rtm.manifest | 10.0.60905.0 | FSX Original |
fsx_sp1.manifest | 10.0.61242.0 | FSX SP1 |
fsx_sp2.manifest | Multiple | FSX SP2 |
fsx_p3d_sp2_xpack.manifest | 10.0.61259.0 | FSX Acceleration, P3D |
fsx_steam_orig.manifest | 10.0.62607.0 | FSX Steam (early) |
fsx_steam_last.manifest | 10.0.62615.0 | FSX Steam (current) |
Coordinate System
OpenTrack coordinates are converted to SimConnect camera space:Connection Management
Automatic Reconnection
The protocol includes robust reconnection logic:- Connection timeout: 2 seconds between frames
- Reconnect delay: 5 seconds after disconnect
- Event-driven: Reconnects on simulator quit/exception events
Status Messages
OpenTrack displays connection status:"fsx: connect failed, retry in 5 seconds..."- Waiting for simulator"fsx: timeout reached, reconnecting"- Connection lost"fsx: got quit event"- Simulator closed
Troubleshooting
”Install FSX/Prepar3D SimConnect SDK” Error
Cause: SimConnect SDK not installed or not in SxS assembly cache. Solution:- Locate the SDK installer in your simulator’s SDK folder
- Run
SimConnect.msias administrator - Restart OpenTrack after installation
”dll load failed” Error
Cause: SimConnect.dll could not be loaded. Solution:- Verify SDK is installed correctly
- Check Windows Event Viewer for SxS loading errors
- Try selecting a different manifest version
- Reinstall the SimConnect SDK
Connection Timeouts
Symptoms: OpenTrack connects but frequently disconnects. Solution:- Ensure simulator is running in foreground
- Check no other applications are using SimConnect
- Verify firewall isn’t blocking SimConnect
- Try running both OpenTrack and simulator as administrator
Head Tracking Not Working
Symptoms: Connected but camera doesn’t move. Solution:- Verify tracking is working in OpenTrack preview window
- In simulator, ensure external view or virtual cockpit mode is active
- Check simulator graphics settings don’t override camera controls
- Try reloading the flight or restarting the simulator
Prepar3D Specific Issues
Advanced Configuration
Multiple Simulator Installations
If you have multiple simulators installed:- Create separate OpenTrack profiles for each
- Select the appropriate SimConnect manifest per profile
- Use OpenTrack’s profile switcher to change between them
Performance Tuning
For best performance:- Use the most recent manifest version for your simulator
- Ensure OpenTrack filter settings match your input device framerate
- Consider reducing update rate if CPU usage is high
Technical Details
SimConnect API Functions Used
Thread Safety
The protocol uses:QMutexfor protecting shared data between threads- Separate background thread for SimConnect event processing
- Atomic bool for reconnection signaling
Event Handling
The protocol responds to these SimConnect events:SIMCONNECT_RECV_ID_EVENT_FRAME- Frame updates (maintains connection)SIMCONNECT_RECV_ID_EXCEPTION- Error events (logged only)SIMCONNECT_RECV_ID_QUIT- Simulator closing (triggers reconnect)
The SimConnect protocol provides the most responsive and stable head tracking experience for FSX and Prepar3D users. For other flight simulators, use the FreeTrack protocol.