// the find
convertersystems/opc-ua-client
Visualize and control your enterprise using OPC Unified Architecture (OPC UA) and Visual Studio.
A pure .NET OPC UA client library for industrial automation — no dependency on the official OPC Foundation SDK. Targets WPF, UWP, and Xamarin via a MVVM-first design where ViewModels become live OPC UA subscriptions by decorating them with attributes. Useful for building HMIs and IIoT dashboards without touching the bloated official stack.
The attribute-based subscription model ([Subscription], [MonitoredItem]) is genuinely clever — you write a ViewModel and the library wires up the OPC UA subscription for you, which is much less ceremony than managing subscriptions manually. The binary encoder/decoder is hand-rolled and well-tested, with a respectable unit test suite covering edge cases in BinaryDecoder, UaSecureConversation, and Variant encoding. Full security channel implementation (ClientSecureChannel, UaSecureConversation) means you can actually use certificates and encrypted sessions, not just anonymous/no-security endpoints. The MappedEndpoints pattern for swapping dev/prod PLC addresses via config is a practical touch that most OPC UA samples skip.
UWP and Xamarin are both dead platforms — targeting them is a liability, not a feature, and .NET MAUI support doesn't appear to exist. The library only implements the client side; there's no server mode, so if you need to expose data upstream you're back to the official SDK. No support for OPC UA over WebSockets (the opc.wss transport), which is increasingly required for cloud-bridging scenarios. Activity in the repo appears sporadic — the IIoT space moves fast and the official OPC Foundation .NET Standard SDK is now open source, so the maintenance burden of keeping parity is real.