What is the purpose of Simconnect? Is it the same as FSUIPC?

Hi there, What is the purpose of Simconnect? Is it the same as FSUIPC? Any help is greatly appreciated. TIA…

1 Like

Simconnect is part of the simulator. FSUIPC uses it.

1 Like

Hi there, Sorry but this is not a bug or an issue… I m just asking a question…

Hi @TheTwister7156,
Your topic has been moved back. Our mistake! :slight_smile:

The simconnect API is part of MSFS, and is the interface allowing 3rd party apps to interact with the sim. FSUIPC uses simconnect to interact with MSFS, but is written to also interface with the equivalent APIs in other simulators.

This means that developers using FSUIPC can target their apps to work with multiple sims, because FSUIPC deals with the specifics for each rather than you having to write different code to interact with each sim.

3 Likes

IIRC FSUIPC used to use some DLL trickery back in the day before SimConnect was a thing.

It survives now because its multi platform and other apps are written for FSUIPC and not SimConnect.

1 Like

Here is my shot at it: SimConnect is an „application development interface“ (API) initially defined and implemented for Flight Simulator X (I believe).

Its main purpose is to let third party applications access and modify the internal state of the simulation, mostly by reading (and writing) so-called „simulation variables“.

Those variables are mostly aircraft parameters and states, such as:

  • Position (latitude, longitude, altitude)
  • Attitude (pitch, bank, heading)
  • Primary flight controls (ailerons, rudder, flaps, brakes, …)
  • And everything else

(There are also so-called „events“ by which a 3rd party application can control the simulation. But nowadays a lot of „simulation variables“ are „writeable“, too, so those functional aspects overlap quite a bit - in fact, „events“ have been declared „legacy“).

The SimConnect is a classic „server“ (the flight simulator) and „client“ (the application) architecture: in fact, besides „local communication“ („interprocess communication“ on the same machine) there exists also „network code“ with which a flight simulator (SimConnect „server“ implementations also exist for Prepar3D, another flight simulator than FS2020) can be accessed from another (Windows only) machine.

There are many 3rd party apps, for instance „map applications“ (Little NavMap is probably the most known one, as it is free, too).

Update: for the interested reader:

https://docs.flightsimulator.com/html/index.htm#t=Programming_Tools%2FSimConnect%2FSimConnect_SDK.htm

There is also a SimConnect section here in the forum (mostly visited by developers, I guess), and a rather new, dedicated forum here:

https://devsupport.flightsimulator.com/topics/simconnect.html

4 Likes

There is a third way, that’s WASM which is specific to MSFS2020, which has the potential to be better than both in terms of overhead and capabilities.

1 Like

Thanks guys for explaining about the Simconnect and FSUIPC…:slight_smile:

2 Likes

Seems only logical that when something gets installed between the source and the consumer, things only get more complex. The best thing to do would be to formalize SimConnect and publish the interface. Then each sim can access a common interface. I suspect this has not been done because this interface is an easy step in the process with which to open up the sim to third party venders.

You mean… this?

https://docs.flightsimulator.com/html/index.htm#t=Programming_Tools%2FSimConnect%2FSimConnect_API_Reference.htm

Huh? That’s exactly the idea behind the SimConnect API - and it has been done :wink:

It is a specification done back in the days (I said that already) of FSX, and implementations (and also extensions of the original API) exist for at least one other simulator, namely Prepar3D (and possibly others).

P.S. Hint: the “I” in API stands for interface :wink:

1 Like

Is it possible to control G1000 parameters with simconnect ?

1 Like

Hi,

All supported „simulation variables“ are enumerated here:

https://docs.flightsimulator.com/html/index.htm#t=Programming_Tools%2FSimVars%2FSimulation_Variables.htm

„Writeable“ means that you can also modify („set“) them from externally.

Note that some functionality is only „settable“ via the aforementioned „events“:

https://docs.flightsimulator.com/html/index.htm#t=Programming_Tools%2FSimVars%2FLegacy_Event_IDs.htm

Take note again that they are declared „legacy“.

This thread is now definitively meandering into

territory :wink:

Thank you all for the participation, closing this as question has been answered.