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.

Search by language, runtime or platform
Operating system
Architecture
Kind of package
Compare as a table 17 of 17 packages

Windows C/C++

windows-cpp

The engine as a DLL, with the header and both bitnesses.

Native library
Licence covers
win-x86 win-x64

Windows on ARM64

windows-arm64

A native ARM64 build of the engine for Windows.

Native library
Licence covers
win-arm64

Windows ActiveX / COM

windows-activex

A registered COM server, for hosts that cannot call a C DLL.

Language binding
Licence covers
win-x86 win-x64

.NET (source P/Invoke)

windows-dotnet

The C# and VB.NET bindings as source, plus both engines.

Language binding
Licence covers
win-x86 win-x64

NuGet package

nuget

One package, native engines for every runtime identifier.

Language binding Package manager Cross-platform
Licence covers
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
Licence covers
linux-x86 linux-x64

Linux on ARM

linux-arm

Shared objects for 64-bit and 32-bit ARM Linux.

Native library
Licence covers
linux-arm32 linux-arm64

macOS

macos

One universal dylib covering Intel and Apple Silicon.

Native library
Licence covers
macos

iOS

ios

Static archives for device and simulator.

Native library Mobile
Licence covers
ios

Android

android

Shared objects for all four Android ABIs.

Native library Mobile
Licence covers
android

PHP

php

A pure-PHP binding over FFI: no compiled extension to match.

Language binding
Licence covers
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
Licence covers
win-x86 win-x64 linux-x64 macos

Delphi / Object Pascal

pascal

Two bindings: the flat DLL unit and an object wrapper.

Language binding
Licence covers
win-x86 win-x64

ASP.NET Core

aspnet

A self-contained web sample with the package bundled.

Language binding
Licence covers
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
Licence covers
win-x64 linux-x64 macos ios android

Node.js

javascript

A JavaScript binding with TypeScript declarations included.

Language binding
Licence covers
win-x64 linux-x64 macos

TypeScript

typescript

The Node binding with a typed surface and a TS example.

Language binding
Licence covers
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.

See the full platform matrix →