Get started with .NET
Add the ABB SDK to a C# or VB.NET project from NuGet or as a DLL, and write a first program for an IRC5 or OmniCore controller. One managed DLL, no dependency, .NET Framework 3.5 to .NET 10.
This page shows how to add the ABB SDK to a C#, VB.NET or F# project and write a first program for an IRC5 or OmniCore controller. The SDK is one fully managed DLL, UnderAutomation.ABB.dll, with no dependency, that talks to the Robot Web Services (RWS) of the controller.
Supported frameworks
The DLL is compiled in AnyCPU for these targets:
| Family | Versions |
|---|---|
| .NET Framework | 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
| .NET Standard | 2.0, 2.1 |
| .NET Core | 3.0 |
| .NET | 5.0, 6.0, 8.0, 9.0, 10.0 |
.NET and .NET Core run on Windows, Linux and macOS, on x64, x86, ARM and ARM64. For Mono or Universal Windows Platform (UWP), use .NET Standard 2.1. For the Unity engine, use a .NET Framework or a .NET Standard version.
The asynchronous methods are the only part that is not available everywhere: .NET Framework 3.5 and 4.0 have no async / await, so they only get the synchronous API. Everything else is the same on every target.
Install from NuGet
NuGet picks the right DLL for your project and makes updates easy.
dotnet add package UnderAutomation.ABB
With the Package Manager console of Visual Studio:
Install-Package UnderAutomation.ABB
Or right click the Dependencies node of your project, select Manage NuGet Packages..., search for UnderAutomation.ABB and install the latest version.
Package page: nuget.org/packages/UnderAutomation.ABB
Or download the DLL
The latest release of the GitHub repository ABB.NET contains:
- UnderAutomation.ABB.zip: the DLL and its XML documentation, in one folder per target (
net48,netstandard2.0,net8.0...). Reference the DLL of your target in your project. - UnderAutomation.ABB.Showcase.Forms.exe: the demo application for Windows. See Demo application.
On Windows, a downloaded file can be blocked. Before you extract the zip, right click it, open Properties, check Unblock and click OK. A blocked DLL can fail to load.
Use the SDK with an AI agent
An AI agent such as Claude Code, Codex, GitHub Copilot or Cursor can write your C# code with the SDK. Without help, it does not know which protocol to use, which controller option is needed, or the exact names of the API, so it can invent members that do not exist. The UnderAutomation skill gives it the documentation of this version of the SDK: protocols, controller settings, API in C#, errors and safety rules for robot motion.
With the skill installed, you can ask for example:
Install the skill in your project:
npx skills add underautomation/skills --skill underautomation-abb-csharp
With Claude Code, you can also install it as a plugin:
claude plugin marketplace add underautomation/skillsclaude plugin install abb-csharp@underautomation
Or paste this prompt to your agent: "Install the UnderAutomation ABB skill: follow https://underautomation.com/abb/documentation/ai-skills.md". The other installation modes are in AI agent skills.
First program
Import the namespace UnderAutomation.ABB, create an AbbController, connect and call a service.
static void Main(){// Without a key, the SDK runs in its 30 day trial period.// With a license, register it once, before the first connection.AbbController.RegisterLicense("YourCompanyName", "YOUR_LICENSE_KEY");// The whole SDK is reachable from a single objectAbbController robot = new AbbController();robot.Connect("192.168.0.1");// Controller identityvar identity = robot.Rws.Controller.GetIdentity();Console.WriteLine($"Connected to {identity.Name}");// RAPID tasksforeach (var task in robot.Rws.Rapid.GetTasks()){Console.WriteLine($"{task.Name} : {task.ExecutionState}");}robot.Disconnect();}}
The SDK runs for 30 days without a key. After that, RegisterLicense is needed: see Licensing.
The default parameters target an OmniCore controller over HTTP, with the default user of the controller. For an IRC5 with RobotWare 6, HTTPS or another user, see Connect to your robot.
Demo application
The demo application is a Windows program that calls every service of the SDK, without writing code. It is a single executable, with no installation. Its C# sources are in the folder UnderAutomation.ABB.Showcase.Forms of ABB.NET. See Demo application.
Shell sources
The folder UnderAutomation.Abb.ObfuscatedSources of ABB.NET contains every public type and member of the SDK, with its XML documentation. The bodies of the methods are replaced by "Source is hidden". Use it to:
- browse the API and its documentation on GitHub, without installing anything;
- jump to a definition from your code editor, with the same names and signatures as the DLL;
- see the structure of the code that the source license delivers.
Source license
The Standard and Pro licenses deliver the obfuscated DLL. The Source license delivers the full C# code of the library and its Visual Studio solution. You can change it and build it yourself, within the limits of the license agreement. See the licenses on the pricing page and Licensing.
What to read next
- Connect to your robot: connection parameters, IRC5 and OmniCore, errors, asynchronous API.
- Test with a RobotStudio virtual controller: work without a real robot.
- AI agent skills: install the C# skill of the SDK in Claude Code, Codex, GitHub Copilot or Cursor.
- Robot Web Services overview: the services of the SDK, one page per topic.
- API reference: the shell sources.