Engine Specific API
Unreal Engine Helpers
The following helpers are designed for Unreal Engine–based games (UE4 & UE5), including both float-precision and double-precision view structures.
bool unreal_read_tarray(proc_t &in proc, uint64 tarray_addr, array<uint64> &out result, uint max_count = 4096)
bool unreal_read_tarray(proc_t &in proc, uint64 tarray_addr, array<uint64> &out result, uint max_count = 4096)Reads an Unreal TArray from memory and fills a script array with the pointer values inside it.
Parameters
proc — target process handle
tarray_addr — memory address of the
TArrayresult — output array that will receive the entries
max_count — safety limit for max number of elements (default 4096)
Returns
true on success, false on invalid address, invalid process, or corrupted data.
On failure, result will be empty.
Example
array<uint64> actors;
if (unreal_read_tarray(proc, actors_addr, actors))
{
for (uint i = 0; i < actors.length(); i++)
log("Actor pointer: " + actors[i]);
}bool unreal_read_minimal_view_info(proc_t &in proc, uint64 pov_addr, vector3 &out location, vector3 &out rotation, double &out fov)
bool unreal_read_minimal_view_info(proc_t &in proc, uint64 pov_addr, vector3 &out location, vector3 &out rotation, double &out fov)Reads a float-precision Unreal camera view.
Parameters
proc — process handle
pov_addr — address of camera/view structure
location — output camera world position
rotation — output camera rotation (pitch, yaw, roll)
fov — output field-of-view
Returns
true on success, false on invalid input.
bool unreal_read_minimal_view_info_f64(proc_t &in proc, uint64 pov_addr, vector3 &out location, vector3 &out rotation, double &out fov)
bool unreal_read_minimal_view_info_f64(proc_t &in proc, uint64 pov_addr, vector3 &out location, vector3 &out rotation, double &out fov)Same as above but for double-precision UE5 view structures.
Use this if the game uses large-world coordinates or 64-bit FOV/rotation data.
bool unreal_world_to_screen(const vector3 &in world_pos, const vector3 &in cam_location, const vector3 &in cam_rotation, double fov_deg, vector2 &out screen_pos)
bool unreal_world_to_screen(const vector3 &in world_pos, const vector3 &in cam_location, const vector3 &in cam_rotation, double fov_deg, vector2 &out screen_pos)Projects a 3D world point into 2D screen coordinates using a UE-style camera.
Parameters
world_pos — world-space position
cam_location — camera location
cam_rotation — camera rotation (pitch, yaw, roll)
fov_deg — vertical field-of-view in degrees
screen_pos — output pixel coordinate
Returns
trueif the point is visible, andscreen_posis validfalseif the point is behind the camera
Example
vector2 screen;
if (unreal_world_to_screen(targetPos, viewLoc, viewRot, viewFov, screen))
{
draw_text("Target", screen.x, screen.y);
}Source 2 Helpers
bool source2_world_to_screen(const vector3 &in world_pos, const matrix4x4 &in view_matrix, vector2 &out screen_pos)
bool source2_world_to_screen(const vector3 &in world_pos, const matrix4x4 &in view_matrix, vector2 &out screen_pos)Projects a world position using a row-major 4×4 view-projection matrix.
Parameters
world_pos — world-space vector
view_matrix — 16-element row-major view-projection matrix
screen_pos — output pixel position
Returns
trueif visiblefalseif behind the camera
Example
vector2 s;
if (source2_world_to_screen(world, vpMatrix, s))
{
draw_circle(s.x, s.y, 4, color_red);
}Fortnite Helper
string fortnite_get_player_name(proc_t &in proc, uint64 addr)
string fortnite_get_player_name(proc_t &in proc, uint64 addr)Reads and decrypts a Fortnite player name from memory.
Returns
Player name on success
Empty string
""on failure
Example
string name = fortnite_get_player_name(proc, name_addr);
if (name.length() > 0)
log("Player: " + name);Rust Helper
vector3 rust_get_transform_position(proc_t &in proc, uint64 addr)
vector3 rust_get_transform_position(proc_t &in proc, uint64 addr)Resolves the world-space position of a Rust (Unity) transform hierarchy.
Returns
A
vector3world position on success(0,0,0)on invalid memory or failure
Example
vector3 pos = rust_get_transform_position(proc, transform_ptr);
if (pos.x != 0 || pos.y != 0 || pos.z != 0)
{
vector2 s;
if (unreal_world_to_screen(pos, camLoc, camRot, camFov, s))
draw_point(s.x, s.y, color_green);
}Last updated