OPC Unified Architecture .NET Standard
2.3k
Stars
1.1k
Forks
19
Open issues
30
Contributors
AI Analysis
The OPC UA .NET Standard Stack is the official OPC Foundation reference implementation of OPC Unified Architecture for .NET, providing a certified, cross-platform stack with client, server, PubSub, GDS, and complex type support. It serves industrial control, manufacturing, energy, and IoT systems that require standards-based machine-to-machine communication; it is best suited for organizations building OPC UA infrastructure rather than general application developers.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Official OPC UA reference stack for .NET; certified, cross-platform, production-grade industrial middleware
The OPC Foundation's reference implementation of OPC Unified Architecture for .NET Standard, offering full-stack client, server, PubSub, and companion-spec support. Used in manufacturing, energy, and IoT systems. Version 2.0 modernizes the API surface with dependency injection, source generation, and Native-AOT support. This is not a startup project — it's the canonical implementation backed by industry standards governance.
Created February 2016 as the OPC Foundation's official .NET stack. Evolved from earlier COM-based OPC implementations into a cross-platform, certified reference. The 1.x line (master378 branch) remains supported; 2.0 (master) represents a breaking but deliberately modernizing release targeting contemporary .NET ecosystems.
Steady, incremental adoption driven by OPC UA's embedded role in industrial automation and energy systems. The 2.0 release (circa 2024–2026) appears to correlate with renewed investment: modern .NET framework support (.NET 8, 9, 10), dependency injection patterns, and LLM tooling (MCP server). Growth is measured and deliberate rather than viral; adoption follows standards adoption and industrial deployment cycles, not developer zeitgeist.
README explicitly states 'used in production across industrial control, manufacturing, energy, and IoT systems.' Certified through OPC Foundation Certification Test Lab and continuously verified against Compliance Test Tool. NuGet downloads metric available but not provided in metadata. OPC Foundation backing provides institutional adoption signals beyond GitHub metrics. Specific customer names or deployment scale not disclosed, but the certification claim and companion-spec breadth suggest material production usage.
Modular, split-package design (Core / Client / Server / Bindings) allowing consumers to adopt only what they need. Likely uses visitor patterns for node management and state machines for protocol state. Source-generated NodeManagers and DataTypes suggest code generation as a first-class concern. Appears to follow Microsoft.Extensions.DependencyInjection and modern hosting patterns. No ability to inspect implementation details beyond README claims of certification compliance and companion-spec coverage.
Azure DevOps CI/CD with automated test reporting and codecov badge present. README states 'Tests' and 'Coverage' badges are active, suggesting systematic testing. No explicit coverage percentage disclosed in README. Test quality relative to industrial-grade certification not verifiable from metadata alone.
Last push 2026-07-05 (today relative to analysis date). Active, continuous development. NuGet package has documented stable releases and preview feed. Both master (2.0) and master378 (1.5 LTS) branches maintained. 7 stars gained in last 7 days is modest but consistent with an established, non-viral project. Maintenance is clearly active, not languishing.
ADOPT IF: you need .NET-based OPC UA client/server on Windows, Linux, or cloud infrastructure; your organization requires certified standards compliance; you target industrial/manufacturing/energy domains where OPC UA is established; you can tolerate a breaking 2.0 API migration or stay on 1.x LTS. AVOID IF: you need lightweight, zero-dependency protocol bindings; you prefer pure JavaScript/Python runtimes over .NET; your use case doesn't benefit from OPC UA's industrial legacy and formal certification; you're looking for a niche or experimental protocol. MONITOR IF: you're evaluating OPC UA for IoT or edge deployment; the Native-AOT and LLM/MCP tooling (2.0 features) might unlock new integration patterns worth tracking.
Independent dimensions
Mainstream potential
4/10
Technical importance
8/10
Adoption evidence
7/10
- Breaking API changes in 2.0 require migration effort for 1.x consumers; adoption of 2.0 depends on whether the modern patterns (DI, source gen) justify the disruption.
- .NET ecosystem skews Windows/enterprise; adoption ceiling in pure-cloud or polyglot DevOps shops may be lower than in traditional manufacturing.
- OPC UA specification complexity and multiple companion specs create a steep learning curve; implementations can diverge on edge cases despite certification.
- Dependency on .NET runtime (even .NET Standard 2.1) excludes bare-metal or embedded scenarios; competing implementations (C, Go) have lower runtime overhead.
- Adoption metrics opaque; real-world deployment scale and customer base not publicly quantified, making true market footprint difficult to assess.
UA-.NETStandard will remain the canonical .NET OPC UA reference implementation, with steady adoption in established industrial verticals (manufacturing, energy) and gradual penetration into modern cloud and edge IoT via .NET 8+. The 2.0 release's dependency injection and source-generation patterns suggest a pivot toward contemporary .NET practices; LLM tooling (MCP server) is early-stage experimentation. Mainstream consumer/DevOps adoption unlikely due to OPC UA's niche industrial roots, but technical importance will persist within its domain.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- C#
- License
- NOASSERTION
- Last updated
- 6h ago
- Created
- 127mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Containerize and publish all sample servers to ghcr
Model Server.ServerRedundancy via generated subtype instances (TransparentRedundancyState / NonTransparentRedundancyState)
Revert pruning change in master378 and release another maintenance release
[Server] Runtime Complex Types. Add an easy way to expose NodeSet2 Based NodeManagers at runtime
Issues with pruning - AddIns missing.
Open pull requests
OPC UA Part 4 6.6 Redundancy (server + client) with opt-in distributed high-availability
CI: re-enable Managed DevOps Pool by default
CTT conformance fixes: WriteAttribute access rights, auth-lockout, X509 user-token error code + rejected-user review store
Top contributors
Similar repos
FreeOpcUa/opcua-asyncio
An asyncio-based OPC UA (IEC 62541) client and server library for Python 3.10+,...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
2.3k | +20 | C# | 8/10 | 6h ago |
|
|
1.6k | — | TypeScript | 8/10 | 2d ago |
|
|
1k | — | Go | 7/10 | 2w ago |
|
|
1.4k | — | Python | 8/10 | 2w ago |
|
|
7.9k | — | TypeScript | 8/10 | 6h ago |
|
|
3.2k | — | Python | 7/10 | 6h ago |
Python async client library; narrower scope (client-focused, no server). UA-.NETStandard is multi-role (client/server/pubsub/gds), certified reference, and anchored in .NET ecosystem. Different ecosystems and maturity models.
TypeScript/Node.js full-stack. Similar feature breadth to UA-.NETStandard but targets JavaScript runtime. UA-.NETStandard has OPC Foundation certification and tighter standards coupling; node-opcua is community-driven. Neither obsoletes the other — language and runtime preference dominates choice.
Go language implementation. Narrower than UA-.NETStandard (primarily client/server basics, less companion-spec coverage). Go's deployment model and UA-.NETStandard's .NET/Windows industrial legacy are orthogonal; adoption depends on target infrastructure.
Different domain (observability/instrumentation vs. industrial protocol). Not a competitor; could be integrated alongside UA-.NETStandard for telemetry. Different problem.
Distinct protocol and problem domain (commerce vs. industrial automation). Not a functional competitor despite higher GitHub star count.