Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

An Overview of SimConnect

Featured Replies

Ok, disclaimer first: This is just a rundown of what I've found myself or what I heard/saw at Mike Z's presentation at the AVSIM conference. It's in no way complete or official, and it doesn't represent anything other than my understanding of the API.I'm structuring it in a FAQ/Question and Answer format, so that people can ask more questions in this thread and we can keep things consolidated.What is SimConnect?To put it simply, SimConnect is an interface between third party applications and Flight Simulator. This interface allows these add-ons to talk to FSX, allowing developers to create all sorts of functionality. To be a bit more technical, it's a SDK that allows for the creation of C/C++/.NET programs or DLLs. It works on a client/server asynchronous format. What can it do?A lot. A whole lot. I could make a list, but it would be very long, and just the things that my young mind could come up with. But on a very generic level: Camera controls (like padlocking), AI control, failures, weather, instruments, multiplayer, flight tracking, flight recording, manual or automatic control of AI objects, data mining, virtual co-pilots, hardware interfaces, fly-by-wire systems, and the list goes on. What do I have to do to make SimConnect add-ons to work?All you need is FSX. It will work out of the box.How do I get the SDK?If you have the beta, you already have it. The documentation is in your FSX directory, under /SDK/Core Utilities Kit/SimConnect. When the game launches, it will be included with the Deluxe Edition, on Disk 1. It's a separate install, so if you don't plan on doing any development, you don't have to put it on your drive.Do I need anything else?Well, if you want to program SimConnect Add-ons, you'll need Visual Studio, Visual Studio Express 2005 C++ or C#. If you are writing or running C# managed add-ons, you'll need the .NET framework installed, but I'm pretty sure it installs with FSX. Also, there are a number of dependencies on FSX in the SDK, so you'll want to install the sim first, then the SDK.Is there documentation?What you'll see of the SDK is pretty much all documentation. It uses a HTML format that you just view in your browser, and all the function calls, datatypes and samples are linked for really easy navigation.What is a Client/Server and Asynchronous setup?This is a little bit different than the way things have been done before. In the past, you could send a request through to FS and instantly get a response. A lot of systems are getting away from that for a number of reasons, and SimConnect is one of them. But to the definitions. With a client/server architecture, FSX is the server, your program (and other programs) are the clients, and they talk to the server (and to each other) through the SimConnect interface. Asynchronous means that the client sends a request, and waits for a response. The client program then has an event handler that tells it what to do with the information when it gets the response. This gives you a good deal of freedom in a number of ways, for example, it's very easy to subscribe to events in FSX, i.e. keystrokes, gear down, whatever, and have a function or process get called as soon as the event happens. Secondly, in asynchronous programming, you can keep going with your program even if the data hasn't been returned. Let's give an example. Say you right a program to run a TCAS system in a plane, perhaps multiplayer ready. It does it by getting a list of all of the airplanes in the area, getting data about them and transferring it to the TCAS gauge on your plane. While it is going through the program, it gets to my plane, as I am also connected to this multiplayer server, but my girlfriend is on her computer downloading hundreds of MB of pdf instructions for creating wire jewelry and my internet has slowed to a crawl. So I'm lagging, and the TCAS side program is not getting a response from my system. Well, in normal synchronous programming, you'd have to set a timeout or something, and the program would sit and wait and wait and wait until it timed out before it could do anything else. In this case, it sends the request to get data about my plane, and moves on to the next guy. When the data comes back (or doesn't) about my plane, it does whatever it needs to do with it, and the program has already moved forward without lag.(There's an obvious flaw with that example, which is even if I was lagging, my plane would still exist in the multiplayer space and you could tap the data about it, it just wouldn't be changing or wouldn't be smooth until the lag was corrected, assuming it doesn't smooth it out automatically. But the example illustrates the point, even if it's not technically precise) Why is SimConnect a good thing?There's a couple of reasons, and it should be noted that this is all my personal opinion. First off, it's the standard. A good number of systems use well documented APIs for add-on or plugin architecture. Think Google, DirectX, etc. It allows for standarized processes, cross-compatibility, easy updates and new functionality, and most of all, for us, it means it's very easy for the community to work together to learn the system.Secondly, the learning curve has just fallen off the charts. I'm relatively new to the community around here, and I've never delved into the mysteries of FS development. However, like a good number of other people out there, I know a programming language (in this case, C#) and I can jump right in and have a program doing something in the sim in minutes. SimConnect is going to open the game to a lot of new people.And opening the game is going to be big, because it is going to bring more choices, more options for us to choose from. Right now, there are certain add-ons that are the only game in town. Granted, most of them do their job really really well, there may be some parts of the program you'd like to see different, and this is going to give you a better chance of that happening.And finally, the other benefit is extensibility and compatibility. Over time, the SimConnect API will be updated, not just to fix bugs, but to add functionality suggested by the community of developers. Microsoft will be looking at this forum as well as a "Developer's Corner" that they will be hosting to find the things that we need to better create add-ons, and will be doing what they can to update the SDK. I heard somewhere along the line that they are aiming for quarterly updates.How will updates work?SimConnect will use what is called a "side by side" method for updates. This is very similar to the .NET framework, for those of you who have updated it over time. There is already a versioning system in place, so when you download the SimConnect update, it will place a new file right next to the old one. So, if for some reason, a particular function changes, and an add-on doesn't work with a new version, it can (and will, by default, I believe) fall back on the old SimConnect file to still work. This should pass along to future versions of Flight Simulator. With their backwards compatibility stance, we should see a whole lot of SimConnect add-ons working with very little updating in FS-Next/11/Whatever. By having a single framework for functionality, we ensure that there is only one path to making future versions of flight sim compatible with older versions.What about FSUIPC?Still there, still probably needed by a whole bunch of stuff, still updated. Let's just be clear about one thing, Pete Dowson is absolute piles of awesome, and he has done for FS what SimConnect or something similar should have done a long long time ago. He's pretty much made the add-on market what it is, and he's still going. The most obvious effect I see on this is that everyone doesn't have to completely rewrite their entire add-on to work with SimConnect, which means prompt delivery of FSX-ready updates to your favorite add-ons (I would hope).But this is not the FSUIPC forum. I know that we are all curious, I know that SimConnect is, as of this moment, unproven, and I know we all want to know what Pete has up his sleeve for the future, but Mr. Dowson has been good enough to run his own forum for FSUIPC. It is located at the following link, and I would hope that everyone would be good enough to post your questions regarding his programs and modules over there, so that he doesn't have to spend forever looking for questions:http://forums.simflight.com/viewforum.php?f=54What about {INSERT ADD-ON NAME HERE}?Pretty much same answer, slightly modified. The vibrance of the add-on community is what brought me here, and I want to know as much as the next guy, but this is specifically for discussion of building with the SDK. Most devs have their own forums or other places to get news about what's going on, and most posts on the topic here would just be speculation. As stated before, I can't imagine anything that an add-on is currently doing that can't be done in SimConnect, so I trust that we'll see plenty of good stuff going forward.Who am I?I understand that I'm not really established in this community, so I'll take a minute to let you guys know who you are talking to. My name is Brian, I live in Alexandria, VA, USA. I'm a 26 year old system administrator and web programmer, and I have been programming little video games in C++ and DirectX for about eight years now. Currently, I am working on a default AI replacement for FSX using SimConnect in managed mode. The codename of the project is Icarus, and I hope to implement all of the things that people have been asking for from the AI in Flight Simulator.Now, after all of that, if you have questions, let me know in this thread and I'll try to get them answered for you.

  • Replies 65
  • Views 17.9k
  • Created
  • Last Reply

