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

# Universal Robots SDK documentation

## Get started

- [Get started with .NET](/universal-robots/documentation/get-started-net) : Add the Universal Robots SDK to a C#, VB.NET or F# project from NuGet or from the zip, and write a first program. .NET Framework 3.5 to .NET 10, Windows, Linux and macOS.
- [Get started with Python](/universal-robots/documentation/get-started-python) : Install the Universal Robots SDK from PyPI and write a first Python program. Python 3.7 to 3.13 on Windows, Linux and macOS, with pythonnet.
- [Get started with LabVIEW](/universal-robots/documentation/get-started-labview) : Read and control a UR cobot from LabVIEW 2010 and later with the VIs of UniversalRobots.vi: Primary Interface, RTDE, Dashboard Server and SFTP.
- [Get started with Matlab](/universal-robots/documentation/get-started-matlab) : Load the .NET DLL of the Universal Robots SDK in Matlab with NET.addAssembly, and read and control a UR cobot from a Matlab script.
- [Try the SDK with the demo application](/universal-robots/documentation/demo-app) : Download the Windows demo application of the Universal Robots SDK and try every interface on your robot or on URSim, without writing code. Its C# sources are on GitHub.
- [Connect to the robot](/universal-robots/documentation/connect) : Enable the interfaces of the UR cobot, set the network and the remote control, then connect with ConnectParameters. Ports, settings and errors.
- [Develop without a robot (URSim)](/universal-robots/documentation/configure-offline-simulator) : Install URSim, the simulator of Universal Robots, in VirtualBox for PolyScope 5 or in Docker for PolyScope X, and connect the SDK to it.
- [Licensing](/universal-robots/documentation/license) : The 30 day trial of the Universal Robots SDK, the license key, the license states, the maintenance and the source license.
- [AI agent skills](/universal-robots/documentation/ai-skills) : Install the skill of the Universal Robots SDK in Claude Code, Codex, GitHub Copilot or Cursor, for C# or Python. The agent then answers with the documentation and the API of your SDK version.

## Communication protocols

- [RTDE: Real-Time Data Exchange](/universal-robots/documentation/rtde) : Exchange data with a UR cobot up to 500 Hz with RTDE: choose the outputs and the inputs, receive the data, write the inputs, pause and resume.
- [Primary Interface: data streaming](/universal-robots/documentation/data-streaming) : Receive the state of a UR cobot at 10 Hz with the Primary Interface: robot mode, joints, tool, I/O, Cartesian position, kinematics and configuration.
- [Send URScript](/universal-robots/documentation/remote-send-script) : Send URScript to a UR cobot with the Primary Interface: a line, a program or a secondary program, and their effect on the running program.
- [Dashboard Server: remote commands](/universal-robots/documentation/remote-commands) : Power, brakes, programs, popups, robot mode and safety status of a UR cobot with the Dashboard Server of PolyScope 5. All the commands of the SDK.
- [REST API (PolyScope X)](/universal-robots/documentation/rest-api) : Control a UR cobot with PolyScope X over HTTP: power, brakes, load, play and stop programs, read the program state. Replaces the Dashboard Server.
- [SFTP file handling](/universal-robots/documentation/sftp-file-handling) : Download, upload, list, rename and delete the files of a UR controller with SFTP: programs, installations and any other file.
- [SSH Linux commands](/universal-robots/documentation/ssh-commands) : Run Linux commands on the controller of a UR cobot with SSH, one by one or in a shell that keeps its session.
- [XML-RPC](/universal-robots/documentation/xml-rpc) : Answer the XML-RPC calls of a UR robot program from your application: positions, numbers, text. The SDK is the server.
- [Interpreter Mode](/universal-robots/documentation/interpreter-mode) : Send URScript statements to a running UR program in interpreter_mode(), follow their execution, skip or clear the buffer, end the mode.
- [Socket communication](/universal-robots/documentation/socket-communication) : Exchange your own messages with a UR robot program through the socket functions of URScript. The SDK is the socket server.

## Offline Toolbox

- [Forward and inverse kinematics](/universal-robots/documentation/kinematics) : Compute the forward and inverse kinematics of UR cobots without a robot: DH parameters of each model, flange pose, up to 8 solutions, singularities.
- [Convert position types](/universal-robots/documentation/tools) : Convert the orientation of a UR pose between rotation vector, roll pitch yaw, 4x4 transform and quaternion with the Pose class.
- [Program and installation files](/universal-robots/documentation/archive-file) : Open the .urp program and .installation files of a UR cobot on the PC, read and change their XML, and save them again.

## How-To Articles

- [Get the robot position](/universal-robots/documentation/how-to-get-position) : Read the joint positions and the TCP position of a UR cobot in C# or Python, with RTDE up to 500 Hz or with the Primary Interface.
- [Read and write I/O](/universal-robots/documentation/how-to-read-write-io) : Read and write the digital and analog I/O of a UR cobot in C# or Python, with RTDE and its masks, or with the Primary Interface.
- [Read and write variables](/universal-robots/documentation/variables) : Read the program and installation variables of a UR cobot in C# or Python with the Primary Interface or the Dashboard Server, and how to change them.
- [Read and write registers](/universal-robots/documentation/registers) : Exchange values between a UR robot program and a PC with the boolean, integer and float registers, with RTDE up to 500 Hz.
- [Run a program](/universal-robots/documentation/how-to-run-program) : Power on a UR cobot, release the brakes, load a program and play it from a PC in C# or Python, then follow it until its end.
- [Read and reset alarms](/universal-robots/documentation/how-to-read-reset-alarms) : Read the error messages, the program errors and the safety status of a UR cobot in C# or Python, and reset a protective stop or a safety fault.
- [Transfer files and backups](/universal-robots/documentation/how-to-transfer-files) : Copy the programs of a UR cobot to a PC for a backup, send a program to the robot and load it, in C# or Python with SFTP.
- [Monitor the state of the robot](/universal-robots/documentation/how-to-monitor-state) : Follow the robot mode, the program, the stops, the safety status and the connection of a UR cobot in C# or Python.
- [Move the robot from a PC](/universal-robots/documentation/how-to-move-robot) : Move a UR cobot from a PC in C# or Python with URScript, the Interpreter Mode, registers or a program, and check the position reached.
- [Legal notice and acknowledgements](/universal-robots/documentation/credits) : Legal notice and acknowledgements for the UnderAutomation Universal Robots SDK.
