Developer knowledge network ยท moderated exchange

UnreliableCode Community

Developer Research, Reverse Engineering & Coding Community

Knowledge indexLive
4Categories
919Threads
2.8KPosts
Tutorial

Reconstructing Unreal Engine 5 FNamePool & TUObjectArray structures in IDA [v2.4 Technical Discussion]

ue5_explorer
UE Specialist
MEMBER
Rep: 107
Join Date: Mar 2020
Posts: 6
Thanks: 69
1 months ago ยท Jul 6, 2026 5:33 PM
#1

In Unreal Engine 5, FNamePool uses a chunked block allocator where name entries are stored in 64KB memory blocks.

To dump all engine strings in IDA Pro:

  1. Pattern scan for FNamePool base pointer.
  2. Iterate through 16-bit block indices and chunk byte offsets.
  3. Each FNameEntry contains a UTF-8/UTF-16 string and string length header.

Writing a simple IDA Python script extracts over 120,000 game classes, components, and RPC function names in 3 seconds!

ghidra_pcode_pro
RE Specialist
MEMBER
Rep: 63
Join Date: Nov 2021
Posts: 11
Thanks: 57
1 months ago ยท Jul 6, 2026 11:01 PM
#2

UE5's FNamePool is so much more compact than the old UE4 GNames pointer table. Great explanation of chunk indexing.

vtable_slayer
Senior Reverser
MEMBER
Rep: 215
Join Date: Mar 2018
Posts: 86
Thanks: 61
1 months ago ยท Jul 7, 2026 10:43 AM
#3

Clean script. Dumps all character class names effortlessly.