Skip to content

Class Pivot

bbfox0703 edited this page Jul 10, 2026 · 1 revision

🌐 English · 繁體中文 · 日本語

Class Pivot

Experimental tab (off by default). Works over captured snapshots (or a live DataTable).

The Class Pivot tab is a spreadsheet-style pivot over a game's data. It groups one class's instances by a key (a key field's value like ItemID, or by object identity) and projects the value fields per group — so you can see, at a glance, every inventory item by ItemID with its Count, or every enemy by team with its stats.

Differing values inside one group render as a collision ⟨N: v1, v2, +M⟩. Since a snapshot capture is all-numeric, keys are int/enum IDs.


Not sure which class to pivot? Start with Discover

The 🔍 Suggest targets — find what changed panel is the automatic front door:

  1. Capture 2–4 snapshots around an in-game action you want to isolate (spend gold, take damage, …) — tick them in the picker (oldest → newest = Before … After).
  2. 🔍 Discover ranks the (class, property) targets that moved — scored by how much each looks like game state (named fields, specific changes, low noise).
  3. Pick a row and Use → (pivot this) to load it into the pivot below. No class/key guessing.

Discover result columns: Class · Property · Changed · Δ · Category · Shape · Sample (oldest → newest) · Score.

How it works & limits:

  • Capture 2–4 snapshots around the action (Before … After).
  • Use 3–4 to separate a one-time change from constant per-frame noise (rotation, timers, positions); with only 2, both just look "changed".
  • Only fields that moved appear — a value that never changed between your captures won't show.
  • Across a game restart, only objects that re-appear with a stable identity (GameInstance / PlayerState / Pawn / components / GAS) re-join reliably; randomly-spawned actors may not.
  • The scan runs server-side over the snapshot's numeric fields; on a large capture it can take several seconds (cancellable).

Pivot target — Source · Snapshot · Class

The ⚙ Pivot target section (collapsible) chooses what to pivot. Pick a Source:

Source What it pivots Key
Snapshot One class's instances in a captured snapshot. A key field value, or object identity (see Group by).
Snapshot Array A captured struct array (e.g. Cargo) by its inner-key value. Key = inner-key value — reorder- and session-immune.
DataTable A live game DataTable (use 🔄 Find DataTables to list them). Key = RowName — zero-config, no discovery needed.

For the Snapshot sources, pick the Snapshot and filter the Class list (type to filter, then pick). Then Run Pivot. To reach the underlying object, select a group and use Open in Live Walker / Copy Address (hands the group's representative instance to Cheat Engine), or 🌍 / to Locate it in GWorld / GameEngine.

Group by (key mode)

For the plain Snapshot source, Group by chooses how instances are keyed (the Snapshot Array and DataTable sources have no Group by — they always key by the inner-key value / RowName respectively):

  • Identity (object path) — groups spawn-normalised siblings (BP_Enemy_C_0 / _1 / …) together. Good for "all instances of this class".
  • Field — group by a Key field value. This is the right choice for transient objects whose object path is identical (e.g. //Engine/Transient/Item) — Identity mode would merge them all into one group, but a Field key like ItemID keeps them separate.

Field picker

Tick which columns matter:

  • Value — project this field's value per group (the pivot's output columns).
  • Key — add this field to the group key. Ticking more than one builds a composite key — e.g. (Team · Slot) groups by the combination (Field mode only).

The picker also shows each field's Type · Distinct · Instances · Key score — the Key score hints which field makes a good key (high-cardinality, ID-shaped fields score best).

Results

One row per group, with columns Count · Key · Projected values, and a filter results… box. A group whose members disagree on a projected value shows the collision form ⟨N: v1, v2, +M⟩, which is itself a signal (a field that's constant within a group but varies across groups is likely that group's identity/stat).

Hidden classes (Pivot only)

You can Hide selected class from picker to keep the class list focused; hidden classes appear as removable chips under Hidden classes (Pivot only). This denylist is scoped to the Pivot tab.


Related Pages

  • Snapshot — capture the snapshots Class Pivot (and Discover) work over.
  • SPC Query — the direction-chain view of the same snapshots (per-field, across N snapshots).
  • Detect Stats — a quicker, less precise "which field is HP/MP/Gold" guesser.
  • Live Walker — where Open in Live Walker / 🌍 / land.

Clone this wiki locally