General 9 min read 238 views

What is the Prepar3D SDK, and how do you install and use it?

Ian Stephens
In short

Learn what the Prepar3D SDK contains, where to find it, how to install the matching P3D SDK, choose its tools and fix common errors.

The Prepar3D SDK is Lockheed Martin’s separate development kit for building aircraft, scenery, SimObjects, SimConnect applications and in-process PDK plug-ins for Prepar3D. Install the SDK package that matches your simulator release and build, then work from its documentation, samples, compilers, libraries and exporters. You do not need it to install finished add-ons.

Where is the P3D SDK if I cannot find it?

The P3D SDK is a separate installer rather than an editor hidden inside Prepar3D or a standard part of the simulator menus. Installing the Prepar3D client, content and scenery components does not necessarily install the SDK.

Non lo trovo: if you cannot find the SDK after installing Prepar3D, return to the licensed product-download area and look for the separate SDK package belonging to the same release and build. The delivery screen and installer name can differ between Prepar3D generations and licence types.

After installation, check Windows’ installed-apps list and the destination selected by the SDK installer. Documentation, samples and utilities reside in that SDK installation rather than in a single application that opens to show every tool. If one component is absent, rerun the installer and check whether it was an optional feature.

Do not substitute the FSX SDK or a package from another Prepar3D generation. They may contain tools with familiar names, but their schemas, libraries, exporters and native interfaces are not interchangeable.

What does the Prepar3D SDK include?

The kit supplies development resources, not extra aircraft or scenery ready to use in the simulator. Exact components vary by release, but its main areas are:

  • SimConnect: an API for external applications that read simulator variables, subscribe to events and send supported commands.
  • Prepar3D Development Kit: native PDK headers, libraries and samples for plug-ins loaded inside the simulator process. These offer deeper integration than SimConnect but are more sensitive to build and architecture changes.
  • Scenery compilers: tools such as BGLComp for XML-defined facilities and object placement, Resample for raster imagery and elevation data, and Shp2Vec for supported vector scenery.
  • Modelling resources: model and material specifications, conversion utilities and exporters for supported digital-content applications. The SDK is not itself a 3D modelling program.
  • Documentation and samples: API references, schemas, source projects and example data showing the formats expected by that SDK release.

The SDK also does not supply every external dependency. Native projects generally need a compatible C++ compiler toolchain, while aircraft and scenery modelling requires suitable third-party creation software.

Which Prepar3D SDK version should you install?

Install the SDK supplied for the complete Prepar3D release and build you intend to target. Matching only the major version is risky, especially for native PDK plug-ins.

  • PDK plug-ins: treat an exact simulator and SDK build match as mandatory. Rebuild and retest the plug-in after relevant Prepar3D updates.
  • SimConnect applications: build against the interface intended for the target Prepar3D generation and test with the required runtime. Compatibility can extend across some releases, but it should never be assumed.
  • Scenery and content tools: use compilers and schemas from the target release because accepted elements and output capabilities can change.
  • Model exporters: match both the Prepar3D SDK and the supported version of the modelling application. A plug-in compiled for another host version may not load at all.

Prepar3D v4 and later releases use a 64-bit simulator process, while v3 and earlier use 32-bit. An in-process PDK DLL must match that process architecture. An external SimConnect client can use a different architecture because it runs separately, but its own SimConnect library and native dependencies must match the client application.

How do you install the Prepar3D SDK?

Install the matching SDK on the development computer, select the components required by the project and verify the installation with an unchanged sample before starting your own work.

  1. Record the full simulator build. Read it from Prepar3D’s information display or the installed executable’s properties. Do not rely on a folder name or major version alone.
  2. Obtain the matching SDK installer. Use the separate SDK package supplied with the licensed Prepar3D release. If Prepar3D has been updated, confirm that the installed SDK was updated independently.
  3. Select the required features. Install the documentation, core tools and samples. Add native-development or modelling components only when the project needs them and the listed host software is compatible.
  4. Prepare the compiler toolchain. For C++ samples, install the workloads and components specified by that SDK’s documentation. Do not blindly retarget an older sample to a newer compiler when its native libraries expect another toolset.
  5. Create a writable workspace. Copy the relevant sample into a project folder under your user or development directory. Building inside Program Files often produces access errors or places generated files somewhere unexpected.
  6. Build an unchanged sample. This separates installation and dependency problems from errors introduced by your own edits. When several SDK versions are installed, call tools using their full paths so the wrong generation is not selected through PATH or an old project setting.

Prepar3D v5 users can follow our version-specific v5 SDK installation and sample workflow for more detail on that release.

How do you use the Prepar3D SDK?

Use the SDK tool or interface that matches the type of add-on being created; there is no single SDK program that handles every project.

