github tomvita/Breeze-Beta beta116.01

pre-release3 hours ago

UE support improvements

  • Unreal Engine 4.16–4.22 is now supported (previously 4.23+) — older titles used to scan "successfully" but show blank names; names, class fields, and function maps now work, and scans are much faster (profile scan 71s → 11s on the test title)
  • Player/pawn detection now uses class ancestry instead of name guessing, so it finds the character even on game-specific fields — and re-probes when you enter a match if the profile was made outside one

New feature: Instance View

Some values have no name anywhere in the game — a character's HP can sit between two named pointers with nothing labelling it. The Instance View identifies such a value not by a name, but by how it behaves across every live copy of the object.

  1. Open it: in the UObject view, put the cursor on the offset you're investigating and press ZL+X.
  2. What you see: that same offset read out of every live instance of the class — sibling classes included and tagged — with the object you started from marked.
  3. Read the pattern:
    • Differs between instances → live state (e.g. current HP)
    • Constant within one class but different across siblings → a per-type parameter from the game's data tables (e.g. each fighter's max HP)
    • Never varies → a shared constant, not worth cheating
  4. Real example: across ten live fighters, only one slot in the block differed — and only for the two under player control (their HP). The next two slots read 300 for all ten (max HP, stored twice), and two more were constant per character but different for each fighter.
  5. Dig in: selecting a row opens that instance's UObject view at the same offset, and the menus stack — B walks you back the way you came.

Good to know:

  • The instance list comes from the engine's own object list, so it needs no scan, no watch, and is never stale; a gen2 watch and your visited objects are merged in as extra sources
  • The status line names the sources it used, so a thin-looking comparison explains itself
  • Class default objects are excluded — they never change and would make every slot look constant
  • Sibling reads stop at the shared base class's size, where an offset stops meaning the same thing
  • The comparison is written to ue_instance_compare.txt

Don't miss a new Breeze-Beta release

NewReleases is sending notifications on new releases.