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.

If I write an app for FSX, what language does it need to be in?

Featured Replies

Or does that part matter? I'm curious. I'm learning to program at the moment, and one day when I have more experience I might want to try my hand at an addon.

If your intent is to construct an addon, you should learn C. You can, however, also use managed code (e.g. C#, VB, etc); however, you'll have to use simconnect and/or FSUIPC to interact with FSX/P3D, which means your addon will operate 'outside' the FSX environment. There are several examples of both in the SDK folder.  Regardless of what code you decide to use, you're going to need an IDE.  I suggest Visual Basics....Good Luck and let me know if I can help you on your journey.   

Matt King

  • Commercial Member

To write a programmatic addon that is supposed to interact with another piece of software, the target has to have an API. FSX has the SimConnect API built in, or you can use the 3rd party FSUIPC API.

 

What language you have to use is dictated by the API, it does not offer libraries for every computer dialect out there. SimConnect libraries are available (in the SDK) for C++, C# and VB. VB is the least well documented, C++ the most extensively covered (for FSX, in P3D bias is changing towards C#)

 

Go to your SDK folder and have a look at the SDK documentation. There are two relevant chapters, one is how to develop a gauge with C++, the other is the SimConnect API reference documentation itself. The latter has many code examples in C++ and C#, and a handful in VB. In the newer incarnation as P3D the C# part has been greatly expanded, so this is probably the most futureproof way to go. But to my best knowledge, programmatic gauges still have to be done in C++. So be prepared to learn both ways, C# and C++

LORBY-SI

I would think grab Visual Studio and go to work on C/C++.  If nothing else it gives you multi-platform utility outside of FSX/P3D.  Don't really know anything about C# but I guess that's an MS thing so your learning kind of locks you into Windows. 

 

scott s.

.

  • Author

C# is the language I am learning, I know a good deal of C++ as well, I have no idea what form the addon will take, though likely it will be a utility of some sort, it all depends on how far I can wind up taking the languages, thanks for the replies.

C# is the language I am learning, I know a good deal of C++ as well, I have no idea what form the addon will take, though likely it will be a utility of some sort, it all depends on how far I can wind up taking the languages, thanks for the replies.

 

Assembler always works.

 

blaustern

I Earned My Spurs in Vietnam

  • Commercial Member

ASM is like making bricks with sand, C++ is like making houses with bricks, and Embarcadero Delphi is like making conurbations with houses. C# is a good alternative to C++ on Windows. Origins of C# written in Delphi by Anders Hejlberg.

Steve Waite: Engineer at codelegend.com

  • Commercial Member

C# is the language I am learning, I know a good deal of C++ as well, I have no idea what form the addon will take, though likely it will be a utility of some sort, it all depends on how far I can wind up taking the languages, thanks for the replies.

C# is a good start into the FS addons - depending on what you want to do of course. The examples in the SDK are pretty straight forward. If you don't plan to dive into SimConnect, but instead to write a tool to manipulate the myriad of config files of the sim towards a specific end, then it wouldn't matter at all. Any dialect can do that.

 

As a general rule, you always use the tech that is best suited for the job. If you develop addons for a platform hat offers a C# API, you use C#. Want to make a programmatic gauge for FSX? Use C++. A standard XML gauge? Learn their funny XML based dialect in reverse polish notation. If you develop an enterprise web application you use JavaEE. If you need to write Python scripts for an app like GSX, you just do it. Learn to look behind the languages and get a feeling for how they (all) work, so you can always find the best suited tech that gives you max results with the least effort.

LORBY-SI

Archived

This topic is now archived and is closed to further replies.

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.