Skip to content

UnityRuntimeExplorer v1.0.0-beta

Choose a tag to compare

@Jadis0x Jadis0x released this 07 Sep 13:04
· 10 commits to main since this release

v1.0.0-beta Release Notes

Full Changelog: v0.1.5...v1.0.0

New Features

  • Audio preview: Play/Stop button next to AudioClip references in the Object Inspector, played through a hidden, persistent AudioSource (unaffected by listener position).
  • Texture/Sprite preview: Preview/Hide button next to Texture2D and Sprite references, rendered inline via a GPU texture (DX11 only).
    • Automatic GPU-side fallback (Graphics.Blit + ReadPixels) for textures with isReadable = false — the common case for shipped, compressed game art.
    • Sprite support: crops to the sprite's sub-rect within its source texture.
  • Export to disk:
    -Textures/Sprites → PNG (custom dependency-free encoder).
  • AudioClips → WAV (32-bit float PCM). Automatically triggers and waits for AudioClip.LoadAudioData() when the clip's samples aren't resident in memory yet.
  • Files are written to a URK_Exports folder next to the mod DLL.

Fixes

Enum-valued fields (e.g. LightType.Spot) now display their real value instead of the declaring type's name. Root cause: Mono reports enum fields with a generic VALUETYPE code (unlike IL2CPP's dedicated ENUM code), so they were misclassified as plain value types.
Field/property watches now show the resolved method name of whatever wrote the value (e.g. Namespace.Class.Method+0x1A) instead of a raw hex address.
Fixed AudioSource.set_clip() in the SDK: it never actually worked due to a parameter-type inference bug, silently failing every call.

Known Limitations

  • Texture/Sprite preview and export require DX11; DX12 and OpenGL targets report a clear error instead.
  • Texture preview/export caps out at 2048×2048.
  • Audio export doesn't support clips with AudioClipLoadType.Streaming (a Unity API restriction — samples are never fully resident in memory for those).

Internal

  • Added mono_array_new binding (resolved directly from the target process's mono.dll, no loader/ABI version bump needed) so Mono-backend games can allocate the managed array AudioClip.GetData() requires — IL2CPP already supported this.

Download the DLL that matches the target game's backend (IL2CPP/Mono). MCP is optional. Please check out the installation guide here:
https://github.com/Jadis0x/UnityRuntimeExplorer#installing

Support

If you find the project useful and would like to support its development:
Buy Me a Coffee