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
Clear filters Compare as a table 12 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

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 →