- Status
- Offline
- Joined
- Mar 3, 2026
- Messages
- 381
- Reaction score
- 7
Anyone else digging into Phasmophobia internals lately?
I've been messing around with Cheat Engine and Mono trying to pull specific game data like the ghost's name and room IDs. If you've tried using standard offsets from il2cpp.h, you probably noticed they can be absolute garbage or just plain inaccurate when you're looking for the actual strings rather than the entity pointers.
What we know so far:
The issue is that even with the metadata dump, finding the live instance can be a pain. If you're using the Mono dissector in CE and seeing null or incorrect values, you might need to verify the instance pointer for the Journal. Phasmophobia likes to move things around, and static offsets rarely stay reliable across updates.
Current Progress Screenshots:
Technical Advice Needed:
If anyone has a cleaner way to grab these without manually searching the instance list every time the level loads, let me know. Dealing with the il2cpp overhead is tedious enough as it is.
How are you guys handling the instance lookups for the JournalController lately?
I've been messing around with Cheat Engine and Mono trying to pull specific game data like the ghost's name and room IDs. If you've tried using standard offsets from il2cpp.h, you probably noticed they can be absolute garbage or just plain inaccurate when you're looking for the actual strings rather than the entity pointers.
What we know so far:
- The GhostNameText string is typically located within the JournalController.
- Room data, including RoomsId and favorite room flags, is stored in the LevelRoom class.
The issue is that even with the metadata dump, finding the live instance can be a pain. If you're using the Mono dissector in CE and seeing null or incorrect values, you might need to verify the instance pointer for the Journal. Phasmophobia likes to move things around, and static offsets rarely stay reliable across updates.
Current Progress Screenshots:
You cant view this link please login.
You cant view this link please login.
Technical Advice Needed:
If anyone has a cleaner way to grab these without manually searching the instance list every time the level loads, let me know. Dealing with the il2cpp overhead is tedious enough as it is.
How are you guys handling the instance lookups for the JournalController lately?