OPC UA for .NET —
Your code. Your rules.

Client and server SDKs that reduce OPC UA development to what matters: your business logic. Less protocol, more results — from proof of concept
to 24/7 operation.

4.8/5 on Trustpilot · 224 reviews
Free evaluation
Royalty-free
.NET Standard 2.0 / .NET Framework 4.7.2+
1.28M+ NuGet downloads
1,400+ OPC UA SDK customers
10+ Years of continuous development
Corporate Member OPC Foundation

Less protocol.
More business logic.

From connection to result — in so few lines you'll wonder
where the rest is.

Program.cs — OPC UA Client
// Connect and read a value
var client = new OpcClient("opc.tcp://myserver:4840");
client.Connect();

var temperature = client.ReadNode("ns=2;s=Temperature");
Console.WriteLine($"Temperature: {temperature} °C");

// Subscribe to changes
client.SubscribeDataChange("ns=2;s=Temperature",
    (sender, e) => Console.WriteLine(
        $"New: {e.Item.Value}"
    ));

client.Disconnect();

Read, write, subscribe to data — without a degree in OPC UA.

From new to ReadNode is exactly three lines. No certificate configuration, no session management, no endpoint discovery — the SDK takes care of it.

Automatic session management and reconnect
Subscriptions with a single delegate — no polling needed
Runs on Windows, Linux, macOS and in Docker
Program.cs — OPC UA Server
// Start the server and expose data
var temperatureNode = new OpcDataVariableNode<double>(
    name: "Temperature",
    value: 21.5
);

var server = new OpcServer(temperatureNode);
server.Start();

// Update values dynamically
while (true)
{
    temperatureNode.Value = ReadSensor();
    temperatureNode.ApplyChanges(server.SystemContext);
    Thread.Sleep(1000);
}

Your system as an OPC UA server — in minutes, not months.

Define data points, methods and events with the same API feel you know from .NET. The server handles sessions, security and discovery in the background — and starts on opc.tcp://localhost:4840 by default.

Define nodes, methods, files and events declaratively
Built-in security — certificates, policies, encryption
OPC UA Companion Standards integrate directly
MyMachine.cs — OPC UA Companion (ISA-95 Job Control)
// Companion SDK: your machine as an ISA-95 JobManager
// NuGet: Opc.UaFx.Advanced.ISA95.JobControl

public class MyMachine() : OpcISA95JobManager(
    new OpcISA95JobOrderReceiver(),
    new OpcISA95JobResponseProvider())
{
    public override OpcISA95JobOrderMethodResults Start(
            OpcContext context,
            string jobOrderID,
            OpcText[] comment)
    {
        // Your logic: start the job, persist state, ...
        Console.WriteLine($"MES is starting job {jobOrderID}");
        return base.Start(context, jobOrderID, comment);
    }

    protected override OpcISA95JobResponse CreateJobResponse(
            OpcISA95JobOrder jobOrder,
            OpcISA95State[] jobStates)
    {
        return new OpcISA95JobResponse { JobOrderID = jobOrder.JobOrderID, JobState = jobStates };
    }
}

Industry standards as ready-made Co-SDKs — UMATI-compliant.

OPC UA Companion Standards such as Machinery, PackML, Robotics or ISA-95 are available as separate Companion SDKs and integrate seamlessly into your server application. The Essential bundle — with Machinery, ISA-95 and three more standards — is already included for subscription customers.

20+ companion standards as Co-SDKs in industry-specific bundles
UMATI-compliant server implementation possible
Essential bundle included for subscription customers

Six reasons that make the difference

Each of these points addresses a real problem that developer teams run into on OPC UA projects.

Time-to-market in sprints, not quarters

Up to 90% less code compared to the OPC Foundation Stack. From NuGet install to proof of concept in hours — the API abstracts the OPC UA stack so your team can focus on business logic.

Up to 90% less code

Royalty-free — one license, unlimited applications

Build as many OPC UA applications as you like. No per-unit licenses, no runtime fees, no hidden costs per deployment.

∞ applications · 1 license

Industrial reliability — 24/7/365

Stable in three-shift operation, automatic reconnect on connection drops, and large requests split automatically according to the server's limits.

.NET Framework 4.7.2+ · .NET Standard 2.0 · Auto-Reconnect

