What is the Prepar3D SDK, and how do you install and use it?
The Prepar3D SDK is Lockheed Martin’s separate software development kit for creating aircraft, scenery, SimObjects, external SimConnect applications and in-process PDK plug-ins. Install the SDK build that exactly matches your Prepar3D installation, then use its documentation, samples, compilers, libraries and exporters; ordinary add-on users normally do not need it.
What does the Prepar3D SDK include?
The SDK contains development resources rather than extra flyable content or an editor inside Prepar3D. Its components vary between releases, but the main areas are:
- SimConnect: an API for external programs that read simulator data, send events and control compatible simulation functions.
- Prepar3D Development Kit (PDK): native interfaces for tightly integrated, in-process plug-ins. PDK code has greater access than a typical SimConnect client, but a faulty plug-in can also crash the simulator.
- Content tools: utilities such as BGLComp for XML-based scenery, Resample for terrain imagery and elevation data, and Shp2Vec for vector scenery.
- Modelling resources: specifications, examples and exporters for creating models, animations, materials and SimObjects. Supported modelling applications and exporter versions depend on the SDK release.
- Documentation and samples: reference material, headers, libraries and example projects showing the expected data formats and API calls.
Our overview of the Prepar3D v6 development features explains additions such as PDK services, custom events, scenery features, PBR materials and Visual Studio integration. For scenery-specific examples, the Prepar3D v5 tool and workflow coverage includes sloped runways, ImageTool, SimObjects and 3ds Max changes.
How do you install the Prepar3D SDK?
Install the official SDK package corresponding to the exact Prepar3D version and build on the development computer. The SDK is separate from the simulator client, content and scenery installers, and updating Prepar3D does not necessarily update an already installed SDK.
- Check the simulator build. Read the complete version from Prepar3D’s information screen or the installed executable’s properties. Matching only the major version is not enough for build-sensitive PDK plug-ins.
- Obtain the matching SDK package. Use the official download supplied for the licensed Prepar3D release. Do not substitute an SDK copied from another major version or maintenance build.
- Run the SDK installer. Select the documentation, core tools, samples and development components required for the project. Install modelling exporters only when their listed host-application version matches the software you use.
- Prepare the compiler if required. Native SimConnect and PDK projects need a compatible Visual Studio C++ toolchain. Scenery compilers can usually be used without writing C++, although their input files must follow the documented schemas.
- Copy samples to a writable project folder. Treat the installed SDK directory as a reference installation. Building directly under
Program Filescommonly causes permission failures or leaves generated files in an unexpected virtualised location. - Verify the tool version. Open the installed documentation and build one supplied sample before changing it. If several SDK generations are installed, invoke tools by their full paths rather than relying on a global
PATHentry that may select the wrong version.
How do you use the Prepar3D SDK?
The correct workflow depends on what is being created; there is no single SDK application to launch.
| Task | Use |
|---|---|
| External controls, telemetry or instructor software | SimConnect |
| Native code running inside Prepar3D | PDK |
| XML airports and scenery objects | BGLComp |
| Aerial imagery, elevation or land-class data | Resample |
| Vector scenery such as roads or water | Shp2Vec |
| Aircraft and other 3D SimObjects | Modelling SDK and the compatible exporter |
| Installing an already compiled add-on | No SDK required |
Begin with the sample closest to the intended result, duplicate it outside the SDK directory and change one element at a time. A BGLComp project supplies XML that conforms to the matching schema; a Resample project normally uses an .inf file describing source data and output; a SimConnect application opens a connection to the running simulator and subscribes to data or events.
Compile output into a separate test package rather than overwriting Prepar3D’s core folders. Once it works, deploy it through Prepar3D’s add-on package system or the loading mechanism documented for that component. Successful compilation alone does not register scenery, a SimObject or a plug-in with the simulator.
Architecture also matters. Prepar3D v4 and later are 64-bit, while older generations may require 32-bit targets. Match the simulator architecture, SDK libraries and every native dependency; changing only the project’s platform setting does not convert a third-party library.
Should you use SimConnect or the PDK?
Choose SimConnect when its published data definitions, events and controls can perform the job; choose the PDK only when the project needs in-process access unavailable through SimConnect.
SimConnect keeps the application outside the simulator process, so development and fault isolation are easier. PDK plug-ins are more tightly coupled to the exact Prepar3D build and must be rebuilt and retested after relevant simulator or SDK changes. A crash in an external SimConnect client will not normally terminate Prepar3D, whereas an access violation in a PDK DLL can.
Why do Prepar3D SDK tools or samples fail?
Most SDK failures come from version, path or dependency mismatches rather than bad source data.
- Wrong SDK build: remove ambiguous library and tool paths, install the matching SDK, clean the project and rebuild every native component.
- Incorrect 32-bit or 64-bit target: align the application, linked libraries and dependencies with the Prepar3D generation being targeted.
- Compiler toolset missing: install the C++ workload and any components required by that SDK’s sample projects, then retarget only when the documentation permits it.
- Tool executable copied by itself: BGLComp and similar utilities may rely on schemas or supporting files beside the executable. Run them from the installed tool directory or preserve the complete documented file set.
- Protected output folder: build in a user-writable development directory and copy only the finished package into its test location.
- Exporter incompatible with the modelling program: use the SDK exporter built for the supported host version rather than forcing a newer or older plug-in to load.
- Compiled add-on does not appear: check package discovery, configuration files, layer order and content-error reporting. Compilation and add-on activation are separate stages.
Do you need the SDK to install Prepar3D add-ons?
No. Pilots installing finished aircraft, scenery, gauges or utilities should follow the developer’s installation instructions instead. The SDK does not make an incompatible add-on work and should not be installed merely to satisfy a missing runtime file; our guide to installing and managing Prepar3D add-ons safely covers packages, legacy installers and keeping core folders clean.