Skip to content

Related

bbfox0703 edited this page Jun 25, 2026 · 2 revisions

🌐 English · 繁體中文 · 日本語

Related

The Related tab shows the objects directly connected to a seed object via fixed forward-owned relationships: its Class, Outer, Controller↔Pawn link, and owned components / GAS AbilitySystemComponent / AttributeSet. This is a helper feature, not an exhaustive reference graph — it walks only the relationships the panel explicitly collects and does NOT find every reverse reference.

When to use it

  • You have an actor/object's address (from [Instances], [Value-Search], [Live-Walker], or CE), and want to quickly jump to related objects like its components, GAS AttributeSet, or Controller/Pawn counterpart.
  • You want to auto-detect the currently-targeted enemy or NPC and inspect its related objects without knowing its class name.
  • When NOT to use it: For exhaustive "who references this object" lookups, use Find Refs in [Live-Walker]; for value-based discovery, use [Value-Search] or [Instances]; for full graph traversal, use [Live-Walker] manual navigation.

Workflow

1. Provide a seed object

Enter a UObject address (hex, e.g. 0x7FF6AA000000) in the Address field, or click a 🔗 Related button from [Instances], [Value-Search], or [Live-Walker] to hand off the address automatically.

Address Hint: "UObject / actor address (hex) — or hand off from another tab"

2. Load the related objects

Click Load (or press Enter in the address field) to scan the seed object's relationships.

The panel displays:

  • Current class name (teal text, sourced from the "Self" row once loaded)
  • A progress bar while scanning
  • Status text (e.g. "5 related object(s).")

3. (Optional) Auto-detect the current target

Click 🎯 Detect target to have the DLL guess which actor the player is currently targeting. The heuristic:

  • Follows the player chain (GWorld → LocalPlayer → PlayerController → Pawn)
  • Scores candidates by positive keywords ("Enemy", "Target", "Creature"), is-Actor/is-Pawn structural gates, and negative keywords ("ViewTarget", "Owner", "Camera")
  • Returns the top candidate if its score clearly wins (≥20 points above the runner-up) with resolved: true
  • Shows weaker candidates as "greyed guesses" the user can click on if the auto-pick is wrong

The candidates appear in a listbox below the Load button (best-first). Clicking a candidate loads it into the grid below.

Tooltip: "Auto-detect the actor the player is currently targeting (GWorld → PlayerController → Pawn → target field) and load its related objects — no class-name guessing"

Related objects grid

The table shows one row per related object:

Column Description
Relation Type of relationship: Self, Class, Outer, Controller, Pawn, AbilitySystem (ASC), AttributeSet, Owned Component, Owned Object
Object Display label (Name : ClassName, or whichever is non-empty)
Field Field/path on the parent object that points here (empty for Self/Class/Outer; shows offset hint when known, e.g. AbilitySystem @ 0x2A8)
Address Hex address of this object
Action buttons (far right) Five quick-access buttons per row (see Row Actions below)

Relationship types

  • Self — The seed object itself (the starting point)
  • Class — The object's UClass definition
  • Outer — The object's Outer (container/owner in the UE hierarchy)
  • Controller — For Pawns: the controlling PlayerController / AIController
  • Pawn — For Controllers: the controlled Pawn
  • AbilitySystem (ASC) — Owned AbilitySystemComponent (GAS games only); reached at depth 1
  • AttributeSet — Attributes attached to the ASC; reached at depth 2–3 (in case the ASC is nested behind a stats component)
  • Owned Component — Any UActorComponent directly owned by the seed (depth 1)
  • Owned Object — Other owned sub-objects discovered by the bounded walk (depth 1–3)

The panel walks up to depth 3 using an Outer-chain ownership test — only sub-objects whose Outer chain traces back to the seed are included.

Row actions

Each row has five buttons (left to right):

