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 9 of 17 packages

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

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

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 →