🕷️ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 180 (from laksa073)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

ℹ️ Skipped - page is already crawled

📄
INDEXABLE
CRAWLED
2 days ago
🤖
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.1 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm
Last Crawled2026-04-08 13:20:21 (2 days ago)
First Indexed2021-03-07 22:59:42 (5 years ago)
HTTP Status Code200
Meta TitleSimConnect SDK
Meta Descriptionnull
Meta Canonicalnull
Boilerpipe Text
The SimConnect SDK can be used by programmers to write add-on components that communicate with Microsoft Flight Simulator 2020 . Both in-process modules and out-of-process executables have access to the SimConnect API , noting the following: Out-of-process add-on components for Microsoft Flight Simulator can be written in C, C++, or - if the managed API calls are being used - any .NET language such as C#.net or VB.net. In-process modules are written in C++ and compiled into WebAssembly modules. Typically the components and modules using the SimConnect SDK will perform one or more of the following: Add the processing for a new complex gauge, or other instrument, to Microsoft Flight Simulator 2020 . Replace Microsoft Flight Simulator 2020 processing of one or more events with new logic. Record or monitor a flight. Extend the mission system of Microsoft Flight Simulator 2020 . Create and set the flight plans for AI (non-user) aircraft. Enable new hardware to work with Microsoft Flight Simulator 2020 . Control an additional camera that the user can optionally select to view. Communicate with other SimConnect clients. The pages available in this section are: SimConnect API Reference Programming SimConnect Clients using Managed Code SimConnect Samples You can find information on how you can use the DevMode SimConnect debug tool to help you find issues and errors with your SimConnect apps here:   SimConnect Inspector You can also find additional helpful information from the following pages: Simulation Variables Simulation Event IDs Finally, there are some pages relating to legacy files that could be used for configuring and debugging SimConnect client/server communications (these files can still be used, although it's not recommended any longer and the functionality may be removed or changed in the future): INI Definition CFG Definition XML Definition Setup This section describes how to set up a working development environment for SimConnect. WebAssembly Modules WebAssembly modules can use SimConnect internally, provided as part of the SDK. It is only required to inlcude "simconnect.h" . More information in WebAssembly modules . C/C++ Projects To build SimConnect add-ons, the recommended Visual Studio version is Visual Studio 2019, with a minimum version of 2005. To build the project, make sure you have completed the following steps. For out-of-process applications, start a new Console Application project if the add-on will have no user interface. Start a new MFC Application if the add-on will have a user interface. In either case, set the platform as x64 . In order to use the SimConnect functionality, it is required to include the SimConnect.h header file. include "SimConnect.h" The dependencies can be either configured Using the Property Manager , or via Manual Configuration . Using the Property Manager The SDK now provides Visual Studio property sheet. It can be included in: Property Manager -> (select project) -> Add Existing Property Sheet And selecting the Property Sheet provided in the SDK: $(MSFS_SDK)\SimConnect SDK\VS\SimConnectClient.props Manual Configuration Alternatively, the configuration can be performed manually, by performing the following steps: Add the SimConnect include folder ( $(MSFS_SDK)\SimConnect SDK\include ) to the Additional Includes : Add SimConnect from the library directory ( $(MSFS_SDK)\SimConnect SDK\lib ) to the Additional Library Directories : Link to the SimConnect.lib library, by adding the following dependencies to Additional dependencies : SimConnect.lib shlwapi.lib user32.lib Ws2_32.lib Build the application using the function calls described in this document. C# / .NET / VB.NET Projects For C#, or other .NET language add-ons, refer to the special section on Programming SimConnect Clients using Managed Code , but general procedure is: Build the application using the function calls described in this document. An example is given with the SimvarWatcher sample . Design Considerations The design of a SimConnect add-on involves writing a client to communicate with a server running within Microsoft Flight Simulator 2020 . The client opens up communications with the server, then requests that certain events and certain object information is passed to it. The client then waits for the information to be received from the server, and then processes it appropriately. The recommended method of writing an add-on is to build it out-of-process as an application (an .exe file) rather than in-process (a WASM module). This is because out-of-process applications provide more stability, if they crash they typically will not crash Microsoft Flight Simulator 2020 , and they are easier to build, test and debug. Out-of-process also supports managed code, and therefore applications can be written in .NET languages with their rich support for objects and ease of building the UI. SimConnect clients are not currently thread-safe . SimConnect makes extensive use of ID numbers defined by the client. There are ID numbers for requests, data definitions, events, groups, and so on. These ID numbers should be unique for the client. Re-using an ID will result in the previous call using that ID becoming obsolete, and thus being ignored by the server.
Markdown
[Skip To Main Content](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#rh-topic "Skip To Main Content") [SDK Documentation](https://docs.flightsimulator.com/html/Introduction/Introduction.htm "SDK Documentation") Contents Index Glossary - [Introduction](https://docs.flightsimulator.com/html/Introduction/Introduction.htm "Introduction") - [Samples, Schemas, Tutorials and Primers](https://docs.flightsimulator.com/html/Samples_And_Tutorials/Samples_And_Tutorials.htm "Samples, Schemas, Tutorials and Primers") - [Developer Mode](https://docs.flightsimulator.com/html/Developer_Mode/Developer_Mode.htm "Developer Mode") - [External Asset Creation](https://docs.flightsimulator.com/html/Asset_Creation/Asset_Creation.htm "External Asset Creation") - [Content Configuration](https://docs.flightsimulator.com/html/Content_Configuration/Content_Configuration.htm "Content Configuration") - [Programming APIs](https://docs.flightsimulator.com/html/Programming_Tools/Programming_APIs.htm "Programming APIs") - [SimConnect SDK]("SimConnect SDK") - [Programming SimConnect Clients using Managed Code](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/Programming_SimConnect_Clients_using_Managed_Code.htm "Programming SimConnect Clients using Managed Code") - [SimConnect CFG Definition](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_CFG_Definition.htm "SimConnect CFG Definition") - [SimConnect INI Definition](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_INI_Definition.htm "SimConnect INI Definition") - [SimConnect XML Definition](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_XML_Definition.htm "SimConnect XML Definition") - [SimConnect API Reference](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_API_Reference.htm "SimConnect API Reference") - [WebAssembly](https://docs.flightsimulator.com/html/Programming_Tools/WASM/WebAssembly.htm "WebAssembly") - [JavaScript](https://docs.flightsimulator.com/html/Programming_Tools/JavaScript/JavaScript.htm "JavaScript") - [Simulation Variables](https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Simulation_Variables.htm "Simulation Variables") - [GPS Variables](https://docs.flightsimulator.com/html/Programming_Tools/GPSVars/GPS_Variables.htm "GPS Variables") - [Environment Variables](https://docs.flightsimulator.com/html/Programming_Tools/Environment_Variables.htm "Environment Variables") - [Event IDs](https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Event_IDs.htm "Event IDs") - [Additional Information](https://docs.flightsimulator.com/html/Additional_Information/Additional_Information.htm "Additional Information") - [How To Create An Aircraft](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/How_To_Create_An_Aircraft.htm "How To Create An Aircraft") - [World Hub](https://docs.flightsimulator.com/html/WorldHub/World_Hub.htm "World Hub") - [3DS Max]("3DS Max") - [Additional Information]("Additional Information") - [Aerodynamics](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/Flight_Model/Basic_Aerodynamics.htm?agt=index "Aerodynamics") - [Ailerons](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Animations/Animating_Ailerons.htm?agt=index "Ailerons") - [Aircraft]("Aircraft") - [Aircraft Editor Menu - Resync](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/The_Flight_Model.htm?agt=index#resync "Aircraft Editor Menu - Resync") - [Aircraft Editor Menu - Save And Resync](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/The_Flight_Model.htm?agt=index#save_resync "Aircraft Editor Menu - Save And Resync") - [Aircraft Samples]("Aircraft Samples") - [aircraft.xml](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/model.htm?agt=index "aircraft.xml") - [Airframe]("Airframe") - [Airports And Facilities]("Airports And Facilities") - [Ambient Occlusion](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/Texturing/Ambient_Occlusion.htm?agt=index "Ambient Occlusion") - [Animation]("Animation") - [Animations Overview](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/Animations.htm?agt=index "Animations Overview") - [Asset Creation]("Asset Creation") - [Audio]("Audio") - [Autopilot]("Autopilot") - [Balance](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/Flight_Model/Weight_And_Balance.htm?agt=index "Balance") - [Biomes]("Biomes") - [Blender]("Blender") - [Building](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/Package_Building.htm?agt=index "Building") - [Button Animation](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/Animations/Button_Animation.htm?agt=index "Button Animation") - [Cameras]("Cameras") - [CFD](https://docs.flightsimulator.com/html/Developer_Mode/Aircraft_Editor/Debug/Debug_Aircraft_CFD.htm?agt=index "CFD") - [CFG Files]("CFG Files") - [Checklists]("Checklists") - [Cockpit]("Cockpit") - [Collision Mesh]("Collision Mesh") - [Contact Points](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/Flight_Model/Wheels_And_Contact_Points.htm?agt=index "Contact Points") - [Creating The Project](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Creating_The_Project.htm?agt=index "Creating The Project") - [Debugging]("Debugging") - [Decals](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/Texturing/Decals.htm?agt=index "Decals") - [Developer Mode]("Developer Mode") - [Dirt](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Texturing/Surface_Detail.htm?agt=index "Dirt") - [Elevator](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Animations/Animating_The_Elevator.htm?agt=index "Elevator") - [Emissive Elements](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/Texturing/Emissive_Materials.htm?agt=index "Emissive Elements") - [Engines](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Animations/Animating_Engines.htm?agt=index "Engines") - [Environment]("Environment") - [Environment Variables](https://docs.flightsimulator.com/html/Programming_Tools/Environment_Variables.htm?agt=index "Environment Variables") - [Examples]("Examples") - [Exporting](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Model_Exporting.htm?agt=index "Exporting") - [File Formats]("File Formats") - [File Setup](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/File_Setup.htm?agt=index "File Setup") - [Files]("Files") - [Flight Model]("Flight Model") - [Flights And Missions]("Flights And Missions") - [flt](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/Additional_Information/FLT_Files.htm?agt=index "flt") - [Gauges]("Gauges") - [Geometry](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/Flight_Model/Geometry.htm?agt=index "Geometry") - [Geometry Optimisation](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/Geometry_Optimisation.htm?agt=index "Geometry Optimisation") - [Helicopters]("Helicopters") - [Ice](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Texturing/Ice.htm?agt=index "Ice") - [Instruments]("Instruments") - [JavaScript]("JavaScript") - [Landing Gear](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Animations/Animating_Landing_Gear.htm?agt=index "Landing Gear") - [Licencing]("Licencing") - [Lights]("Lights") - [Livery](https://docs.flightsimulator.com/html/Samples_And_Tutorials/Samples/SimObjects_Aircraft/LiveryAircraft.htm?agt=index "Livery") - [Living World]("Living World") - [Localization]("Localization") - [LODs]("LODs") - [LODs - Aircraft LODs](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/LODs/LODs.htm?agt=index "LODs - Aircraft LODs") - [Marketplace]("Marketplace") - [Material Contrast](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/LODs/Material_Contrasts.htm?agt=index "Material Contrast") - [Material Mapping](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/Texturing/Material_Mapping.htm?agt=index "Material Mapping") - [Materials]("Materials") - [Model Behaviors]("Model Behaviors") - [model.cfg](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/model.htm?agt=index "model.cfg") - [Modelling]("Modelling") - [Modelling Process](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/The_Modelling_Process.htm?agt=index "Modelling Process") - [Models]("Models") - [Naming Conventions](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/File_Setup.htm?agt=index "Naming Conventions") - [Occluder](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/Collision_Meshes.htm?agt=index "Occluder") - [Package Building](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/Package_Building.htm?agt=index "Package Building") - [Package Tool]("Package Tool") - [Preparation]("Preparation") - [Primers]("Primers") - [Programming Tools]("Programming Tools") - [Project Editor]("Project Editor") - [Propellers](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Texturing/Propellers_And_Turbines.htm?agt=index "Propellers") - [Registration Numbers](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Texturing/Registration_Numbers.htm?agt=index "Registration Numbers") - [Rivets And Bumps](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Texturing/Surface_Detail.htm?agt=index "Rivets And Bumps") - [RTCs]("RTCs") - [Rudder](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Animations/Animating_The_Rudder.htm?agt=index "Rudder") - [Samples]("Samples") - [Scenery]("Scenery") - [SDK]("SDK") - [Silhouette](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/LODs/Material_Contrasts.htm?agt=index "Silhouette") - [SimConnect]("SimConnect") - [SimObjects]("SimObjects") - [SimVars]("SimVars") - [Size On Screen](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/LODs/Size_On_Screen.htm?agt=index "Size On Screen") - [Sounds / Audio]("Sounds / Audio") - [Surface Detail](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Texturing/Surface_Detail.htm?agt=index "Surface Detail") - [Textures]("Textures") - [Texturing]("Texturing") - [Tools]("Tools") - [Translucent Elements](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/Texturing/Translucent_Elements.htm?agt=index "Translucent Elements") - [Turbines](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Texturing/Propellers_And_Turbines.htm?agt=index "Turbines") - [Tutorials]("Tutorials") - [Vehicles]("Vehicles") - [Visual Effects]("Visual Effects") - [Visual Effects Editor]("Visual Effects Editor") - [VR](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/VR_Helpers.htm?agt=index "VR") - [VR Helpers](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Cockpit/VR_Helpers.htm?agt=index "VR Helpers") - [WASM / WebAssembly]("WASM / WebAssembly") - [Weather]("Weather") - [Weight](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Files/Flight_Model/Weight_And_Balance.htm?agt=index "Weight") - [Wheels]("Wheels") - [Windows](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Texturing/Windshield_And_Windows.htm?agt=index "Windows") - [Windshield](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Texturing/Windshield_And_Windows.htm?agt=index "Windshield") - [WingFlex](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Animations/WingFlex.htm?agt=index "WingFlex") - [Wingflex Flaps](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Animations/WingFlex_-_Flaps.htm?agt=index "Wingflex Flaps") - [Wingflex Slats](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Animations/WingFlex_-_Slats.htm?agt=index "Wingflex Slats") - [Wingflex Spoilers](https://docs.flightsimulator.com/html/mergedProjects/How_To_Make_An_Aircraft/Contents/Modelling/Airframe/Animations/WingFlex_-_Spoilers.htm?agt=index "Wingflex Spoilers") - [World Hub]("World Hub") - [Wwise]("Wwise") - [XML Files]("XML Files") - [Yoke Animation]("Yoke Animation") - ADC - ADC - add-ons - add-ons - ADF - ADF - ADI - ADI - ADPCM - ADPCM - AFM - AFM - AGL - AGL - AH - AH - AHRS - AHRS - ambisonic - ambisonic - AMSL - AMSL - AoA - AoA - AOC - AOC - API - API - APU - APU - ATC - ATC - BGL - BGL - bpp - bpp - Camber - Camber - CAS - CAS - CFD - CG - CG - CGL - CGL - Chord - Chord - CoL - CoL - dB - dB - dBTP - dBTP - DDS - DDS - de-crab - de-crab - DEM - DEM - Dihedral - Dihedral - DME - DME - DoF - DoF - DRM - DRM - EAS - ECU - ECU - EGT - EGT - ELT - EPR - EPR - FAF - FAF - FIS - FIS - FL - FL - flaps - flaps - FLC - FLC - FOV - FOV - FSUIPC - FSUIPC - ft - ft - ftlbs - ftlbs - GA - GA - Gallon - Gallon - GDI+ - GDI+ - glTF - glTF - GPS - GPS - GPWS - GPWS - GUID - GUID - hp - hp - hPa - IAF - IAF - IAS - IAS - ICAO - ICAO - ICAO code - ICAO code - ICU - ICU - IFR - IFR - ILS - ILS - Incidence - Incidence - inHg - inHg - ISA - ITT - ITT - kcas - kcas - kias - kias - Knot - Knot - ktas - ktas - lbf - lbs - lbs - LDA - LDA - LKFS - LKFS - LOD - LOD - LU - LU - MAC - MAC - Mach - Mach - Makefile - Makefile - MFD - MFD - MOI - MOI - mph - mph - MSL - MSL - MTOW - MTOW - N1 - N1 - N2 - N2 - NDB - NDB - nm - nm - OOI - OOI - OSM - Oswald Efficiency Factor - Oswald Efficiency Factor - Pa - Pa - pbh - pbh - PBR - PBR - PCM - PCM - Percent Over 100 - Percent Over 100 - PFD - PFD - PID - PID - POH - POH - POI - POI - psf - psf - psi - psi - quadkey - quadkey - Rankine - Rankine - RNAV - RNAV - ROC - ROC - RPM - RPM - RTO - RTO - RTPC - RTPC - SDF - SDF - slug - Slug sqft - Slug sqft - sqft - sqft - STOL - STOL - Sweep - Sweep - Tacan - Tacan - TAS - TAS - TCAS - TIN - TIN - TOGA - Twist - Twist - UI - UI - VASI - VASI - VFR - VFR - VFS - VFS - VMO - VMO - VOR - VOR - WASM - WASM - WEP - WEP - Zulu Time - Zulu Time - [× menu-close](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#menu-close) - [☰ menu](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#menu) [Home:](https://docs.flightsimulator.com/html/home.htm "Home:") - [Programming APIs](https://docs.flightsimulator.com/html/Programming_Tools/Programming_APIs.htm "Programming APIs") - [SimConnect SDK]("SimConnect SDK") ## SIMCONNECT SDK The **SimConnect SDK** can be used by programmers to write add-on components that communicate with Microsoft Flight Simulator 2020. Both *in-process* modules and *out-of-process* executables have access to the SimConnect [API](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm), noting the following: - **Out-of-process** add-on components for Microsoft Flight Simulator can be written in C, C++, or - if the managed API calls are being used - any .NET language such as C\#.net or VB.net. - **In-process** modules are written in C++ and compiled into WebAssembly modules. Typically the components and modules using the SimConnect SDK will perform one or more of the following: - Add the processing for a new complex gauge, or other instrument, to Microsoft Flight Simulator 2020. - Replace Microsoft Flight Simulator 2020 processing of one or more events with new logic. - Record or monitor a flight. - Extend the mission system of Microsoft Flight Simulator 2020. - Create and set the flight plans for AI (non-user) aircraft. - Enable new hardware to work with Microsoft Flight Simulator 2020. - Control an additional camera that the user can optionally select to view. - Communicate with other SimConnect clients. The pages available in this section are: - [SimConnect API Reference](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_API_Reference.htm) - [Programming SimConnect Clients using Managed Code](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/Programming_SimConnect_Clients_using_Managed_Code.htm) - [SimConnect Samples](https://docs.flightsimulator.com/html/Samples_And_Tutorials/Samples/VisualStudio/SimConnect_Samples.htm) You can find information on how you can use the DevMode **SimConnect debug tool** to help you find issues and errors with your SimConnect apps here: - [SimConnect Inspector](https://docs.flightsimulator.com/html/Developer_Mode/Menus/Tools/SimConnect_Inspector.htm) You can also find additional helpful information from the following pages: - [Simulation Variables](https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Simulation_Variables.htm) - [Simulation Event IDs](https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Event_IDs.htm) Finally, there are some pages relating to legacy files that could be used for configuring and debugging SimConnect client/server communications (these files can still be used, although it's not recommended any longer and the functionality may be removed or changed in the future): - [INI Definition](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_INI_Definition.htm) - [CFG Definition](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_CFG_Definition.htm) - [XML Definition](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_XML_Definition.htm) ### Setup This section describes how to set up a working development environment for SimConnect. #### WebAssembly Modules WebAssembly modules can use SimConnect internally, provided as part of the SDK. It is only required to `inlcude "simconnect.h"`. More information in [WebAssembly modules](). #### C/C++ Projects To build SimConnect add-ons, the recommended Visual Studio version is Visual Studio 2019, with a minimum version of 2005. To build the project, make sure you have completed the following steps. For out-of-process applications, start a new **Console Application** project if the add-on will have no user interface. Start a new MFC Application if the add-on will have a user interface. In either case, set the platform as `x64`. In order to use the SimConnect functionality, it is required to include the `SimConnect.h` header file. include "SimConnect.h" The dependencies can be either configured [Using the Property Manager](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#using-the-property-manager), or via [Manual Configuration](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#manual-configuration). ##### Using the Property Manager The SDK now provides Visual Studio property sheet. It can be included in: Property Manager -\> (select project) -\> Add Existing Property Sheet And selecting the Property Sheet provided in the SDK: \$(MSFS\_SDK)\\SimConnect SDK\\VS\\SimConnectClient.props ##### Manual Configuration Alternatively, the configuration can be performed manually, by performing the following steps: - Add the SimConnect include folder (`$(MSFS_SDK)\SimConnect SDK\include`) to the `Additional Includes`: ![SimConnect Additional Include Directories](https://docs.flightsimulator.com/html/assets/images/Content_Config/SimConnect/simconnect_include.png) - Add SimConnect from the library directory (`$(MSFS_SDK)\SimConnect SDK\lib`) to the `Additional Library Directories`: ![Add SimConnect.lib And Its Dependencies](https://docs.flightsimulator.com/html/assets/images/Content_Config/SimConnect/simconnect_linker.png) - Link to the `SimConnect.lib` library, by adding the following dependencies to `Additional dependencies`: - `SimConnect.lib` - `shlwapi.lib` - `user32.lib` - `Ws2_32.lib` ![Add The SimConnect lib Folder](https://docs.flightsimulator.com/html/assets/images/Content_Config/SimConnect/simconnect_lib.png) - Build the application using the function calls described in this document. #### C\# / .NET / VB.NET Projects For C\#, or other .NET language add-ons, refer to the special section on [Programming SimConnect Clients using Managed Code](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/Programming_SimConnect_Clients_using_Managed_Code.htm), but general procedure is: - Build the application using the function calls described in this document. - An example is given with the [SimvarWatcher sample](https://docs.flightsimulator.com/html/Samples_And_Tutorials/Samples/VisualStudio/SimvarWatcher.htm). ### Design Considerations The design of a SimConnect add-on involves writing a client to communicate with a server running within Microsoft Flight Simulator 2020. The client opens up communications with the server, then requests that certain events and certain object information is passed to it. The client then waits for the information to be received from the server, and then processes it appropriately. The recommended method of writing an add-on is to build it **out-of-process** as an application (an `.exe` file) rather than **in-process** (a [WASM](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm) module). This is because out-of-process applications provide more stability, if they crash they typically will not crash Microsoft Flight Simulator 2020, and they are easier to build, test and debug. Out-of-process also supports managed code, and therefore applications can be written in `.NET` languages with their rich support for objects and ease of building the UI. **SimConnect clients are not currently thread-safe**. SimConnect makes extensive use of ID numbers defined by the client. There are ID numbers for requests, data definitions, events, groups, and so on. These ID numbers should be unique for the client. Re-using an ID will result in the previous call using that ID becoming obsolete, and thus being ignored by the server. In this Topic 1. [SIMCONNECT SDK](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#simconnect_sdk) 2. 1. [Setup](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#setup) 2. 1. [WebAssembly Modules](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#webassembly-modules) 2. [C/C++ Projects](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#cc-projects) 3. 1. [Using the Property Manager](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#using-the-property-manager) 2. [Manual Configuration](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#manual-configuration) 4. [C\# / .NET / VB.NET Projects](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#c-net-vbnet-projects) 3. [Design Considerations](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#design-considerations) [©2023 Microsoft](https://www.microsoft.com/) [Privacy Policy](https://privacy.microsoft.com/en-us/privacystatement) [SDK Dev Support](https://devsupport.flightsimulator.com/) [MSFS Forums](https://forums.flightsimulator.com/)
Readable Markdown
The **SimConnect SDK** can be used by programmers to write add-on components that communicate with Microsoft Flight Simulator 2020. Both *in-process* modules and *out-of-process* executables have access to the SimConnect [API](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/), noting the following: - **Out-of-process** add-on components for Microsoft Flight Simulator can be written in C, C++, or - if the managed API calls are being used - any .NET language such as C\#.net or VB.net. - **In-process** modules are written in C++ and compiled into WebAssembly modules. Typically the components and modules using the SimConnect SDK will perform one or more of the following: - Add the processing for a new complex gauge, or other instrument, to Microsoft Flight Simulator 2020. - Replace Microsoft Flight Simulator 2020 processing of one or more events with new logic. - Record or monitor a flight. - Extend the mission system of Microsoft Flight Simulator 2020. - Create and set the flight plans for AI (non-user) aircraft. - Enable new hardware to work with Microsoft Flight Simulator 2020. - Control an additional camera that the user can optionally select to view. - Communicate with other SimConnect clients. The pages available in this section are: - [SimConnect API Reference](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_API_Reference.htm) - [Programming SimConnect Clients using Managed Code](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/Programming_SimConnect_Clients_using_Managed_Code.htm) - [SimConnect Samples](https://docs.flightsimulator.com/html/Samples_And_Tutorials/Samples/VisualStudio/SimConnect_Samples.htm) You can find information on how you can use the DevMode **SimConnect debug tool** to help you find issues and errors with your SimConnect apps here: - [SimConnect Inspector](https://docs.flightsimulator.com/html/Developer_Mode/Menus/Tools/SimConnect_Inspector.htm) You can also find additional helpful information from the following pages: - [Simulation Variables](https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Simulation_Variables.htm) - [Simulation Event IDs](https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Event_IDs.htm) Finally, there are some pages relating to legacy files that could be used for configuring and debugging SimConnect client/server communications (these files can still be used, although it's not recommended any longer and the functionality may be removed or changed in the future): - [INI Definition](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_INI_Definition.htm) - [CFG Definition](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_CFG_Definition.htm) - [XML Definition](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_XML_Definition.htm) ### Setup This section describes how to set up a working development environment for SimConnect. #### WebAssembly Modules WebAssembly modules can use SimConnect internally, provided as part of the SDK. It is only required to `inlcude "simconnect.h"`. More information in [WebAssembly modules](). #### C/C++ Projects To build SimConnect add-ons, the recommended Visual Studio version is Visual Studio 2019, with a minimum version of 2005. To build the project, make sure you have completed the following steps. For out-of-process applications, start a new **Console Application** project if the add-on will have no user interface. Start a new MFC Application if the add-on will have a user interface. In either case, set the platform as `x64`. In order to use the SimConnect functionality, it is required to include the `SimConnect.h` header file. include "SimConnect.h" The dependencies can be either configured [Using the Property Manager](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#using-the-property-manager), or via [Manual Configuration](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm#manual-configuration). ##### Using the Property Manager The SDK now provides Visual Studio property sheet. It can be included in: Property Manager -\> (select project) -\> Add Existing Property Sheet And selecting the Property Sheet provided in the SDK: \$(MSFS\_SDK)\\SimConnect SDK\\VS\\SimConnectClient.props ##### Manual Configuration Alternatively, the configuration can be performed manually, by performing the following steps: - Add the SimConnect include folder (`$(MSFS_SDK)\SimConnect SDK\include`) to the `Additional Includes`: ![SimConnect Additional Include Directories](https://docs.flightsimulator.com/html/assets/images/Content_Config/SimConnect/simconnect_include.png) - Add SimConnect from the library directory (`$(MSFS_SDK)\SimConnect SDK\lib`) to the `Additional Library Directories`: ![Add SimConnect.lib And Its Dependencies](https://docs.flightsimulator.com/html/assets/images/Content_Config/SimConnect/simconnect_linker.png) - Link to the `SimConnect.lib` library, by adding the following dependencies to `Additional dependencies`: - `SimConnect.lib` - `shlwapi.lib` - `user32.lib` - `Ws2_32.lib` ![Add The SimConnect lib Folder](https://docs.flightsimulator.com/html/assets/images/Content_Config/SimConnect/simconnect_lib.png) - Build the application using the function calls described in this document. #### C\# / .NET / VB.NET Projects For C\#, or other .NET language add-ons, refer to the special section on [Programming SimConnect Clients using Managed Code](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/Programming_SimConnect_Clients_using_Managed_Code.htm), but general procedure is: - Build the application using the function calls described in this document. - An example is given with the [SimvarWatcher sample](https://docs.flightsimulator.com/html/Samples_And_Tutorials/Samples/VisualStudio/SimvarWatcher.htm). ### Design Considerations The design of a SimConnect add-on involves writing a client to communicate with a server running within Microsoft Flight Simulator 2020. The client opens up communications with the server, then requests that certain events and certain object information is passed to it. The client then waits for the information to be received from the server, and then processes it appropriately. The recommended method of writing an add-on is to build it **out-of-process** as an application (an `.exe` file) rather than **in-process** (a [WASM](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/) module). This is because out-of-process applications provide more stability, if they crash they typically will not crash Microsoft Flight Simulator 2020, and they are easier to build, test and debug. Out-of-process also supports managed code, and therefore applications can be written in `.NET` languages with their rich support for objects and ease of building the UI. **SimConnect clients are not currently thread-safe**. SimConnect makes extensive use of ID numbers defined by the client. There are ID numbers for requests, data definitions, events, groups, and so on. These ID numbers should be unique for the client. Re-using an ID will result in the previous call using that ID becoming obsolete, and thus being ignored by the server.
Shard180 (laksa)
Root Hash16031563281472846580
Unparsed URLcom,flightsimulator!docs,/html/Programming_Tools/SimConnect/SimConnect_SDK.htm s443