SDK packages
One engine. Seventeen ways to call it.
Every package is the same native engine with the same documented API. What differs is the language you call it from and the platforms the licence covers. Pick the one that matches how you build.
Not sure? Start from what you are building.
| Package | What it is | Kind | Licensed platforms |
|---|---|---|---|
|
Windows C/C++
windows-cpp
|
The engine as a DLL, with the header and both bitnesses. | Native library | win-x86 win-x64 |
|
Windows on ARM64
windows-arm64
|
A native ARM64 build of the engine for Windows. | Native library | win-arm64 |
|
Windows ActiveX / COM
windows-activex
|
A registered COM server, for hosts that cannot call a C DLL. | Language binding | win-x86 win-x64 |
|
.NET (source P/Invoke)
windows-dotnet
|
The C# and VB.NET bindings as source, plus both engines. | Language binding | win-x86 win-x64 |
|
NuGet package
nuget
|
One package, native engines for every runtime identifier. | Language binding Package manager Cross-platform | win-x86 win-x64 win-arm64 linux-x64 linux-arm64 macos |
|
Linux on Intel
linux-x86-x64
|
Shared objects for 64-bit and 32-bit Intel Linux. | Native library | linux-x86 linux-x64 |
|
Linux on ARM
linux-arm
|
Shared objects for 64-bit and 32-bit ARM Linux. | Native library | linux-arm32 linux-arm64 |
|
macOS
macos
|
One universal dylib covering Intel and Apple Silicon. | Native library | macos |
|
iOS
ios
|
Static archives for device and simulator. | Native library Mobile | ios |
|
Android
android
|
Shared objects for all four Android ABIs. | Native library Mobile | android |
|
PHP
php
|
A pure-PHP binding over FFI: no compiled extension to match. | Language binding | win-x64 linux-x86 linux-x64 linux-arm32 linux-arm64 macos |
|
Python
python
|
A ctypes binding: no compiled module, no build step. | Language binding Cross-platform | win-x86 win-x64 linux-x64 macos |
|
Delphi / Object Pascal
pascal
|
Two bindings: the flat DLL unit and an object wrapper. | Language binding | win-x86 win-x64 |
|
ASP.NET Core
aspnet
|
A self-contained web sample with the package bundled. | Language binding | win-x86 win-x64 win-arm64 linux-x64 linux-arm64 macos |
|
Flutter
flutter
|
A dart:ffi package with natives for five platforms. | Language binding Mobile Cross-platform | win-x64 linux-x64 macos ios android |
|
Node.js
javascript
|
A JavaScript binding with TypeScript declarations included. | Language binding | win-x64 linux-x64 macos |
|
TypeScript
typescript
|
The Node binding with a typed surface and a TS example. | Language binding | win-x64 linux-x64 macos |
Why a package per platform, and not one big download
A package is not a marketing category. The licence key carries which one you bought, and the engine refuses that key on a platform the package does not cover — so the download and the licence always describe the same thing. It also means you are not paying for six platforms to ship on one.
Every platform list on this site is generated from the engine and the release artifacts, which is why they occasionally disagree with each other in public: where a download contains a binary the licence does not authorise, the page says so rather than choosing the flattering half.