$ show mister91jiao/BundleMaster
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.
The LLM identified 3 files worth highlighting for reuse:
A complete multi-threaded downloading system with progress tracking, cancellation, retry logic, and thread pooling. Only minimal Unity coupling (logging via Debug.LogError) that could be easily abstracted with an interface. Demonstrates non-obvious skill in managing concurrent downloads, thread lifecycle, and error recovery while maintaining thread safety.
A sophisticated coroutine locking mechanism implementing queue-based waiting, disposal handling, and recursion counting. Self-contained within the folder with clear separation of concerns (lock, queue, component). Extractable to projects using the ET framework (which is a core dependency of this codebase) with minimal modification. Shows advanced understanding of coroutine synchronization patterns and resource management in asynchronous environments.
Cryptographic utilities providing CRC32 calculation and XOR-based decryption with key cycling. The core algorithms (GetCRC32(byte[]), GetDecryptData(byte[], char[])) are completely Unity-agnostic and demonstrate correct implementation of standard cryptographic techniques. While the data fetching methods use UnityWebRequest, the verification/decryption logic itself is reusable in any .NET project needing file integrity checks or simple encryption/decryption.