---
title: Universal Robots SDK documentation
---

# Universal Robots SDK documentation

## Get started

- [Get started with .NET](/universal-robots/documentation/get-started-net) : Code your application in C# or VB with this 100% managed library, without dependencies and available on NuGet.org in the version and architecture of your choice (x86, x64, ARM, Linux, Windows, MacOS, .NET Framework, .NET Core, UWP, ...)
- [Get started with LabVIEW](/universal-robots/documentation/get-started-labview) : Get started with LabVIEW
- [Get started with Python](/universal-robots/documentation/get-started-python) : Quickly develop a program in Python that communicates with your robot using this library. It is available on PyPI.
- [Get started with Matlab](/universal-robots/documentation/get-started-matlab) : Allow your Matlab scripts to drive your robot.

## Interfacing with the Robot

- [Connect to the robot](/universal-robots/documentation/connect) : Several connection options allow you to choose which services you want to use through this SDK.
- [Configure the UR simulator (URSIM)](/universal-robots/documentation/configure-offline-simulator) : After downloading the SDK, it is possible to test it on a real robot or via the simulator. This article shows how to setup the simulator.
- [Licensing](/universal-robots/documentation/license) : To be used, this SDK is subject to licensing. You have 30 days to test it for free.

## Communication protocols

- [RTDE : Real-Time Data Exchange](/universal-robots/documentation/rtde) : The RTDE protocol allows fast two-way data exchange between the robot and your application up to 500Hz.
- [Primary Interface : Data streaming](/universal-robots/documentation/data-streaming) : Receive robot state data at 10Hz via the Primary Interfaces
- [Remote send script](/universal-robots/documentation/remote-send-script) : Remote send and execute URScript via the Primary Interfaces.
- [Dashboard Server : Remote Commands](/universal-robots/documentation/remote-commands) : Remote send commands to the robot via the Legacy Dashboard Server protocol (not compatible with PolyscopeX).
- [REST API (PolyscopeX)](/universal-robots/documentation/rest-api) : Remote send commands to the robot via the REST API protocol (PolyscopeX only).
- [SFTP file handling](/universal-robots/documentation/sftp-file-handling) : Manipulate robot files and folders (like *.urp programs) : download, upload, rename, delete, move, enumerates...
- [SSH Linux commands](/universal-robots/documentation/ssh-commands) : Remote execute Linux command lines on the robot controller.
- [XML-RPC](/universal-robots/documentation/xml-rpc) : Response to XML-RPC requests sent by the robot script. You can send positions, numbers, string to the robot.
- [Interpreter Mode](/universal-robots/documentation/interpreter-mode) : Send and execute URScript statement at runtime.
- [Socket communication](/universal-robots/documentation/socket-communication) : Your application can become a socket server to exchange data with the robot through your own protocol.

## Offline Toolbox

- [Forward and Inverse Kinematics](/universal-robots/documentation/kinematics) : Calculate forward and inverse kinematics for UR robots.
- [Convert position types](/universal-robots/documentation/tools) : Convert Rotation Vector to and from RPY
- [Open and edit program and installation files](/universal-robots/documentation/archive-file) : Decompile UR files like URP program and installation files

## Articles

- [Reading & Writing Global Variables](/universal-robots/documentation/variables) : Learn how to read and manage global variables (program and installation) in the Universal Robots controller using the Dashboard Server Protocol and Primary Interface. Explore the GlobalVariable class, handle variable events, and test it with a Windows example.
- [Reading & Writing Registers](/universal-robots/documentation/registers) : Learn how to use Boolean, Float, and Integer registers on UR Cobots to communicate with Fieldbus or RTDE systems. Includes code examples, usage tips, and interface methods like Primary Interface and RTDE.
- [LEGAL NOTICE AND ACKNOWLEDGEMENTS](/universal-robots/documentation/credits) : Legal notice and acknowledgements for the UnderAutomation Universal Robots SDK.