Button Tooltip / Action
🌍 (Locate in GWorld) Find the shortest pointer path from GWorld down to this object and show it in [Live-Walker]. Useful for world actors (pawns, enemies, items).
(Locate in GameEngine) Find the shortest pointer path from the live UGameEngine down to this object. Reaches engine-layer objects (GameInstance, LocalPlayer, engine subsystems) that the GWorld graph cannot. For non-world objects, use this instead of Locate in GWorld.
Live (Open in Live Walker) Jump directly to this object in the [Live-Walker] tab for field-by-field inspection and drill-down.
finder (Find Instances) Open the [Instances] tab and search for all live instances of this object's class.
Addr (Copy Address) Copy this object's address to the clipboard and show a status message.

Columns and sorting

Click any column header (Relation, Object, Address) to sort by that column; click again to reverse order. The Field column cannot be sorted (it is variable-length metadata).

Handoffs and workflow integration

From other tabs → Related

  • [Instances]: Select a row, click the 🔗 Related button → the object's address hands off to the Related tab, which loads automatically.
  • [Value-Search]: On a hit row, click the 🔗 Related button → the owning object (not the value's field) is loaded.
  • [Live-Walker]: Select a pointer or object row, click the 🔗 Related button → the target object is loaded.

Related → other tabs (via row buttons)

  • Locate in GWorld / GameEngine: Results appear in [Live-Walker] as a breadcrumb path (most recent when clicked).
  • Open in Live Walker: Switches to the [Live-Walker] tab and shows the object.
  • Find Instances: Switches to the [Instances] tab with the class name pre-filled and runs the search.
  • Copy Address: The address is copied to the clipboard; status text confirms the action.

What it does NOT find

This panel is intentionally limited to forward-owned relationships:

  • No reverse references: It does NOT find all objects that point AT the seed. Use Find Refs in [Live-Walker] for that.
  • No weak/soft pointers: Weak pointers, Soft object pointers, and lazy pointers are not traversed (only strong owned links).
  • No arbitrary graph traversal: It does NOT walk into unowned fields (e.g. the pawn's Target field pointing to a different actor). Use [Live-Walker] manual drill-down instead.
  • Depends on a seed: The panel requires an object address to start; it cannot enumerate all objects in the game. Use [Instances] or [Value-Search] to discover seeds first.
  • Heuristic target detection: The 🎯 Detect target feature uses keyword scoring and structural heuristics. It can pick the wrong actor (e.g. an NPC that shares keywords with the true target) — if it fails, fall back to [Instances] (search a class name) or [Live-Walker] manual navigation.

Example: GAS actor with AttributeSets

Given an enemy actor BP_Enemy_C_0 at address 0x7FF6AA000000:

  1. Enter the address and click Load

  2. You see rows:

    • Self: BP_Enemy_C_0 @ 0x7FF6AA000000
    • Class: BP_Enemy_C @ 0x7FF6BB000000
    • Outer: PersistentLevel (or the level)
    • Owned Component: Health component @ 0x7FF6CC000000
    • AbilitySystem (ASC): AbilitySystem @ 0x7FF6DD000000 (field @ offset 0x2A8)
    • AttributeSet: HealthAttributeSet @ 0x7FF6EE000000 (owned by the ASC)
  3. Click the Live button on the AttributeSet row → [Live-Walker] opens, showing its fields (MaxHealth, CurrentHealth, etc.)

  4. Click the button on the AbilitySystem row → [Live-Walker] finds the path from GameEngine to the ASC

Limitations and edge cases

  • Offline / non-live objects: If the address is not a live (allocated) UObject, the status shows "No related objects found (is the address a live UObject?)."
  • Corrupt Outer chain: If an object's Outer pointer is invalid or points to freed memory, the walk may stop early.
  • GAS not used: On non-GAS games, AbilitySystem / AttributeSet rows do not appear (the walk skips them).
  • Deep nesting (depth 3 cap): If a game nests components more than 3 levels deep, those are not reached.

See also

  • Live-Walker — Field-by-field inspection, pointer drill-down, path search, and Find Refs
  • Instances — Class-based object discovery with filter and lookup
  • Value-Search — Value-driven search with group mode and deep container scanning
  • Object-Tree — Full class/object hierarchy browse

Clone this wiki locally