HybridCLR is a Unity Editor plugin and runtime library designed to enable native C# hot updates for games using the IL2CPP backend. It achieves this by modifying the IL2CPP runtime to support a hybrid AOT (Ahead-of-Time) and Interpreter execution model, allowing dynamic assembly loading without recompiling the native binary. The system operates through a deep integration with Unity's build pipeline, utilizing Editor-only build processors to analyze metadata, strip unnecessary AOT code, and generate necessary native bridges. Architecturally, the repository is split between Editor tools (metadata analysis, code generation, build hooks) and Runtime components (assembly loading, method dispatch). It relies heavily on native code patching (UnityHook) and custom binary parsing (UnityFS) to intercept and modify Unity's internal behavior. External dependencies include dnlib for IL metadata manipulation and embedded compression libraries (7zip, LZ4) for asset handling. While the solution is technically sophisticated, it carries significant maintenance risks due to its tight coupling with Unity's internal APIs and IL2CPP runtime internals. The codebase maintains compatibility across multiple Unity versions (2019-2023+) through version-specific build processors, but this creates a high surface area for breakage during Unity engine updates. It is a specialized tool for game development rather than a general-purpose library.
libplctag.NET is a .NET library providing two NuGet packages for industrial PLC communication via EtherNet/IP and Modbus TCP. The primary package (libplctag) offers a high-level, asynchronous, strongly-typed API built on top of the native libplctag C library, handling resource cleanup, exceptions, and event-driven operations. The second package (libplctag.NativeImport) exposes a low-level P/Invoke wrapper that manages platform-specific native binary loading and provides raw tag access. The architecture is a classic wrapper layer: the high-level Tag class encapsulates native handle lifecycle, attribute string generation, synchronous and async operations (using TaskCompletionSource with concurrent stacks to handle native callbacks), and exposes typed data accessors. The library targets a wide range of .NET frameworks (netcoreapp3.0 through net8.0, plus .NET Framework 4.7+), reflecting its industrial compatibility requirements. Some parts of the codebase (the generic Tag<M,T> and associated PlcMappers) are marked obsolete due to a planned API redesign (referenced as issue #406), indicating ongoing evolution.