Announcing Structure SDK (Cross-Platform) 0.6.1 for Structure Core


Update (January 18, 2019):

We’re announcing Structure SDK (Cross-Platform) 0.6.1, a follow-up update to Structure SDK (Cross-Platform) 0.6.

This new SDK version requires Structure Core Firmware 0.9.3.

This release requires Structure Core firmware version 0.9.3. If your sensor has firmware version 0.9.2 please use the included firmware updater to update your sensor’s firmware. If you have firmware 0.8.X please contact support

Announcing Structure SDK (Cross-Platform) 0.6 for the New Structure Core

The Occipital team has been working hard to get Structure SDK (Cross-Platform) ready for use with Structure Core, and we’re excited to say it’s available for download!

Structure SDK (Cross-Platform) 0.6 includes the following:

  • Structure SDK for Windows
  • Structure SDK for Android
  • Structure SDK for Linux (x64, ARM)
  • Core Playground (preview release, for macOS only)

Stream with Core Playground (for macOS)

This package contains a preview release of Core Playground, a tool that enables testing and tweaking of streaming functionality on Structure Core. You can enable streams for every sensor on the device, adjust their settings, and save frame data. If you have access to a Mac, we highly recommend starting with Core Playground to familiarize yourself with Structure Core.

For a more in-depth overview of Core Playground, please watch this Occipital webinar.

Develop with Structure SDK

These packages contain Structure SDK for Windows, Linux, and Android. Within these SDK packages, you’ll receive reference material (README.html) along with the development tools for the different supported platforms: Android, Linux, and Windows.

Setting up a program to stream data directly from Structure Core is as easy as writing a couple dozen lines of code, as seen below:

struct MyCaptureSessionDelegate : public ST::CaptureSessionDelegate {
  void captureSessionDidOutputSample (CaptureSession* session, const CaptureSessionSample& sample) override {
    switch (sample.type) {
      case ST::CaptureSessionSample::Type::SynchronizedFrames:
        // we have sync'd frames!
        // ST::Matrix4 cameraPose = ST::Matrix4::nan();
        // bridgeEngine.provideRgbdFrame(sample.depthFrame, sample.visibleFrame, cameraPose);
      case ST::CaptureSessionSample::Type::AccelerometerEvent:
        // we have accel data!
        // bridgeEngine.provideAccelData(sample.accelerometerEvent);
      case ST::CaptureSessionSample::Type::GyroscopeEvent:
        // we have gyro data!
        // bridgeEngine.provideGyroData(sample.gyroscopeEvent);

// configure the options to stream everything needed for tracking
ST::CaptureSessionSettings settings;
settings.structureCore.depthEnabled = true;
settings.structureCore.visibleEnabled = true;
settings.structureCore.accelerometerEnabled = true;
settings.structureCore.gyroscopeEnabled = true;

// create your delegate class
MyCaptureSessionDelegate delegate;

// attach the delegate to a CaptureSession
ST::CaptureSession captureSession;

// apply settings and start streaming!


Structure SDK (Cross-Platform) 0.6 Download

Full Release Notes

This release requires Structure Core firmware version 0.9.2. Note that 0.8.x sensors are incompatible and not field upgradeable. If you are not running 0.9.2 or newer, please contact Occipital immediately.

Release type: Windows, Linux, Android

Firmware: This SDK requires Structure Core Firmware 0.9.2

Supported Platforms: Windows, Android, Linux

Architectures: x86_64 (Windows/Linux), arm64 (Linux/Android)

  • Structure Core is here! Welcome to all the new customers using the brand new enclosed Structure Core. This release is the first to support the new model ST02D (enclosed) Structure Core.
  • Multi-Sensor Support In this release, you can enumerate and stream from multiple Structure Cores to a single computer (but only one per executable). This is Linux-only for now. Other platforms will follow. Access this feature via these new APIs:
    • Added ST::enumerateConnectedSensors which returns a list of all connected Structure Core devices.
    • Added the sensorSerial field to Structure Core settings in ST::CaptureSessionSettings which allows specifying the serial number of a sensor to use. Other connected sensors are ignored when this option is set.


Hey, Sorry for the dumb question, but where in the downloaded folder is the firmware update to 0.9.3? I have a structure core with firmware 0.9.2 that I would like to update.



You can download the Structure SDK (Cross-Platform) 0.6.1 from our Developer Portal. Within that download now includes the firmware upgrade tool.


Thanks for solving, I had downloaded an earlier version of 0.6.1.