Top Posters In This Topic

Thank you, Brian. Mikewww.mikesflightdeck.comwww.mikesflightdeckbooks.com

  • Author

No problem.I've been really amazed at how forward Microsoft has been in communicating and being accessible to developers, even ones that aren't established, like myself. So I figure it's our duty to move that forward by sharing as much as we can with each other.Also, it says HTML use enabled next to my reply box here, but it doesn't seem that my bold tags are working.

Great post. I agree the Simconnect SDK is great!Looking forward to Icarus. Need a beta tester? :)Hope you can incorporate SIDs/STARs.Speech to text (ie using SAPI) is also a good option. Many high quality voices available from Cepstral (www.cepstral.com)With dual core now becoming common place I dont see any performance problems.What do you think?Dont go down the RC4 route with prerecorded WAV files. Too hard! Just support text to speech.

Hi,One thing I'm curious about:If one would write gauges (thus running inside FS), can that be done also with managed code (C#) or is that still only possible with C/C++ ?

Location: Vleuten, The Netherlands, 17.3dme SPL 108.40 | Simulator: FS2024
System: AMD 7800X3D - Gigabyte X670 - RTX 4090 - 64GB DDR5 - 2 x 2TB SSD - 32" 1440p Display - Windows 11 Pro

Still C++. .net 2.0 programming is only for external.Jos

Hi Jos

Location: Vleuten, The Netherlands, 17.3dme SPL 108.40 | Simulator: FS2024
System: AMD 7800X3D - Gigabyte X670 - RTX 4090 - 64GB DDR5 - 2 x 2TB SSD - 32" 1440p Display - Windows 11 Pro

One question, when I use FSUIPC in my application to interface with FS9, all users of the application need to install FSUIPC (free version). If I now switch to SimConnect, will they also need to install SimConnect?

  • Author

>One question, when I use FSUIPC in my application to>interface with FS9, all users of the application need to>install FSUIPC (free version). If I now switch to SimConnect,>will they also need to install SimConnect?>>SimConnect is built in to FSX, so they don't have to install anything but the simulator. They may have to get the update from the FSX website if you are using a newer version than they have.They only have to install anything extra if they want to work on their own development.

Thanks Brian, much appreciated.George

Thanks for sharing this. I really like the fact that there will be regular updates to the SDK.In the FSUIPC Q/A you might also want to mention that all of this started with FSIPC, written a long time ago by Adam Szofran (who is part of the FSX team now, - http://www.fsinsider.com/articles/Global_T...Technology.htm).

There is a separate Gauges SDK that allows you to create gauges in C/C++ or XML. I have not seen the version for FSX though, it did not come with the beta. There is a seperate forum at http://forums.avsim.net/dcboard.php?az=show_topics&forum=122 that has lots more information on this topic.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.