Skip to content

3.5.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 21:49
· 160 commits to main since this release
81b9064

Added

  • Asset change detection loop reset utility: Added AssetChangeDetectionUtility.ResetLoopProtection() so editor tooling can resume [DetectAssetChanged] dispatch after a recursive callback has tripped loop protection, without requiring a domain reload.
  • Feel-good randomness helpers: Added ExactAveragePrd, BadLuckProtection, and WeightedShuffleBag<T> for player-facing randomness that reduces streak frustration while keeping deterministic, testable behavior. ExactAveragePrd solves the pseudo-random distribution coefficient for a configured long-run average, BadLuckProtection implements pity-timer chance ramps and optional hard guarantees, and WeightedShuffleBag<T> emits exact weighted ticket counts before repeating. The helpers expose explicit restore APIs so save/load systems can persist pity/deck state.

Fixed

  • Optional Odin Inspector integration without unguarded Odin assemblies: RuntimeSingleton<T>, ScriptableObjectSingleton<T>, and AttributeEffect now use Odin serialized base classes only when the odininspector package is installed and the package-owned WALLSTOP_UNITY_HELPERS_ODIN_INSPECTOR define is active; otherwise they fall back to Unity base classes. Projects that still define the global ODIN_INSPECTOR symbol without shipping Sirenix assemblies no longer fail package compilation, while Odin projects keep the serialized base behavior automatically.

Install

  • Import the attached .unitypackage into a Unity project, or
  • install com.wallstop-studios.unity-helpers@3.5.0 from npm / OpenUPM through Unity Package Manager.

The release includes the npm tarball and the .unitypackage, each with a .sha256 checksum.