Cross-platform with .NET

Windows, Linux, macOS, Docker, Raspberry Pi, Siemens IOT2050. Runs on .NET Framework 4.7.2 and later and on .NET (Core); via .NET Standard 2.0 also on further platforms such as Mono and Unity.

.NET Framework 4.7.2+ · .NET (Core) · .NET Standard 2.0

Support from the developers — not a call center

Your questions reach the people who built the SDK. Tailored code examples, architecture advice, direct answers — for over 10 years.

10+ years of developer support

20+ companion standards
as Co-SDKs

Industry bundles for Machinery, Smart Factory, Automotive, Logistics and Smart Energy. Essential bundle with Machinery and ISA-95 included for subscription customers. UMATI-compliant servers possible.

20+ Co-SDKs · Essential included

Runs on the shop floor.
For years.

In the field you meet servers from many vendors and generations. The SDK is designed to work with them reliably — around the clock.

Also for servers that deviate

New identifiers after a server restart, endpoints behind NAT, incomplete type descriptions: the SDK handles typical deviations instead of dropping the connection.

Fallback strategies built in

Existing systems keep running

Older server generations and security methods use the same API, OPC Classic via add-on. After an SDK update, your code keeps running — without rework.

OPC Classic · Legacy policies

Safeguarded for 24/7

Automatic reconnect, optionally with a maximum duration. Limits on sessions, subscriptions and login attempts protect the server. The SDK cleans up after itself on disconnect, stop and Dispose.

Hardened in the field for 10+ years

„Within two or three sprints our interfaces were ready to go — with staff who previously had hardly any OPC UA experience. The return on investment was measured in months."

Bosch
Carl Zeiss
Mitutoyo
Stadler Rail
Eversys
DINA Elektronik
measX
Securiton

The right SDK for your project

Every variant includes free evaluation, royalty-free licensing and top-level support from our developers. Usable without an OPC Foundation membership.

OPC UA Client SDK
For applications that read, write and subscribe to data from OPC UA servers. The fastest way to OPC UA integration in your .NET project.
Communication
Enthalten: DA, HDA, Alarms & Events
Enthalten: OPC UA v1.04+ as client
Enthalten: OPC Watch (browser + type code-gen)
Enthalten: Auto-Reconnect
Development
Enthalten: Companion SDKs (Machinery, ISA-95, …)
Enthalten: NodeSet import/export (UA-XML)
Enthalten: Structured data types as POCOs
Enthalten: Union data types (IOpcUnion)
Platform
Enthalten: .NET Framework 4.7.2+ and .NET (Core)
Enthalten: Windows, Linux, macOS, Docker
Enthalten: .NET Standard 2.0
Enthalten: Mono and Unity via .NET Standard 2.0
Security
Enthalten: Auto certificates + judgement callbacks
Enthalten: Modes: None, Sign, SignAndEncrypt
Enthalten: Policies: Basic256Sha256, Aes suites (+ Legacy)
Enthalten: Custom certificate validator
Custom editions for LabVIEW and Unity on request
Try for free
OPC UA Server SDK
For applications that expose data, methods and events as an OPC UA server. Make your system OPC UA-compliant — with just a few lines of code.
Communication
Enthalten: DA, HDA, Alarms & Events
Enthalten: OPC UA v1.04+ as server
Enthalten: OPC Watch (browser + type code-gen)
Enthalten: Session lifecycle as events
Development
Enthalten: Companion SDKs (Machinery, ISA-95, …)
Enthalten: NodeSet import/export (UA-XML)
Enthalten: Structured data types as POCOs
Enthalten: Union data types (IOpcUnion)
Platform
Enthalten: .NET Framework 4.7.2+ and .NET (Core)
Enthalten: Windows, Linux, macOS, Docker
Enthalten: .NET Standard 2.0
Enthalten: Mono and Unity via .NET Standard 2.0
Security
Enthalten: Auto certificates + judgement callbacks
Enthalten: Modes: None, Sign, SignAndEncrypt
Enthalten: Policies: Basic256Sha256, Aes suites (+ Legacy)
Enthalten: Custom certificate validator
Try for free

Brownfield? Same client, different protocol.