ProjectSDK componentMain consideration
External controls, telemetry or instructor softwareSimConnectRuns outside Prepar3D and uses published data definitions and events
Native functionality loaded inside Prepar3DPDKMust match the simulator’s architecture and build
Airports, facilities and scenery-object placementBGLCompInput XML must validate against the matching schema
Aerial imagery, elevation or supported raster dataResampleSource data and an .inf definition describe the output
Roads, water and other supported vector featuresShp2VecGeospatial source data must use the expected attributes and coordinates
Aircraft and other 3D SimObjectsModelling SDK, exporter and conversion toolsThe exporter must support both the modelling application and target SDK
Installing an already compiled add-onNo SDK requiredUse the package or installation method supplied by its developer

How should you build and test an SDK project?

Start from the supplied sample closest to the intended result, change one element at a time and keep compiled output separate from both the source project and Prepar3D’s core files.

  1. Read the installed documentation. It belongs to the SDK version being used and defines the available calls, file formats, schemas and restrictions.
  2. Duplicate a relevant sample. Preserve the original as a known reference and work only from the copy.
  3. Prepare the source data. This might be XML for BGLComp, an .inf file and geospatial sources for Resample, or code and project settings for SimConnect or the PDK.
  4. Compile with the intended tool version. Capture its messages and correct warnings or validation errors before testing in the simulator.
  5. Test in an isolated package. Enable Prepar3D’s content-error reporting where available and confirm that models, textures, configuration files and native dependencies are present.
  6. Deploy without overwriting core files. Use an add-on package and add-on.xml where the target Prepar3D version supports them, or its documented legacy loading method. Our guide to safe Prepar3D add-on packaging and deployment explains those choices.

A mistake we see repeatedly is treating successful compilation as successful installation. A compiler can create a valid .bgl, model or DLL without registering its package, scenery layer or SimObject with Prepar3D. For a complete example using BGLComp, Resample and Shp2Vec, follow our practical Prepar3D scenery creation workflow.

Should you use SimConnect or the PDK?

Use SimConnect whenever its published variables, events and controls can perform the task; choose the PDK only when the project genuinely requires in-process access that SimConnect does not expose.

SimConnect keeps the application outside Prepar3D, which simplifies debugging and limits the effect of a crash. It also suits programs that may run on another computer when the network and runtime are configured correctly.

A PDK plug-in runs inside the simulator process. That offers tighter integration, but a bad pointer, incompatible dependency or access violation can terminate Prepar3D itself. Native PDK projects are also more tightly coupled to the simulator build and must be rebuilt and tested after relevant updates.

Why do Prepar3D SDK tools or samples fail?

Version mismatches, protected paths and missing dependencies cause most Prepar3D SDK failures. Check those before rewriting source files or changing compiler options at random.

  • The SDK is missing after Prepar3D installation: install the separate SDK package; repairing only the simulator client will not necessarily add it.
  • A sample will not open or compile: install the compiler workload and toolset required by that SDK. Retarget only when the documentation supports it.
  • Linker errors or an incompatible-image error: remove stale library paths and align the project with its loaded native dependencies. In-process DLLs must also match Prepar3D’s bitness.
  • A command is not recognised: invoke the executable by its full path. Do not assume the installer added every SDK utility to the system PATH.
  • BGLComp reports schema or validation errors: confirm that the XML uses the matching SDK schema. Do not copy the compiler executable by itself and leave its supporting files behind.
  • The build fails under Program Files: move the project and output to a user-writable workspace rather than weakening Windows folder protection.
  • The modelling exporter is absent or refuses to load: verify the exact host-application version supported by that exporter. Reinstalling the wrong plug-in will not make it compatible.
  • The add-on compiles but does not appear: check package discovery, configuration files, scenery ordering, model and texture paths, and content-error messages. Compilation and activation are separate stages.
  • A PDK plug-in fails after a simulator update: install the corresponding SDK, clean the build completely and rebuild against the new headers and libraries.

Do you need the SDK to install Prepar3D add-ons?

No. Finished aircraft, scenery, gauges and utilities should be installed according to their supplied instructions; ordinary Prepar3D users do not need the SDK.

If an add-on reports a missing SimConnect component, install the runtime generation required by that add-on rather than the full development kit. Our SimConnect runtime installation and troubleshooting guide covers the separate client libraries used by Prepar3D, FSX and Microsoft Flight Simulator.

The SDK also cannot make an add-on compatible with a different Prepar3D generation. It is a creation and development toolset, not a compatibility layer or repair package.

AI Assistant New

Still stuck? Ask Fly Away

Ask Fly Away is our AI flight-sim assistant. Ask your exact question and get a direct, step-by-step answer in seconds — free to try.

Ask Fly Away Free preview · unlimited for PRO members