
AzuAutoStorePerformance
~4x Faster Storage Scanning, ~75% Less Processing Time in heavy-rule tests. Same storage rules, priorities, ranges, timers and item-transfer behavior. Requires AzuAutoStore.AzuAutoStore Performance
~4x Faster Storage Scanning, ~75% Less Processing Time
Measured in paired tests with large item-group exclusion rules; see the scan timings below.
Same storage behavior, faster item-group checks. Your storage rules, priorities, ranges, scan timers, favorites, access checks and item transfers keep their existing behavior. The addon removes repeated group-copying work during storage checks.
Requires the original AzuAutoStore by Azumatt. This is an optional performance addon with its own DLL.
What improves
AzuAutoStore can copy an entire item group into a temporary list for each membership check. This addon checks the existing group directly, avoiding that copy and the usual linear search.
Exclusions, includeOverride priority, exact item-name comparisons and live configuration changes retain their original behavior. The addon leaves transfer handling, chest access, ownership, favorites, range and scan intervals in AzuAutoStore's control.
Large groups checked against many items benefit most. Explicit overrides that already skip group checks have little work for this addon to remove.
Measured performance
Paired tests on Valheim 1.0.16, using AzuAutoStore 3.1.4's actual ground-scan method on a graphical client connected to an isolated local server:
| Test scene | Original scan | With addon |
|---|---|---|
| 8 chests, 20 drops | 4.99 ms | 1.27 ms |
| 40 chests, 100 drops | 133.10 ms | 32.08 ms |
| 100 chests, 200 drops | 679.75 ms | 167.91 ms |
These are median times from seven alternating measurements per mode. Each chest used a 1,501-item exclusion group, and all test drops were in range and excluded. Fixture creation, rendering and Harmony patch setup were outside the timed section.
This is a deliberately heavy rule scenario. It demonstrates reduced scan cost, not a promise of the same improvement in every world or a percentage increase in game FPS. The largest scene can still hitch with the addon. Remote network latency was not measured.
After a private GitHub Copilot review, expanded validation passed on each supported version:
- 217 direct storage-rule comparisons matched the original decisions and exception behavior.
- 35 direct group-lookup comparisons matched, including null values and custom comparers.
- 4 live-configuration checks passed.
- Real transfers blocked by a group, allowed after a group check, and allowed by an override matched the original decisions, item counts, quality and custom data.
Copilot identified no confirmed production-code bug. The review led to stronger tests and clearer documentation; the shipping DLL is the same tested build. These checks cover the supported builds and tested scenarios, with no claim of exhaustive coverage of every mod combination.
Both supported versions passed connected client/server checks with no new errors. The same three scan tests on 3.1.6 measured 4.82 to 1.34 ms, 132.42 to 33.77 ms, and 672.80 to 172.36 ms respectively.
Requirements and installation
- BepInExPack Valheim 5.4.2351.
- Official AzuAutoStore 3.1.4 from Thunderstore, or 3.1.6 from Hexium.
The package declares AzuAutoStore 3.1.4 as its minimum dependency. The reviewed 3.1.6 build is also supported; the addon's build check still applies to other versions.
Install the original mod first, then import this ZIP as a local mod in your mod manager. For manual installation, copy its BepInEx folder into the game/profile folder containing BepInEx.
Install the addon on the clients that should benefit. Ground scans require a local player, so adding it only to a dedicated server will not improve client scan time. Keep the original AzuAutoStore version consistent with your server's requirements.
No new configuration is needed. Removing this addon's DLL restores the original lookup behavior. Existing AzuAutoStore configuration files remain in use.
Only the reviewed official DLL builds are enabled. An unrecognized build produces an “addon inactive” warning and uses AzuAutoStore's original behavior.
Related upstream fixes
The author's newer release includes full-chest log-spam and delayed multiplayer-transfer fixes introduced in 3.1.5. See the upstream releases. This addon addresses group lookup performance and does not backport those separate fixes into 3.1.4.
Credits
AzuAutoStore is by Azumatt. Performance addon by L4zerShark. The package contains the addon only; install AzuAutoStore separately.