OPC Classic (DA, HDA, AE) as a license option for Client and Bundle — technically via the Opc.UaFx.Advanced package, on Windows. The same OpcClient — just a different connection string. Behind the scenes, an OPC UA gateway is created automatically that transparently abstracts the classic interfaces.

// OPC UA Server
new OpcClient("opc.tcp://...")

// OPC Classic Server
new OpcClient("opc.com://...")
Request quotation

Machinery, Smart Factory, Automotive, Logistics and Smart Energy — as Co-SDK bundles for your server application. The Essential bundle with Machinery and ISA-95 is included for subscription customers.

Discover the Companion SDKs

What's inside the SDK

Comprehensive OPC UA features, a consistent node and data model, a complete security architecture — and three variants plus the OPC Classic add-on, each with a clearly defined feature set.

OPC UA standard
Specification
IEC 62541 — OPC UA v1.04 and higher
Transport
opc.tcp:// · default endpoint localhost:4840
Profiles
Core Characteristics · Generic Features · Data Access (DA) · Event Access (EA) · Alarm & Condition (AC) · Alarm & Events (AE) · Historical Data Access (HDA)
Stack base
Official OPC UA .NET Stack
(Microsoft / OPC Foundation)
Companions
Dedicated Co-SDKs as NuGet packages for e.g. UMATI, PackML and more
Nodes & data
Addressing
NodeId · BrowseName · BrowsePath
browsing with LINQ · custom factories
(e.g. SIMATIC style)
Node types
DataVariable, Folder, Object, Method, AnalogItem, EventType, File, ...
Scalar values
Boolean · Byte / Int16 / UInt16 / Int32 / UInt32 / Int64 / UInt64 · Float · Double · String · DateTime · TimeSpan · ...
Collections
Scalars also as array or matrix (multi-dimensional)
Structures
Complex data types via .NET Dynamic, name-value pairs or your own .NET types — implicit and explicit encoding
Subscriptions
DataChange and Event as delegates · restored per subscription after a reconnect
Server services
Client requests as events (validate + log) · node management for clients · HDA with paging, aggregates + built-in historian
Security & configuration
Security modes
None · Sign · SignAndEncrypt
Algorithms
None · Basic256Sha256 · Aes128_Sha256_RsaOaep · Aes256_Sha256_RsaPss · older policies for legacy systems
Authentication
Anonymous · Username/Password · X.509 certificates · custom identities
Access protection
Access rights per operation and endpoint · brute-force protection · limits for sessions, subscriptions and login attempts
Certificates
Custom certificate stores · MachineDefault · Rejected Certificates · custom PKI via event · GDS Push
Configuration
In code, via XML file or dynamically
at runtime
Defaults
Set up for a quick start out of the box · hardening to suit your environment — from machine network to cloud
Robustness
Multi-read/write split by the server's limits · Auto-Reconnect · disconnect detection · fallback strategies for servers that deviate
What each variant can do
Client and server services per variant. OPC Classic is a license option for Client and Bundle — technically via the Opc.UaFx.Advanced package, on Windows.
Service Client SDK Opc.UaFx.ClientServer SDK Opc.UaFx.AdvancedBundle (Client + Server) Opc.UaFx.AdvancedOPC Classic DA · HDA · AE
Data Access ClientServerClient
Alarms & Conditions ClientServerClient
Events ClientServerClient
Historical Data Access ClientServerClient
Discovery ClientServerlocal
Methods CallProvide—
Files AccessProvide—
Other nodes ProcessProvide—
Availability Direct purchaseDirect purchaseAdd-on to Client / Bundle

License once. Deploy without limits.

License model

Perpetual license
One-time payment. Valid indefinitely. Royalty-free. Incl. 12 months of Support and Update Service.
Subscription license
Annual payment. Lower entry cost. Support & updates always included.

License type

Single developer
For one developer at one workstation.
Site license
For all developers at one location.
Enterprise license
Tailored — get in touch.

All licenses are royalty-free — unlimited applications, no per-unit costs per deployment.

License models in detail
Dominik Scharnagl

„The simple API reduces development effort and shortens your time-to-market — so you get faster to where it counts: your customer."

Dominik Scharnagl CEO & CTO, Traeger GmbH — architect of the OPC UA SDK

Ready for less protocol
and more results?

Download the SDK and start your proof of concept, or talk directly with our team.