MSFSTouchPortalPlugin
A plugin which provides a two-way interface between Touch Portal clients and Flight Simulators which use SimConnect, such as MSFS 2020 and FS-X.
Install / Use
/learn @mpaperno/MSFSTouchPortalPluginQuality Score
Category
Development & EngineeringSupported Platforms
Tags
README
MSFS/SimConnect Touch Portal Plugin
<div align="center"> <img src="https://github.com/mpaperno/MSFSTouchPortalPlugin/wiki/images/logo/banner_top-768x204.png" /> </div>Overview
This plugin provides tools for Touch Portal macro launcher software to build two-way interactive interfaces for Flight Simulators which use SimConnect, such as Microsoft Flight Simulator 2020/2024/FS-X and Prepar3D. The plugin makes available new Touch Portal Actions, Connectors, States, and Events for creating buttons and pages suitable for virtually any simulated aircraft, component, or system.
This project is a continuation of the original MSFSTouchPortalPlugin by Tim Lewis.
Features
- Connects to local or remote simulators with SimConnect.
- Allows getting data variables from simulator at regular intervals, such as flight instrument readings, control surface positions, or switch states.
- Allows triggering any interactive aircraft event via Touch Portal Actions, such as setting switches, adjusting control surfaces, radio frequencies, and so on.
- Use Touch Portal "Sliders" to control a value within any range, and/or provide visual feedback to simulator variable changes (eg. a throttle slider can both control the sim throttle and show the actual position when the throttle is moved in the sim via other methods).
- Completely configurable to request any variable or trigger any event supported by the connected simulator, including with custom extensions like MobiFlight.
- Supports simulator system events (such as "flight loaded" or "sim started") as Touch Portal Events.
- Set and read model-specific "Input Event" values (new in plugin v1.5 and MSFS SU13).
- Allows simultaneous usage from multiple networked Touch Portal devices.
- Optional WASM (Web ASseMbly) module integration allows even greater expansion, with access to many variable types and events/actions not normally accessible via SimConnect alone.
- Execute "Reverse Polish Notation" (RPN) language scripts on the simulator to get or set custom values, trigger events, format strings, and more (requires WASM module add-on).
- Categorized lists of all SimConnect Event IDs and Simulator Variables to choose from, custom imported from MSFS online documentation (exclusive feature!).
- Integrates live HubHop data for activating thousands of available Input Events provided by the community (requires WASM integration).
- Separate plugins available for MSFS 2020/2024 and older sims supporting 32-bit FS-X versions of SimConnect.
Editions
There are two separate plugins available here, one for MSFS 2020/2024, and another for "legacy" sims like FS-X and Prepar3D, which should work with any sim which supports the older SimConnect SDK.
- The "MSFS" edition is recommended for use with MSFS 2020 & 2024 since it provides features specific to these versions (like setting 'L' vars and WASM integration).
- The "FSX" edition will connect to FSX Deluxe SP2 or newer simulators (including Steam and Acceleration editions and all known versions of P3D).<br /> This also includes MSFS 20/24, but will not support certain features like WASM and HubHop integration or setting multiple SimConnect Event values.
- The two plugin editions are completely separate and can be installed and run in Touch Portal at the same time.
- Pages and buttons made for one edition will not work in the other (because they're separate plugins as far as TP is concerned).
Installation
Note: As with all plugins, this requires the Touch Portal Pro (paid) version to function.
- Get the latest release of this plugin(s) you want to install from the Releases page.
- The plugins are distributed and installed as a standard Touch Portal
.tppplugin files. If you know how to import a plugin, just do that and skip to step 4. - Import the plugin:
- Start/open Touch Portal.
- Click the Settings "gear" icon at the top-right and select "Import plugin..." from the menu.
- Browse to where you downloaded this plugin's
.tppfile and select it. - When prompted by Touch Portal to trust the plugin startup script, select "Trust Always" or "Yes" (the source code is public!).
- By default the plugin will not attempt to connect to a flight simulator automatically. You have two options:
- Recommended: Create/import a Touch Portal button which triggers the "MSFS - Plugin - Connect & Update -> Toggle Simulator Connection" action. (Also a good place to show the current connection status.)
- Change the plugin's settings: Click the Touch Portal "gear" icon at top right of the main screen,
then navigate to Settings -> Plugins -> "MSFS Touch Portal Plugin". Set the
"Connect To Flight Sim on Startup" setting to a value of
1(one) and save the settings. The plugin will keep attempting to connect to the simulator every 30 seconds.
Optional WASM Module (only for MSFS 2020/2024 on PC)
- The optional
WASimModuleMSFS component is highly recommended as a companion to this plugin. It it not required to use most of the basic plugin features, but it will provide a more advanced feature set (such as access to local "L" variables and HubHop Input Events) and further optimizations.- Download the
WASimModule.zip file from the same published Release as the plugin. - Extract the contents into your MSFS Community folder (so that the folder wasimcommander-module is directly inside the Community folder).
- If already running, MSFS would need to be restarted after adding the module.
- Download the
Updates
The plugin can be updated to a new version by following the same installation procedure described above. It is not necessary to remove any previous version first. The only thing to be aware of is that any old plugin log files will be removed during the update process. See below about how to get notified of updates automatically.
Installation Guides
Keep in mind that while guides can be helpful as an overview and to get started, they do get outdated and also may not cover all that is possible to do or configure.
- A video tutorial about the whole setup process was published by OverKill Simulations on YouTube: Microsoft Flight Simulator | MSFS Touch Portal | YOU NEED THIS!
- An older installation and usage guide was published on the Simvol Web site: How to use Touch Portal [with MSFS].
Documentation, Pages and Examples
See the Wiki for all documentation, guides, tips, and example pages and buttons to get started with.
Troubleshooting
The plugin logs errors and warnings to a plain-text file. 7 days worth of logs are kept by default (a new file is started for each day). The log files are located within the plugin's installation folder, which is in Touch Portal's configuration directory:
C:\Users\<User_Name>\AppData\Roaming\TouchPortal\plugins\MSFS-TouchPortal-Plugin\logs<br />
or for the FSX edition: <br />
C:\Users\<User_Name>\AppData\Roaming\TouchPortal\plugins\FSX-TouchPortal-Plugin\logs
folder, where <User_Name> is your Windows user name.
If something isn't working as expected, check the log.
Another way to quickly see latest log entries is by using the provided TP States and displaying them in a button area.
- MSFS - Plugin -> Most recent plugin log messages (
MSFSTouchPortalPlugin.Plugin.State.LogMessages) - Shows the last dozen logged messages. Give this one a good size "button" (eg. cell size 4x3 or so). - MSFS - System -> Data from most recent Simulator System Event (
MSFSTouchPortalPlugin.SimSystem.State.SimSystemEventData) - Shows one line of text from the last significant "simulator event." In case an error or warning is logged, the log entry with the error should show here.
You could also monitor the _MSF
