NatNet SDK

A client/server networking SDK
for streaming motion tracking data across networks.

NatNet's client/server architecture allows client applications to run on the same system as the tracking software (Motive, ARENA or Tracking Tools), on separate system(s), or both. The SDK integrates seamlessly with standard APIs (C/C++/.NET), tools (Microsoft Visual Studio) and protocols (UDP/Unicast/Multicast). Using the NatNet SDK, developers can quickly integrate OptiTrack motion tracking data into new and existing applications, including custom plugins to third-party applications and engines for real-time streaming.

SDK Contents

NatNet Library

Native C++ networking library [headers, static library (.lib) and dynamic import library (.lib/.dll)]

NatNet Assembly

Managed .NET assembly (NatNetML.dll) for use in .NET compatible clients.

NatNet Samples

Sample projects and executables designed to be quickly integrated into your own code.

MatNet interface to MATLAB

.NET interface and sample program (MatNet.m) for live streaming markers, rigid bodies, or skeletons. The MatNet sample program works directly with MATLAB core, requiring no additional MATLAB modules.

API Structure

NatNetClient

A class for communicating with a NatNet Server such as Motive, Arena or Tracking Tools.

NatNetServer

A class for implementing a NatNet server and sending NatNet formatted data packets. Useful for testing your NatNet integration without access to OptiTrack motion capture software.

NatNet Data Types

Structures encapsulating data encoded in NatNet packets.

NatNet Assembly

A managed (.NET) class library that can be called by .NET components. The NatNet assembly wraps the underlying native NatNet library, exposing the NatNetClient and NatNet Data Types for use in .NET compatible environments (e.g. VB.NET, C#, MatLab).

Data Types

Marker Set Data

A named collection of identified markers and their positions (X,Y,Z).

Rigid Body Data

A named segment with a unique ID, position, and orientation data, and the collection of identified markers used to define it.

Skeleton Data

A named, hierarchical collection of rigid bodies.