In Unity engine (UnityPlayer.dll), GameObjectManager maintains doubly-linked lists of all game objects in the scene:
- Base pointer:
GOM = *(uint64_t*)(UnityPlayerBase + 0x17C12E0). - Structure:
0x08:lastTaggedObject0x10:taggedObjects(Active entities: Players, Heli, Bradleys)0x18:lastActiveObject0x20:activeObjects(Ores, Collectibles, Traps, Crates)
Iterating taggedObjects->nextObject reads all player entities in under 12 microseconds without calling game methods!