list_objects_of_class
Enumerate live in-memory Unreal objects of any UObject-derived class, optionally scoping to one world to separate server, client, editor, or PIE results.
Instructions
Enumerate live instances of a class currently in memory, complementing get_actors_by_class (actors only) with any UObject-derived type. Accepts world to SCOPE the sweep to one world — 'server' vs 'client' is what separates an authoritative census from a replicated one, and without it a PIE session returns the instances of EVERY world mixed together (host and client both), which reads as duplicates. The response stamps the world that answered, so count:0 means "not in THIS world" instead of "does not exist".
Returns: { class_name: string, objects: [{object_path, name, class, outer}], count: int, world: string ('any' when no selector was given), world_name: string|null, world_package: string|null, world_type: string|null, net_mode: string|null, pie_instance: number }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| world | No | Optional world selector that SCOPES the sweep: absent (default: every loaded instance, across all worlds) | 'editor' | 'pie' (ambiguous: PlayWorld, else the first PIE context) | 'server' (the PIE world with authority) | 'client' | 'pie:N' | 'game' (alias of 'pie'). Only objects whose GetWorld() IS that world are returned; an UNRECOGNIZED value is an error naming the worlds that exist, never a silent fallback to another world. | |
| class_name | Yes | Name/path of the class to enumerate instances of (resolved via ResolveClass) | |
| world_only | No | Only include objects that resolve a UWorld via GetWorld() (default true). Ignored when `world` is given, which is already a stricter filter. | |
| include_default | No | Include each class's Class Default Object (default false). A CDO has no world, so passing `world` excludes CDOs regardless of this flag. |