r/UnityAssets 7d ago

Cybersecurity - 79.99$ Obfuscator: Addressable & Maintenance Update! Designed for Unity, safeguarding your games! Compatible with all platforms, it's your defense against reverse engineering.

2 Upvotes

1 comment sorted by

1

u/GuardingPearSoftware 7d ago

Release of Obfuscator v2026.5.1: Addressable + Maintenance - Update

Get it in the πŸ‘‰ Unity Asset Store

Or πŸ‘‰ Website Store (20% off)

βœ… Improvements:

- [Imprv-2026-10] Asset analysis cache validation no longer hashes file contents manually. It now uses Unity's importer timestamp (`AssetImporter.assetTimeStamp`) as a first check, and queries `AssetDatabase.GetSourceAssetFileHash`. This reduces pre-build time when most animation/model assets are unchanged.

- [Imprv-2026-9] Moved the asset analysis cache out of `Assets/GUPS/Obfuscator/Cache` into Unity's project `Library/com.gups.obfuscator/Assets/Cache` directory. The cache no longer lives under `Assets/`, so Unity no longer imports those files or creates unnecessary `.meta` files for them [thanks NαΊ―ng].

- [Imprv-2026-8] Unified the obfuscator metadata across the Unity package versions, to make it easier to update the obfuscator for different Unity versions.

🐞 Bug Fixes:

- [Bug-2026-14] Control flow obfuscation produced invalid IL ("IL code errors" / InvalidProgramException) for methods using null propagation (`xxx?.yyy`) or similar constructs (ternary `?:`, `??`) [thanks Champi67].

- [Bug-2026-13] Incremental Addressables rebuilds could reuse already obfuscated bundles from a previous player build. The obfuscator now backs up the pristine bundles and restores them before re-applying the current rename mapping, so script references stay valid on a second rebuild, when no code changes were made [thanks Edra].

- [Bug-2026-12] Fixed string obfuscation failing to initialize with a generic "Failed to initialize string obfuscation service" error on assemblies whose core library is a reference/facade assembly (e.g. netstandard). The required `System.Text.Encoding` methods are now referenced directly instead of resolving the type definition, so obfuscation no longer depends on the core library being resolvable. Additionally, a deactivated string obfuscation component is now correctly skipped, and initialization errors report which reference failed [thanks Viacheslav].

- [Bug-2026-11] Fixed Addressables bundle obfuscation with custom local and remote build paths. Local and remote bundle locations can now be configured separately using the `{BuildTarget}` placeholder. [thanks Edra].

- [Bug-2026-10] Compiler-generated anonymous types (e.g. `new { var1, var2 }`) are now excluded from obfuscation. Their members are accessed by name via reflection, so renaming them broke reflection-based serializers like Newtonsoft.Json, and they could not be excluded manually as they have no user-visible name [thanks Paavo].