This repository is the `react-native-update` SDK (branded as Pushy for China and Cresc globally), a production-grade over-the-air (OTA) update library for React Native applications. It enables incremental patching of JavaScript bundles (including Hermes bytecode) and native resources across iOS, Android, and HarmonyOS platforms. The system comprises a JavaScript layer (React context, hooks, client classes) that orchestrates check, download, patch, and switch operations, and native modules on each platform that handle binary patching (via HDiffPatch/LZMA), secure zip extraction, resumable downloads, and a native cold-start check that can recover from crashes without JS involvement. The core patching and decision logic is implemented in C++ and shared across all platforms, enforced by golden-vector test suites. The SDK supports staged rollouts, telemetry, error reporting, crash rescue, and multiple update strategies (silent, alert, etc.). It is not a standalone application but a library integrated into React Native apps, with extensive CI/CD, unit tests, and e2e tests.
BundleMaster is a Unity asset management system for handling AssetBundles with synchronous/asynchronous loading, reference counting, and hot-update capabilities. The architecture consists of core runtime components (BundleMasterRuntime/), platform-specific adapters (WebGL, Nintendo Switch), editor tools for configuration and building, and utility systems for threading and cryptography. Key entry points include AssetComponent.Load()/LoadAsync() for asset loading, AssetComponent.Initialize() for bundle setup, and AssetComponent.Update() for maintenance. The system manages asset lifecycles through reference counting and periodic unloading pools, supports encrypted/obfuscated asset bundles, and provides editor workflows for building asset bundles with version tracking.