25231061

9:41PM (EST) · updated 2026-09-17 21:51 UTC

How LocalPlayer works

Local is not "first entity in the BN list". It is a static HiddenValue on LocalPlayer_Static.

GameAssembly + 0x10C519C8          LocalPlayer_Static Il2CppClass*
        + 0xB8                     static_fields
        + 0x18                     HiddenValue<BasePlayer>  (was +0x40)
            + 0x18                 ciphertext qword
            local_player_half      (both dwords)
            il2cpp_gchandle_get_target
            -> BasePlayer*

GetLocalPlayer :

  1. klass = read(GA + 0x10C519C8)
  2. sf = read(klass + 0xB8) — if that is 0, sf = read(*klass + 0xB8) (typeinfo vs klass)
  3. slot = read(sf + 0x18)
  4. If slot looks like EncryptedValue or a managed object: enc = read(slot + 0x18), run local_player(enc), accept if managed.
  5. Else if slot is already a managed BasePlayer*, use it.
  6. Reject if lifestate > 2 or health not in [0, 200] — a wrong HV decrypt used to stomp a real pawn with garbage (lifestate byte 80).

The 25231061 dump does not ship a LocalPlayer crypt. local_player_half is still the 25214240 chain (rol 11, xor 0x30B6FF08, add 0x0CC937BB, xor 0xFD26C1F4). When that misses, the plain is_managed(slot) path is what lands.

After death/respawn the static slot updates. Overlay refreshes LP every other discovery tick. If static is empty, keep the last LP only while it is still in the BN entity list; otherwise clear it (corpse address used to stick forever). Camera sits ~1.6 m above your feet — a 3 m 3D skip will eat you, not a player you walked up to. Self-filter is XZ under the camera (dx²+dz² < 0.22).

Inventory / eyes / active item hang off that BasePlayer*:

field offset crypt result
playerInventory +0x3A0 HV +0x18 → rol 28, xor 0x65B9B225, add 0x2F961B1E → handle PlayerInventory*
eyes +0x718 HV +0x18 → add 0xC4421DB7, rol 15, xor 0x8F17AD9A, rol 6 → handle PlayerEyes*
clActiveItem +0x588 in-place sub 0x3D5E8E09, xor 0x2294A40F, rol 19, add 0x62310A3F UID, not Item*
playerInput +0x6F0 none PlayerInput* (bodyAngles +0x44)
playerModel +0x2F0 none PlayerModel* (alt probe +0x5B8)
displayName +0x520 none il2cpp string (len +0x10, chars +0x14)

Belt: inventory + 0x28 → ItemContainer.itemList +0x38 → List +0x10/+0x18. Match belt Item.uid +0x88 to decrypted clActiveItem UID. Item.heldEntity is +0x10 this build (was 0x90). Do not treat HeldEntity+0x250 as item owner — that slot is viewModel.

Build info

  • game: Rust
  • version: 25231061
  • il2cpphandle (handle TABLE seed): 0x11DB2E30
  • gchandle_get_target: 0x874930
  • base_networkable: 0x10BE8EC8
  • main_camera_c: 0x10C62B28
  • local_player_static: 0x10C519C8
  • entities: 0x10
  • list_vals: 0x20
  • camera_object: 0x8
  • view_matrix: 0x2FC
  • inventory: belt 0x28 / main 0x60 / wear 0x78

Base globals

inline static constexpr uintptr_t il2cpphandle               = 0x11DB2E30; // handle TABLE seed (stale)
inline static constexpr uintptr_t il2cpp_gchandle_get_target =   0x874930; // export — paste this
inline static constexpr uintptr_t StringPool                 = 0x10CCA488;

struct rust_globals {
    inline static constexpr uintptr_t il2cpphandle                 = 0x11DB2E30;
    inline static constexpr uintptr_t gchandle_get_target          =   0x874930;
    inline static constexpr uintptr_t base_networkable_static      = 0x10BE8EC8;
    inline static constexpr uintptr_t main_camera_c                = 0x10C62B28;
    inline static constexpr uintptr_t local_player_static          = 0x10C519C8;
    inline static constexpr uintptr_t convar_graphics              = 0x10C48670;
    inline static constexpr uintptr_t game_manager_static          = 0x10C38738;
    inline static constexpr uintptr_t string_pool                  = 0x10CCA488;
};

GameAssembly

namespace GameAssembly {
    inline static constexpr uintptr_t il2cpp_gchandle_get_target = 0x874930;
}

Other il2cpp export RVAs are not in this named dump. Resolve from GameAssembly.dll exports. Do not paste 25184202 / 25214240 API RVAs on top of this build.

il2cpp exports

struct il2cpp_api {
    inline static constexpr uintptr_t gchandle_get_target = 0x874930; // Unity 6 8 KB page
}

gc handles

struct gc_handles {
    inline static constexpr uintptr_t table      = 0x11DB2E30; // seed — scan export RIP if empty
    inline static constexpr uintptr_t table_prev = 0x11E93210; // 25184202
    inline static constexpr uintptr_t table_rx   = 0x11E78950;
    inline static constexpr uintptr_t get_target =   0x874930;
}

Handle = (slot << 3) | type, type 1..4. rust-free table: table + (type-1)*0x28, entries at +0x8, size +0x10. Types 0/1 invert the entry (~obj). 8 KB page: page = handle & ~0x1FFF, type at page+0x20, size at page+0x1C, entry at the handle address. Try entry and ~entry.

klass rvas

Only klasses named in the 25231061 dump. Missing TypeInfo RVAs are omitted on purpose.

struct klass_rvas {
    inline static constexpr uintptr_t BaseNetworkable_TypeInfo     = 0x10BE8EC8;
    inline static constexpr uintptr_t MainCamera                   = 0x10C62B28;
    inline static constexpr uintptr_t LocalPlayer_Static           = 0x10C519C8;
    inline static constexpr uintptr_t ConVar_Graphics_Static       = 0x10C48670;
    inline static constexpr uintptr_t GameManager_Static           = 0x10C38738;
    inline static constexpr uintptr_t StringPool                   = 0x10CCA488;
    inline static constexpr uintptr_t TOD_Sky                      = 0x10C593A8;
    inline static constexpr uintptr_t ProgressBar                  = 0x10BE53E8;
    inline static constexpr uintptr_t ItemIcon                     = 0x10CBCDA0;
    inline static constexpr uintptr_t ListComponent_Projectile     = 0x10C6C9A0;
    inline static constexpr uintptr_t ConVar_Admin                 = 0x10CE83B8;
    inline static constexpr uintptr_t MapView_Static               = 0x10CC1950;
    inline static constexpr uintptr_t RustWorld                    = 0x10C314A8;
    inline static constexpr uintptr_t BaseNetworkable_TypeInfo_prev = 0x118D4020; // 25214240
    inline static constexpr uintptr_t MainCamera_prev               = 0x118B4098; // 25214240
}

PhysX

namespace PhysX {
    inline static constexpr uintptr_t type_info     = 0x11991720; // STALE 25214240 — class not named this dump
    inline static constexpr uintptr_t static_fields =       0xB8;
    inline static constexpr uintptr_t sdk           = 0x217F8E8; // UnityPlayer RVA
}

ListComponent_Projectile

namespace ListComponent_Projectile {
    inline static constexpr uintptr_t type_info       = 0x10C6C9A0;
    inline static constexpr uintptr_t static_fields   =       0xB8;
    inline static constexpr uintptr_t InstanceList    =       0x18; // was 0x8
    inline static constexpr uintptr_t ListItems       =       0x10;
    inline static constexpr uintptr_t ListCount       =       0x18;
}

game manager

namespace game_manager {
    inline static constexpr uintptr_t game_manager  = 0x10C38738;
    inline static constexpr uintptr_t static_fields =       0xB8;
}

klass layout

namespace klass_layout {
    inline static constexpr uintptr_t name_ptr      = 0x10;
    inline static constexpr uintptr_t parent        = 0x58;
    inline static constexpr uintptr_t static_fields = 0xB8;
}

base networkable

namespace base_networkable {
    inline static constexpr uintptr_t base_networkable     = 0x10BE8EC8;
    inline static constexpr uintptr_t static_fields        =       0xB8;
    inline static constexpr uintptr_t wrapper_class_ptr    =       0x20; // EncryptedValue (was 0x8)
    inline static constexpr uintptr_t client_entities      =       0x20;
    inline static constexpr uintptr_t entity_list          =       0x18; // EntityRealm.entity_list (was 0x10)
    inline static constexpr uintptr_t parent_static_fields =       0x10; // do not walk — parentEntity is 0x38
    inline static constexpr uintptr_t hv_offset            =       0x18; // HiddenValue._handle
    inline static constexpr uintptr_t decrypt_gate         =       0x10; // not a 0/1 byte
    inline static constexpr uintptr_t entities             =       0x10; // BufferList.buffer
    inline static constexpr uintptr_t buffer_list_array    =       0x10;
    inline static constexpr uintptr_t buffer_list_size     =       0x18;
    inline static constexpr uintptr_t list_vals            =       0x20; // ListDictionary.vals
    inline static constexpr uintptr_t prefabID             =       0x54;
    inline static constexpr uintptr_t net                  =       0x48;
    inline static constexpr uintptr_t parentEntity         =       0x38; // EntityRef — not the list
    inline static constexpr uintptr_t children             =       0x88;
}

BN walk:

GA + 0x10BE8EC8
  -> +0xB8 static_fields
  -> +0x20 EncryptedValue wrapper
  -> cipher +0x18  BN1  -> il2cpp_gchandle_get_target
  -> EntityRealm +0x18
  -> cipher        BN2  -> il2cpp_gchandle_get_target
  -> ListDictionary.vals +0x20
  -> BufferList +0x10 / +0x18
  -> T[] +0x20 (try +0x28 if slot0 is a net id)

camera

namespace camera {
    inline static constexpr uintptr_t main_camera          = 0x10C62B28;
    inline static constexpr uintptr_t main_camera_c        = 0x10C62B28;
    inline static constexpr uintptr_t camera_static        =       0xB8;
    inline static constexpr uintptr_t static_fields        =       0xB8;
    inline static constexpr uintptr_t camera_object        =        0x8;
    inline static constexpr uintptr_t instance             =        0x8;
    inline static constexpr uintptr_t main_camera_field_alt =      0x28;
    inline static constexpr uintptr_t entity               =       0x10;
    inline static constexpr uintptr_t position             =      0x444;
    inline static constexpr uintptr_t viewMatrix           =      0x2FC;
    inline static constexpr uintptr_t view_matrix          =      0x2FC;
    inline static constexpr uintptr_t viewProjectionMatrix =      0x2FC;
    inline static constexpr uintptr_t fieldOfView          =      0x170;
    inline static constexpr uintptr_t field_of_view        =      0x170;
    inline static constexpr uintptr_t worldToCameraMatrix  =       0x70;
    inline static constexpr uintptr_t cullingMask          =      0x104;
    inline static constexpr uintptr_t aspect               =      0x130;
}
GA + 0x10C62B28 -> +0xB8 -> +0x8 camera_object -> +0x10 native
native + 0x2FC view matrix, +0x444 position, +0x170 fov

0x30C on this native is not VP (clip w ~ -20k). Use 0x2FC.

BasePlayer

namespace BasePlayer {
    inline static constexpr uintptr_t player_model               = 0x2F0;
    inline static constexpr uintptr_t player_model_alt           = 0x5B8;
    inline static constexpr uintptr_t currentGesture             = 0x310;
    inline static constexpr uintptr_t movement                   = 0x348;
    inline static constexpr uintptr_t base_movement              = 0x348;
    inline static constexpr uintptr_t visiblePlayerList          = 0x368;
    inline static constexpr uintptr_t frozen                     = 0x398;
    inline static constexpr uintptr_t PlayerInventory            = 0x3A0;
    inline static constexpr uintptr_t player_inventory           = 0x3A0;
    inline static constexpr uintptr_t Belt                       = 0x3C0;
    inline static constexpr uintptr_t player_rigidbody           = 0x4C8;
    inline static constexpr uintptr_t modelState                 = 0x4B0;
    inline static constexpr uintptr_t model_state                = 0x4B0;
    inline static constexpr uintptr_t _lookingAt                 = 0x4F8;
    inline static constexpr uintptr_t lookingAt                  = 0x4F8;
    inline static constexpr uintptr_t display_name               = 0x520;
    inline static constexpr uintptr_t current_team               = 0x558;
    inline static constexpr uintptr_t clActiveItem               = 0x588; // EncryptedValue ItemId
    inline static constexpr uintptr_t cl_active_item             = 0x588;
    inline static constexpr uintptr_t lookingAtEntity            = 0x5A8;
    inline static constexpr uintptr_t mounted                    = 0x5E0; // EntityRef
    inline static constexpr uintptr_t heldEntity                 = 0x630; // hint — field not named this dump
    inline static constexpr uintptr_t lastSentTickTime           = 0x698;
    inline static constexpr uintptr_t playerFlags                = 0x6D8;
    inline static constexpr uintptr_t player_flags               = 0x6D8;
    inline static constexpr uintptr_t player_input               = 0x6F0;
    inline static constexpr uintptr_t lastSentTick               = 0x6F8;
    inline static constexpr uintptr_t blueprints                 = 0x708;
    inline static constexpr uintptr_t metabolism                 = 0x710;
    inline static constexpr uintptr_t PlayerEyes                 = 0x718;
    inline static constexpr uintptr_t player_eyes                = 0x718;
    inline static constexpr uintptr_t userID                     = 0x720;
    inline static constexpr uintptr_t user_id                    = 0x720;
    inline static constexpr uintptr_t userIDString               = 0x748;
    inline static constexpr uintptr_t weaponMoveSpeedScale       = 0x7B8;
    inline static constexpr uintptr_t clothingBlocksAiming       = 0x7BC;
    inline static constexpr uintptr_t clothingMoveSpeedReduction = 0x7C0;
    inline static constexpr uintptr_t clothingWaterSpeedBonus    = 0x7C4;
    inline static constexpr uintptr_t equippingBlocked           = 0x7CC;
}

BaseCombatEntity

namespace BaseCombatEntity {
    inline static constexpr uintptr_t model               = 0x1B8;
    inline static constexpr uintptr_t skeletonProperties  = 0x230;
    inline static constexpr uintptr_t lifestate           = 0x2A8;
    inline static constexpr uintptr_t markAttackerHostile = 0x2AE;
    inline static constexpr uintptr_t _health             = 0x2B4;
    inline static constexpr uintptr_t _maxHealth          = 0x2B8;
}

BaseEntity

namespace BaseEntity {
    inline static constexpr uintptr_t bounds       = 0x18C;
    inline static constexpr uintptr_t model        = 0x1B8;
    inline static constexpr uintptr_t flags        = 0x1C0;
    inline static constexpr uintptr_t triggers     = 0x138;
    inline static constexpr uintptr_t positionLerp = 0xE8;
}

BaseEntityFlags

namespace BaseEntityFlags {
    inline static constexpr uintptr_t Placeholder =   0x1;
    inline static constexpr uintptr_t On          =   0x2;
    inline static constexpr uintptr_t OnFire      =   0x4;
    inline static constexpr uintptr_t Open        =   0x8;
    inline static constexpr uintptr_t Locked      =  0x10;
    inline static constexpr uintptr_t Debugging   =  0x20;
    inline static constexpr uintptr_t Disabled    =  0x40;
    inline static constexpr uintptr_t Reserved1   =  0x80;
    inline static constexpr uintptr_t Reserved2   = 0x100;
    inline static constexpr uintptr_t Reserved3   = 0x200;
    inline static constexpr uintptr_t Reserved4   = 0x400;
    inline static constexpr uintptr_t Reserved5   = 0x800;
}

base player flags

namespace base_player_flags {
    inline static constexpr uintptr_t Unused1             =   0x1;
    inline static constexpr uintptr_t Unused2             =   0x2;
    inline static constexpr uintptr_t IsAdmin             =   0x4;
    inline static constexpr uintptr_t ReceivingSnapshot   =   0x8;
    inline static constexpr uintptr_t Sleeping            =  0x10;
    inline static constexpr uintptr_t Spectating          =  0x20;
    inline static constexpr uintptr_t Wounded             =  0x40;
    inline static constexpr uintptr_t IsDeveloper         =  0x80;
    inline static constexpr uintptr_t Connected           = 0x100;
    inline static constexpr uintptr_t ThirdPersonViewmode = 0x400;
}

ModelState

namespace ModelState {
    inline static constexpr uintptr_t lookDir    = 0x30;
    inline static constexpr uintptr_t flags      = 0x44; // 25231061 (dump 0x1C is stale)
    inline static constexpr uintptr_t waterLevel = 0x48;
}

modelstate flags

namespace modelstate_flags {
    inline static constexpr uintptr_t ducked       =    0x1;
    inline static constexpr uintptr_t jumped       =    0x2;
    inline static constexpr uintptr_t OnGround     =    0x4;
    inline static constexpr uintptr_t Sleeping     =    0x8;
    inline static constexpr uintptr_t sprinting    =   0x10;
    inline static constexpr uintptr_t onLadder     =   0x20;
    inline static constexpr uintptr_t Flying       =   0x40;
    inline static constexpr uintptr_t aiming       =   0x80;
    inline static constexpr uintptr_t Mounted      =  0x200;
    inline static constexpr uintptr_t crawling     = 0x1000;
    inline static constexpr uintptr_t hasParachute = 0x8000;
}

ItemContainer

namespace ItemContainer {
    inline static constexpr uintptr_t itemCount = 0x18;
    inline static constexpr uintptr_t ItemList  = 0x38; // was 0x68
    inline static constexpr uintptr_t uid       = 0x48;
    inline static constexpr uintptr_t flags     = 0x74;
}

List walk fallback: +0x10 then +0x20.

ItemDefinition

namespace ItemDefinition {
    inline static constexpr uintptr_t itemid      = 0x20;
    inline static constexpr uintptr_t shortname   = 0x28;
    inline static constexpr uintptr_t displayName = 0x40;
    inline static constexpr uintptr_t iconSprite  = 0x50;
    inline static constexpr uintptr_t category    = 0x58;
    inline static constexpr uintptr_t stackable   = 0x78;
    inline static constexpr uintptr_t rarity      = 0x94;
    inline static constexpr uintptr_t condition   = 0xB8;
}

item

namespace item {
    inline static constexpr uintptr_t HeldEntity     = 0x10; // was 0x90
    inline static constexpr uintptr_t held_entity    = 0x10;
    inline static constexpr uintptr_t clientAmmo     = 0x2C;
    inline static constexpr uintptr_t contents       = 0x38;
    inline static constexpr uintptr_t amount         = 0x40; // was 0x8C
    inline static constexpr uintptr_t maxCondition   = 0x44;
    inline static constexpr uintptr_t info           = 0x60; // Item.info (was 0x28 / 0xA0)
    inline static constexpr uintptr_t itemdefinition = 0x60;
    inline static constexpr uintptr_t definition     = 0x60;
    inline static constexpr uintptr_t position       = 0x70; // was 0xD8
    inline static constexpr uintptr_t worldEnt       = 0x78; // was 0x38
    inline static constexpr uintptr_t uid            = 0x88; // ItemId (was 0xD0)
    inline static constexpr uintptr_t condition      = 0xE0;
}
namespace item_id {
    inline static constexpr uintptr_t value = 0x10; // System.UInt64
}

namespace item_held {
    inline static constexpr uintptr_t wrapper_primary = 0x10;
    inline static constexpr uintptr_t wrapper_alt     = 0x78;
    inline static constexpr uintptr_t wrapper_uid     = 0x88;
}

namespace entity_ref {
    inline static constexpr uintptr_t slot_a = 0x10;
    inline static constexpr uintptr_t slot_b = 0x18;
    inline static constexpr uintptr_t slot_c = 0x28;
}

AttackEntity

namespace AttackEntity {
    inline static constexpr uintptr_t deployDelay     = 0x2E8;
    inline static constexpr uintptr_t repeatDelay     = 0x2EC;
    inline static constexpr uintptr_t animationDelay  = 0x2F0;
    inline static constexpr uintptr_t effectiveRange  = 0x2F4;
    inline static constexpr uintptr_t attackSpacing   = 0x304;
    inline static constexpr uintptr_t nextAttackTime  = 0x340;
    inline static constexpr uintptr_t timeSinceDeploy = 0x358;
}

BaseProjectile

namespace BaseProjectile {
    inline static constexpr uintptr_t projectileVelocityScale    = 0x394;
    inline static constexpr uintptr_t automatic                  = 0x398;
    inline static constexpr uintptr_t reloadTime                 = 0x3D8;
    inline static constexpr uintptr_t canUnloadAmmo              = 0x3DC;
    inline static constexpr uintptr_t primaryMagazine            = 0x3E0;
    inline static constexpr uintptr_t magazine                   = 0x3E0;
    inline static constexpr uintptr_t fractionalReload           = 0x3E8;
    inline static constexpr uintptr_t aimSway                    = 0x400;
    inline static constexpr uintptr_t aimSwaySpeed               = 0x404;
    inline static constexpr uintptr_t recoil                     = 0x408;
    inline static constexpr uintptr_t aimCone                    = 0x418;
    inline static constexpr uintptr_t hipAimCone                 = 0x41C;
    inline static constexpr uintptr_t aimconePenaltyPerShot      = 0x420;
    inline static constexpr uintptr_t aimConePenaltyMax          = 0x424;
    inline static constexpr uintptr_t stancePenaltyScale         = 0x430;
    inline static constexpr uintptr_t hasADS                     = 0x434;
    inline static constexpr uintptr_t manualCycle                = 0x436;
    inline static constexpr uintptr_t needsCycle                 = 0x43C;
    inline static constexpr uintptr_t isBurstWeapon              = 0x43F;
    inline static constexpr uintptr_t canChangeFireModes         = 0x440;
    inline static constexpr uintptr_t internalBurstFireRateScale = 0x448;
    inline static constexpr uintptr_t internalBurstAimConeScale  = 0x44C;
    inline static constexpr uintptr_t stancePenalty              = 0x458;
    inline static constexpr uintptr_t aimconePenalty             = 0x460;
    inline static constexpr uintptr_t sightAimConeScale          = 0x474;
    inline static constexpr uintptr_t sightAimConeOffset         = 0x478;
    inline static constexpr uintptr_t hipAimConeScale            = 0x47C;
    inline static constexpr uintptr_t hipAimConeOffset           = 0x480;
    inline static constexpr uintptr_t isReloading                = 0x484;
}

CompoundBowWeapon

namespace CompoundBowWeapon {
    inline static constexpr uintptr_t currentHoldProgress  = 0x520;
    inline static constexpr uintptr_t movementPenalty      = 0x530;
    inline static constexpr uintptr_t stringHoldTimeStart  = 0x53C;
}

projectile

namespace projectile {
    inline static constexpr uintptr_t initialVelocity        =  0x28;
    inline static constexpr uintptr_t drag                   =  0x34;
    inline static constexpr uintptr_t gravityModifier        =  0x38;
    inline static constexpr uintptr_t thickness              =  0x3C;
    inline static constexpr uintptr_t initialDistance        =  0x44;
    inline static constexpr uintptr_t initialOrientation     =  0x48;
    inline static constexpr uintptr_t ricochetChance         =  0x64;
    inline static constexpr uintptr_t penetrationPower       =  0x68;
    inline static constexpr uintptr_t swimScale              =  0xF0;
    inline static constexpr uintptr_t swimSpeed              =  0xFC;
    inline static constexpr uintptr_t mod                    = 0x110; // was 0x108
    inline static constexpr uintptr_t owner                  = 0x118; // was 0x110
    inline static constexpr uintptr_t hitTest                = 0x128; // was 0x120
    inline static constexpr uintptr_t projectileID           = 0x130;
    inline static constexpr uintptr_t integrity              = 0x13C;
    inline static constexpr uintptr_t maxDistance            = 0x140;
    inline static constexpr uintptr_t currentVelocity        = 0x164; // was 0x188
    inline static constexpr uintptr_t currentPosition        = 0x170; // was 0x164
    inline static constexpr uintptr_t traveledDistance       = 0x17C; // was 0x13C
    inline static constexpr uintptr_t traveledTime           = 0x180; // was 0x140
    inline static constexpr uintptr_t launchTime             = 0x184; // was 0x160
    inline static constexpr uintptr_t sentPosition           = 0x188; // was 0x164
    inline static constexpr uintptr_t previousPosition       = 0x194; // was 0x170
    inline static constexpr uintptr_t previousVelocity       = 0x1A0; // was 0x188
    inline static constexpr uintptr_t previousTraveledTime   = 0x1AC;
    inline static constexpr uintptr_t sourceProjectilePrefab = 0x1F0; // was 0x1E0
}

HitTest

namespace HitTest {
    inline static constexpr uintptr_t gameobject       = 0x10;
    inline static constexpr uintptr_t besthit          = 0x18;
    inline static constexpr uintptr_t attackray        = 0x28;
    inline static constexpr uintptr_t collider         = 0x48;
    inline static constexpr uintptr_t hitnormal        = 0x50;
    inline static constexpr uintptr_t ignoreentity     = 0x60;
    inline static constexpr uintptr_t hitpoint         = 0x68;
    inline static constexpr uintptr_t didhit           = 0x74;
    inline static constexpr uintptr_t maxdistance      = 0x78;
    inline static constexpr uintptr_t rayhit           = 0x80;
    inline static constexpr uintptr_t damageproperties = 0xB0;
    inline static constexpr uintptr_t hitentity        = 0xC0;
    inline static constexpr uintptr_t hitdistance      = 0xC8;
    inline static constexpr uintptr_t hitpart          = 0xCC;
    inline static constexpr uintptr_t hittransform     = 0xD8;
    inline static constexpr uintptr_t type             = 0xE0;
}

BaseMelee

namespace BaseMelee {
    inline static constexpr uintptr_t maxDistance         = 0x3A0;
    inline static constexpr uintptr_t attackRadius        = 0x3A4;
    inline static constexpr uintptr_t isAutomatic         = 0x3A8;
    inline static constexpr uintptr_t blockSprintOnAttack = 0x3A9;
    inline static constexpr uintptr_t gathering           = 0x3E0;
}
namespace gather_properties {
    inline static constexpr uintptr_t tree  = 0x10;
    inline static constexpr uintptr_t ore   = 0x18;
    inline static constexpr uintptr_t flesh = 0x20;
}

namespace gather_entry {
    inline static constexpr uintptr_t gatherDamage    = 0x10;
    inline static constexpr uintptr_t destroyFraction = 0x14;
    inline static constexpr uintptr_t conditionLost   = 0x18;
}

ItemModProjectile

namespace ItemModProjectile {
    inline static constexpr uintptr_t projectileObject         = 0x20;
    inline static constexpr uintptr_t ammoType                 = 0x30;
    inline static constexpr uintptr_t ammoSubType              = 0x34;
    inline static constexpr uintptr_t numProjectiles           = 0x38;
    inline static constexpr uintptr_t projectileSpread         = 0x3C;
    inline static constexpr uintptr_t projectileVelocity       = 0x40;
    inline static constexpr uintptr_t projectileVelocitySpread = 0x44;
    inline static constexpr uintptr_t useCurve                 = 0x48;
    inline static constexpr uintptr_t spreadScalar             = 0x50;
    inline static constexpr uintptr_t attackEffectOverride     = 0x58;
    inline static constexpr uintptr_t category                 = 0x68;
}

RecoilProperties

namespace RecoilProperties {
    inline static constexpr uintptr_t recoilYawMin            = 0x18;
    inline static constexpr uintptr_t recoilYawMax            = 0x1C;
    inline static constexpr uintptr_t recoilPitchMin          = 0x20;
    inline static constexpr uintptr_t recoilPitchMax          = 0x24;
    inline static constexpr uintptr_t timeToTakeMin           = 0x28;
    inline static constexpr uintptr_t timeToTakeMax           = 0x2C;
    inline static constexpr uintptr_t ADSScale                = 0x30;
    inline static constexpr uintptr_t movementPenalty         = 0x34;
    inline static constexpr uintptr_t clampPitch              = 0x38;
    inline static constexpr uintptr_t pitchCurve              = 0x40;
    inline static constexpr uintptr_t yawCurve                = 0x48;
    inline static constexpr uintptr_t useCurves               = 0x50;
    inline static constexpr uintptr_t shotsUntilMax           = 0x54;
    inline static constexpr uintptr_t maxRecoilRadius         = 0x58;
    inline static constexpr uintptr_t overrideAimconeWithCurve = 0x5C;
    inline static constexpr uintptr_t aimconeCurveScale       = 0x60;
    inline static constexpr uintptr_t aimconeCurve            = 0x68;
    inline static constexpr uintptr_t aimconeProbabilityCurve = 0x70;
    inline static constexpr uintptr_t newRecoilOverride       = 0x80;
}

FlintStrikeWeapon

namespace FlintStrikeWeapon {
    inline static constexpr uintptr_t successFraction    = 0x4C0;
    inline static constexpr uintptr_t strikeRecoil       = 0x4C8;
    inline static constexpr uintptr_t _didSparkThisFrame = 0x4D0;
    inline static constexpr uintptr_t strikes            = 0x4D4;
}
namespace bow_weapon {
    inline static constexpr uintptr_t attackReady = 0x4B8;
    inline static constexpr uintptr_t wasAiming   = 0x4C8;
}

PlayerEyes

namespace PlayerEyes {
    inline static constexpr uintptr_t viewOffset   = 0x40;
    inline static constexpr uintptr_t bodyRotation = 0x50; // silent write
    // worldPosition / eyeRotation not named this dump. Do not write 16 bytes at +0x60.
}

PlayerInput

namespace PlayerInput {
    inline static constexpr uintptr_t state      = 0x28;
    inline static constexpr uintptr_t bodyAngles = 0x44; // Vector3 pitch/yaw/roll
    inline static constexpr uintptr_t yaw        = 0x60;
}

PlayerModel

namespace PlayerModel {
    inline static constexpr uintptr_t collision       =  0xD0;
    inline static constexpr uintptr_t jawBone         =  0xE8;
    inline static constexpr uintptr_t neckBone        =  0xF0;
    inline static constexpr uintptr_t headBone        =  0xF8;
    inline static constexpr uintptr_t fullMask        = 0x208;
    inline static constexpr uintptr_t position        = 0x2F8;
    inline static constexpr uintptr_t newVelocity     = 0x31C;
    inline static constexpr uintptr_t heldEntity      = 0x448;
    inline static constexpr uintptr_t _multiMesh      = 0x488; // was 0x398
    inline static constexpr uintptr_t isNpc           = 0x4CC;
}

SkinnedMultiMesh

namespace SkinnedMultiMesh {
    inline static constexpr uintptr_t Renderers    = 0x58;
    inline static constexpr uintptr_t RendererList = 0x58;
}

namespace chams {
    inline static constexpr uintptr_t player_model_multi_mesh  = 0x488;
    inline static constexpr uintptr_t multi_mesh_renderer_list =  0x58;
    inline static constexpr uintptr_t renderer_material_array  = 0x140;
    inline static constexpr uintptr_t renderer_material_count  = 0x150;
}

PlayerInventory

namespace PlayerInventory {
    inline static constexpr uintptr_t containerBelt  = 0x28;
    inline static constexpr uintptr_t container_belt = 0x28;
    inline static constexpr uintptr_t loot           = 0x48;
    inline static constexpr uintptr_t containerMain  = 0x60; // was 0x58
    inline static constexpr uintptr_t container_main = 0x60;
    inline static constexpr uintptr_t containerWear  = 0x78;
    inline static constexpr uintptr_t container_wear = 0x78;
}

movement

namespace movement {
    inline static constexpr uintptr_t Owner           = 0x30;
    inline static constexpr uintptr_t vector3_0       = 0x38;
    inline static constexpr uintptr_t targetMovement  = 0x44;
    inline static constexpr uintptr_t running         = 0x50;
    inline static constexpr uintptr_t ducking         = 0x54;
    inline static constexpr uintptr_t crawling        = 0x58;
}

PlayerWalkMovement

namespace PlayerWalkMovement {
    inline static constexpr uintptr_t capsuleHeight             =  0x78;
    inline static constexpr uintptr_t capsuleCenter             =  0x80;
    inline static constexpr uintptr_t capsuleHeightDucked       =  0x88;
    inline static constexpr uintptr_t capsuleCenterDucked       =  0x90;
    inline static constexpr uintptr_t capsuleHeightCrawling     =  0x98;
    inline static constexpr uintptr_t capsuleCenterCrawling     =  0xA0;
    inline static constexpr uintptr_t gravityTestRadius         =  0xA8;
    inline static constexpr uintptr_t gravityMultiplier         =  0xB0;
    inline static constexpr uintptr_t gravityMultiplierSwimming =  0xB8;
    inline static constexpr uintptr_t maxAngleWalking           =  0xC0;
    inline static constexpr uintptr_t maxAngleClimbing          =  0xC8;
    inline static constexpr uintptr_t maxAngleSliding           =  0xD0;
    inline static constexpr uintptr_t maxStepHeight             =  0xD8;
    inline static constexpr uintptr_t groundAngle               = 0x108;
    inline static constexpr uintptr_t groundAngleNew            = 0x110;
    inline static constexpr uintptr_t groundTime                = 0x118;
    inline static constexpr uintptr_t jumpTime                  = 0x120;
    inline static constexpr uintptr_t landTime                  = 0x128;
    inline static constexpr uintptr_t velocity                  = 0x130;
    inline static constexpr uintptr_t groundNormal              = 0x140;
    inline static constexpr uintptr_t groundNormalNew           = 0x150;
    inline static constexpr uintptr_t sprintForced              = 0x1B0;
    inline static constexpr uintptr_t grounded                  = 0x1C4;
    inline static constexpr uintptr_t climbing                  = 0x1CC;
    inline static constexpr uintptr_t sliding                   = 0x1D4;
    inline static constexpr uintptr_t swimming                  = 0x1DC;
    inline static constexpr uintptr_t jumping                   = 0x1EC;
    inline static constexpr uintptr_t falling                   = 0x1FC;
    inline static constexpr uintptr_t flying                    = 0x20C;
    inline static constexpr uintptr_t wasFlying                 = 0x214;
    inline static constexpr uintptr_t forcedDuckDelta           = 0x21C;
}

WorldItem

namespace WorldItem {
    inline static constexpr uintptr_t allowPickup = 0x200;
    inline static constexpr uintptr_t item        = 0x208;
}

mapview

namespace mapview {
    inline static constexpr uintptr_t static_fields_off =       0xB8;
    inline static constexpr uintptr_t RVA_RustWorld     = 0x10C314A8;
    inline static constexpr uintptr_t World_Size_off    =       0x54;
    inline static constexpr uintptr_t World_Seed_off    =       0x68;
    inline static constexpr uintptr_t World_Name_off    =       0xA0;
    inline static constexpr uintptr_t RVA_MapInterface  = 0x10CC1950;
    inline static constexpr uintptr_t MI_Instance_off   =        0x8;
    inline static constexpr uintptr_t MI_View_off       =       0x60;
    inline static constexpr uintptr_t MV_mapImage_off   =       0x20;
    inline static constexpr uintptr_t MV_scrollRect_off =       0x40;
    inline static constexpr uintptr_t RawImage_UVRect   =       0xE8;
}

AutoTurret

namespace AutoTurret {
    inline static constexpr uintptr_t authorizedPlayers = 0x3B8; // was 0x3D8
    inline static constexpr uintptr_t gunFireEffect     = 0x3F0;
    inline static constexpr uintptr_t bulletEffect      = 0x3F8;
    inline static constexpr uintptr_t bulletSpeed       = 0x400;
    inline static constexpr uintptr_t lastYaw           = 0x440;
    inline static constexpr uintptr_t targetTrigger     = 0x480;
    inline static constexpr uintptr_t target            = 0x4A0;
    inline static constexpr uintptr_t muzzlePos         = 0x4B0;
    inline static constexpr uintptr_t gun_yaw           = 0x4C8;
    inline static constexpr uintptr_t gun_pitch         = 0x4D0;
    inline static constexpr uintptr_t sightRange        = 0x4D8;
    inline static constexpr uintptr_t aimCone           = 0x538;
}

patrolhelicopter

namespace patrolhelicopter {
    inline static constexpr uintptr_t weakspots         = 0x2D0;
    inline static constexpr uintptr_t rotorPivot        = 0x2D8;
    inline static constexpr uintptr_t mainRotor         = 0x2E0;
    inline static constexpr uintptr_t tailRotor         = 0x2F8;
    inline static constexpr uintptr_t rocket_tube_left  = 0x310;
    inline static constexpr uintptr_t rocket_tube_right = 0x318;
    inline static constexpr uintptr_t left_gun_yaw      = 0x320;
    inline static constexpr uintptr_t left_gun_pitch    = 0x328;
    inline static constexpr uintptr_t myAI              = 0x3B8;
    inline static constexpr uintptr_t spotlightTarget   = 0x408;
}

bradleyapc

namespace bradleyapc {
    inline static constexpr uintptr_t engineSound           = 0x2D0;
    inline static constexpr uintptr_t chasisLurchAngleDelta = 0x318;
    inline static constexpr uintptr_t chasisLurchSpeedDelta = 0x31C;
    inline static constexpr uintptr_t viewDistance          = 0x3C4;
    inline static constexpr uintptr_t searchRange           = 0x3C8;
}

local player static

namespace local_player_static {
    inline static constexpr uintptr_t local_player  = 0x10C519C8; // LocalPlayer_Static, not Class_LocalPlayer
    inline static constexpr uintptr_t static_fields =       0xB8;
    inline static constexpr uintptr_t entity        =       0x18; // HV<BasePlayer> (was 0x40)
    inline static constexpr uintptr_t hv_in_wrapper =       0x18;
}

magazine

namespace magazine {
    inline static constexpr uintptr_t definition = 0x10;
    inline static constexpr uintptr_t capacity   = 0x18;
    inline static constexpr uintptr_t contents   = 0x1C;
    inline static constexpr uintptr_t ammoType   = 0x20;
}

timed explosive

namespace timed_explosive {
    inline static constexpr uintptr_t timerAmountMin         = 0x200;
    inline static constexpr uintptr_t timerAmountMax         = 0x204;
    inline static constexpr uintptr_t minExplosionRadius     = 0x208;
    inline static constexpr uintptr_t explosionRadius        = 0x20C;
    inline static constexpr uintptr_t explodeOnContact       = 0x210;
    inline static constexpr uintptr_t canStick               = 0x211;
    inline static constexpr uintptr_t onlyDamageParent       = 0x213;
    inline static constexpr uintptr_t explosionMatchesNormal = 0x230;
    inline static constexpr uintptr_t damageTypes            = 0x278;
}

BaseLauncher

namespace BaseLauncher {
    inline static constexpr uintptr_t initialSpeedMultiplier = 0x4C0;
}

StorageContainer

namespace StorageContainer {
    inline static constexpr uintptr_t inventorySlots = 0x320;
    inline static constexpr uintptr_t isLootable     = 0x32D;
    inline static constexpr uintptr_t isLockable     = 0x32E;
    inline static constexpr uintptr_t isMonitorable  = 0x32F;
    inline static constexpr uintptr_t panelName      = 0x330;
    inline static constexpr uintptr_t panelTitle     = 0x338;
    inline static constexpr uintptr_t maxStackSize   = 0x368;
}

LootContainer

namespace LootContainer {
    inline static constexpr uintptr_t destroyOnEmpty            = 0x3A8;
    inline static constexpr uintptr_t lootDefinition            = 0x3B0;
    inline static constexpr uintptr_t minSecondsBetweenRefresh  = 0x3BC;
    inline static constexpr uintptr_t maxSecondsBetweenRefresh  = 0x3C0;
    inline static constexpr uintptr_t scrapAmount               = 0x3D4;
}

OreResourceEntity

namespace OreResourceEntity {
    inline static constexpr uintptr_t bonusPrefab        = 0x248;
    inline static constexpr uintptr_t finishEffect       = 0x250;
    inline static constexpr uintptr_t useHotspotMinigame = 0x260;
    inline static constexpr uintptr_t heightOffset       = 0x270;
}

ResourceEntity

namespace ResourceEntity {
    inline static constexpr uintptr_t startHealth         = 0x200;
    inline static constexpr uintptr_t baseProtection      = 0x208;
    inline static constexpr uintptr_t skipDecorComponents = 0x214;
}

CollectibleEntity

namespace CollectibleEntity {
    inline static constexpr uintptr_t itemName                      = 0x200;
    inline static constexpr uintptr_t itemList                      = 0x208;
    inline static constexpr uintptr_t pickupEffect                  = 0x210;
    inline static constexpr uintptr_t xpScale                       = 0x218;
    inline static constexpr uintptr_t suppressGatherRateMultiplier  = 0x21C;
}

GrowableEntity

namespace GrowableEntity {
    inline static constexpr uintptr_t plantSkin     = 0x2F0;
    inline static constexpr uintptr_t properties    = 0x348;
    inline static constexpr uintptr_t sourceItemDef = 0x350;
    inline static constexpr uintptr_t state         = 0x358;
}

PlayerCorpse

namespace PlayerCorpse {
    inline static constexpr uintptr_t playerName    = 0x308;
    inline static constexpr uintptr_t playerSteamID = 0x318;
    inline static constexpr uintptr_t containers    = 0x350;
}

LootableCorpse

namespace LootableCorpse {
    inline static constexpr uintptr_t playerSteamID = 0x318;
    inline static constexpr uintptr_t playerName    = 0x328;
}

HackableLockedCrate

namespace HackableLockedCrate {
    inline static constexpr uintptr_t timerText   = 0x400;
    inline static constexpr uintptr_t hackSeconds = 0x410;
}

HeldEntity

namespace HeldEntity {
    inline static constexpr uintptr_t punchAdded          = 0x208;
    inline static constexpr uintptr_t worldModelAnimation = 0x218;
    inline static constexpr uintptr_t viewModel           = 0x250; // was 0x200 — NOT itemOwner
    inline static constexpr uintptr_t handBone            = 0x260;
    inline static constexpr uintptr_t holdInfo            = 0x270;
    inline static constexpr uintptr_t isBuildingTool      = 0x28C;
    inline static constexpr uintptr_t forcedOwner         = 0x290;
    inline static constexpr uintptr_t hostileScore        = 0x2AC;
    inline static constexpr uintptr_t _punches            = 0x2D8;
    inline static constexpr uintptr_t ownerItemUID        = 0x2E0; // ItemId — +0x10 for UInt64
    inline static constexpr uintptr_t itemOwner           =    0x0; // field gone this dump
}

ItemIcon

namespace ItemIcon {
    inline static constexpr uintptr_t item_icon_c     = 0x10CBCDA0;
    inline static constexpr uintptr_t type_info       = 0x10CBCDA0;
    inline static constexpr uintptr_t static_fields   =       0xB8;
    inline static constexpr uintptr_t iconImage       =       0xA8;
    inline static constexpr uintptr_t backgroundImage =       0xE8;
}

DictionaryEntryArray

namespace DictionaryEntryArray {
    inline static constexpr uintptr_t length = 0x18;
    inline static constexpr uintptr_t data   = 0x20;
}

ViewModel

namespace ViewModel {
    inline static constexpr uintptr_t instance           = 0x28;
    inline static constexpr uintptr_t viewmodel_instance = 0x28;
}

BaseViewModel

namespace BaseViewModel {
    inline static constexpr uintptr_t useViewModelCamera = 0x40;
    inline static constexpr uintptr_t skinPieces         = 0x78; // dump-time fallback
}

model

namespace model {
    inline static constexpr uintptr_t collision            = 0x20;
    inline static constexpr uintptr_t rootBone             = 0x28;
    inline static constexpr uintptr_t headBone             = 0x30;
    inline static constexpr uintptr_t eyeBone              = 0x38;
    inline static constexpr uintptr_t animator             = 0x40;
    inline static constexpr uintptr_t skeleton             = 0x48;
    inline static constexpr uintptr_t boneTransforms       = 0x50;
    inline static constexpr uintptr_t boneNames            = 0x58;
    inline static constexpr uintptr_t bone_array_count_off = 0x18;
    inline static constexpr uintptr_t bone_array_data_off  = 0x20;
    inline static constexpr uintptr_t bone_array_elem_size =  0x8;

    inline static constexpr uintptr_t pelvis     = 0x00;
    inline static constexpr uintptr_t l_hip      = 0x01;
    inline static constexpr uintptr_t l_knee     = 0x03;
    inline static constexpr uintptr_t l_foot     = 0x04;
    inline static constexpr uintptr_t r_hip      = 0x0E;
    inline static constexpr uintptr_t r_knee     = 0x10;
    inline static constexpr uintptr_t r_foot     = 0x11;
    inline static constexpr uintptr_t spine2     = 0x15;
    inline static constexpr uintptr_t spine4     = 0x17;
    inline static constexpr uintptr_t l_clav     = 0x18;
    inline static constexpr uintptr_t l_upperarm = 0x19;
    inline static constexpr uintptr_t l_forearm  = 0x1A;
    inline static constexpr uintptr_t l_hand     = 0x1D;
    inline static constexpr uintptr_t neck       = 0x34;
    inline static constexpr uintptr_t head       = 0x35;
    inline static constexpr uintptr_t r_clav     = 0x3C;
    inline static constexpr uintptr_t r_upperarm = 0x3D;
    inline static constexpr uintptr_t r_forearm  = 0x3E;
    inline static constexpr uintptr_t r_hand     = 0x41;
}

Transform native: +0x28 TransformData, +0x30 index. Visual state +0x38.

TOD_Sky_Static

namespace TOD_Sky_Static {
    inline static constexpr uintptr_t tod_sky_c     = 0x10C593A8;
    inline static constexpr uintptr_t static_fields =       0xB8;
    inline static constexpr uintptr_t instances     =       0x68; // was 0x18
    inline static constexpr uintptr_t listItems     =       0x10;
    inline static constexpr uintptr_t listSize      =       0x18;
    inline static constexpr uintptr_t arrayData     =       0x20;
}

TOD_Sky

namespace TOD_Sky {
    inline static constexpr uintptr_t Cycle      = 0x40;
    inline static constexpr uintptr_t Atmosphere = 0x50;
    inline static constexpr uintptr_t Day        = 0x58;
    inline static constexpr uintptr_t Night      = 0x60;
    inline static constexpr uintptr_t Stars      = 0x78;
    inline static constexpr uintptr_t Clouds     = 0x80;
    inline static constexpr uintptr_t Ambient    = 0x98;
}

TOD_CycleParameters

namespace TOD_CycleParameters {
    inline static constexpr uintptr_t Hour = 0x10;
}

tod ambient parameters

namespace tod_ambient_parameters {
    inline static constexpr uintptr_t Saturation = 0x14;
}

tod night parameters

namespace tod_night_parameters {
    inline static constexpr uintptr_t AmbientMultiplier = 0x5C;
}
namespace tod_stars {
    inline static constexpr uintptr_t Size       = 0x10;
    inline static constexpr uintptr_t Brightness = 0x14;
}

Object

namespace Object {
    inline static constexpr uintptr_t m_CachedPtr = 0x10;
}

unity component

namespace unity_component {
    inline static constexpr uintptr_t native      = 0x10;
    inline static constexpr uintptr_t game_object = 0x20;
}

unity game object

namespace unity_game_object {
    inline static constexpr uintptr_t components             = 0x20;
    inline static constexpr uintptr_t obj_transform          =  0x8;
    inline static constexpr uintptr_t component_count        = 0x30;
    inline static constexpr uintptr_t component_stride       = 0x10;
    inline static constexpr uintptr_t component_ptr_in_entry =  0x8;
    inline static constexpr uintptr_t tag                    = 0x54;
}

unity string

namespace unity_string {
    inline static constexpr uintptr_t m_stringLength = 0x10;
    inline static constexpr uintptr_t first_char     = 0x14;
}

system list

namespace system_list {
    inline static constexpr uintptr_t array               = 0x10;
    inline static constexpr uintptr_t size                = 0x18;
    inline static constexpr uintptr_t array_first_element = 0x20;
}

entitylist

namespace entitylist {
    inline static constexpr uintptr_t array      = 0x10;
    inline static constexpr uintptr_t size       = 0x18;
    inline static constexpr uintptr_t first_elem = 0x20; // try 0x28 if slot0 is a net id
}

convar graphics

namespace convar_graphics {
    inline static constexpr uintptr_t convar_graphics          = 0x10C48670;
    inline static constexpr uintptr_t convar_graphics_instance =       0xB8;
    inline static constexpr uintptr_t fov                      =      0x19C; // EncryptedValue — P dump _fov (was 0x168)
}

convar admin

namespace convar_admin {
    inline static constexpr uintptr_t convar_admin = 0x10CE83B8;
    inline static constexpr uintptr_t playerIds    =       0x20;
}

ProgressBar

namespace ProgressBar {
    inline static constexpr uintptr_t type_info    = 0x10BE53E8;
    inline static constexpr uintptr_t instance     =       0x20; // was 0x8
    inline static constexpr uintptr_t timeCounter  =       0x2C;
}

Door / CodeLock / BuildingBlock

namespace Door {
    inline static constexpr uintptr_t knockEffect     = 0x358;
    inline static constexpr uintptr_t canTakeLock     = 0x360;
    inline static constexpr uintptr_t hasHatch        = 0x361;
    inline static constexpr uintptr_t canTakeCloser   = 0x362;
    inline static constexpr uintptr_t canTakeKnocker  = 0x363;
    inline static constexpr uintptr_t canNpcOpen      = 0x364;
    inline static constexpr uintptr_t canHandOpen     = 0x365;
    inline static constexpr uintptr_t isSecurityDoor  = 0x366;
    inline static constexpr uintptr_t canReverseOpen  = 0x367;
}

namespace CodeLock {
    inline static constexpr uintptr_t keyCodeEntry = 0x238;
    inline static constexpr uintptr_t hasCode      = 0x270;
}

namespace BuildingBlock {
    inline static constexpr uintptr_t grade          = 0x350;
    inline static constexpr uintptr_t gradeSecondary = 0x354;
    inline static constexpr uintptr_t cachedMesh     = 0x360;
    inline static constexpr uintptr_t construction   = 0x368;
    inline static constexpr uintptr_t skin           = 0x3B8;
}

PlayerMetabolism

namespace PlayerMetabolism {
    inline static constexpr uintptr_t component        = 0x710; // on BasePlayer
    inline static constexpr uintptr_t calories         =  0x20;
    inline static constexpr uintptr_t hydration        =  0x28;
    inline static constexpr uintptr_t heartrate        =  0x30;
    inline static constexpr uintptr_t poison           =  0x50;
    inline static constexpr uintptr_t radiationLevel   =  0x58;
    inline static constexpr uintptr_t radiationPoison  =  0x60;
    inline static constexpr uintptr_t oxygen           =  0x78;
    inline static constexpr uintptr_t bleeding         =  0x80;
}

namespace metabolism_attr {
    inline static constexpr uintptr_t min   = 0x18;
    inline static constexpr uintptr_t max   = 0x1C;
    inline static constexpr uintptr_t value = 0x20;
}

player team

namespace player_team {
    inline static constexpr uintptr_t memberList = 0x20;
    inline static constexpr uintptr_t classSize  = 0x58;
}

Decryption routines

25231061 live. Cipher at wrapper +0x18. Then il2cpp_gchandle_get_target except clActiveItem (UID in place).

uintptr_t decryption::client_entities(uint64_t a1)
{
    uintptr_t rax = driver.read<uintptr_t>(a1 + 0x18);
    uint32_t* rdx = (uint32_t*)&rax;
    uint32_t r8d = 0x2;
    uint32_t ecx;
    do {
        ecx = *rdx;
        rdx = (uint32_t*)((uint8_t*)rdx + 0x4);
        ecx = ecx ^ 0x6B59DCD4;
        ecx = ecx + 0x12F287EE;
        ecx = (ecx << 0xA) | (ecx >> 0x16); // rol 10
        ecx = ecx + 0x2AD5742A;
        *(rdx - 1) = ecx;
        --r8d;
    } while (r8d);
    return il2cpp_get_handle(rax);
}

uintptr_t decryption::visiblePlayerList(uint64_t a1)
{
    return decryption::client_entities(a1);
}

uintptr_t decryption::entity_list(uint64_t a1)
{
    uintptr_t rax = driver.read<uintptr_t>(a1 + 0x18);
    uint32_t* rdx = (uint32_t*)&rax;
    uint32_t r8d = 0x2;
    uint32_t ecx;
    do {
        ecx = *rdx;
        rdx = (uint32_t*)((uint8_t*)rdx + 0x4);
        ecx = (ecx << 0x1A) | (ecx >> 0x6); // rol 26
        ecx = ecx ^ 0xADA5634C;
        ecx = ecx + 0x1BFFF7A6;
        *(rdx - 1) = ecx;
        --r8d;
    } while (r8d);
    return il2cpp_get_handle(rax);
}

uintptr_t decryption::clActiveItem(uint64_t a1)
{
    // in-place UID. do not run this on a heap pointer.
    uint32_t* rdx = (uint32_t*)&a1;
    uint32_t r9d = 0x2;
    uint32_t edx;
    do {
        edx = *rdx;
        rdx = (uint32_t*)((uint8_t*)rdx + 0x4);
        edx = edx - 0x3D5E8E09;
        edx = edx ^ 0x2294A40F;
        edx = (edx << 0x13) | (edx >> 0xD); // rol 19
        edx = edx + 0x62310A3F;
        *(rdx - 1) = edx;
        --r9d;
    } while (r9d);
    return a1;
}

uintptr_t decryption::PlayerInventory(uint64_t a1)
{
    uintptr_t rax = driver.read<uintptr_t>(a1 + 0x18);
    uint32_t* rdx = (uint32_t*)&rax;
    uint32_t r8d = 0x2;
    uint32_t ecx;
    do {
        ecx = *rdx;
        rdx = (uint32_t*)((uint8_t*)rdx + 0x4);
        ecx = (ecx << 0x1C) | (ecx >> 0x4); // rol 28
        ecx = ecx ^ 0x65B9B225;
        ecx = ecx + 0x2F961B1E;
        *(rdx - 1) = ecx;
        --r8d;
    } while (r8d);
    return il2cpp_get_handle(rax);
}

uintptr_t decryption::PlayerEyes(uint64_t a1)
{
    uintptr_t rax = driver.read<uintptr_t>(a1 + 0x18);
    uint32_t* rdx = (uint32_t*)&rax;
    uint32_t r8d = 0x2;
    uint32_t ecx;
    do {
        ecx = *rdx;
        rdx = (uint32_t*)((uint8_t*)rdx + 0x4);
        ecx = ecx + 0xC4421DB7;
        ecx = (ecx << 0xF) | (ecx >> 0x11); // rol 15
        ecx = ecx ^ 0x8F17AD9A;
        ecx = (ecx << 0x6) | (ecx >> 0x1A); // rol 6
        *(rdx - 1) = ecx;
        --r8d;
    } while (r8d);
    return il2cpp_get_handle(rax);
}

uintptr_t decryption::local_player(uint64_t a1)
{
    // 25214240 chain — 25231061 dump has no LP crypt
    uintptr_t rax = a1;
    uint32_t* rdx = (uint32_t*)&rax;
    uint32_t r8d = 0x2;
    uint32_t ecx;
    do {
        ecx = *rdx;
        rdx = (uint32_t*)((uint8_t*)rdx + 0x4);
        ecx = (ecx << 0xB) | (ecx >> 0x15); // rol 11
        ecx = ecx ^ 0x30B6FF08;
        ecx = ecx + 0x0CC937BB;
        ecx = ecx ^ 0xFD26C1F4;
        *(rdx - 1) = ecx;
        --r8d;
    } while (r8d);
    return il2cpp_get_handle(rax);
}

inline uint32_t decryption::encrypt_fov(uint32_t val)
{
    val = (val << 0x14) | (val >> 0xC);  // rol 20
    val = val - 0x0BDD8296;
    val = val ^ 0x41AA1423;
    val = (val << 0xF) | (val >> 0x11);  // rol 15
    return val;
}

inline uint32_t decryption::decrypt_fov(uint32_t val)
{
    val = (val << 0x11) | (val >> 0xF);
    val = val ^ 0x41AA1423;
    val = val + 0x0BDD8296;
    val = (val << 0xC) | (val >> 0x14);
    return val;
}

PlayerWalkMovement crypts

namespace pwm {
    // capsuleHeight
    // enc: rol 4, xor 0x4E67773D, rol 26
    // dec: rol 6, xor 0x4E67773D, rol 28

    // capsuleCenter
    // enc: xor 0xA63219C8, rol 10, add 0x7983BF63
    // dec: sub 0x7983BF63, rol 22, xor 0xA63219C8

    // gravityMultiplier
    // enc: rol 6, xor 0x0BF29DB8, sub 0x14C9A8CC
    // dec: add 0x14C9A8CC, xor 0x0BF29DB8, rol 26

    // groundAngle
    // enc: rol 10, sub 0x75B6E603, xor 0x883CD959, add 0x5EF50FCA
    // dec: sub 0x5EF50FCA, xor 0x883CD959, add 0x75B6E603, rol 22

    // groundAngleNew
    // enc: xor 0xA89B4487, add 0x271F08A0, rol 15, add 0x35634C3B
    // dec: sub 0x35634C3B, rol 17, sub 0x271F08A0, xor 0xA89B4487

    // groundTime
    // enc: add 0x5ED8266A, rol 24, xor 0x975CE3D8, rol 22
    // dec: rol 10, xor 0x975CE3D8, rol 8, sub 0x5ED8266A

    // jumpTime
    // enc: rol 7, sub 0x075CBAD0, rol 7
    // dec: rol 25, add 0x075CBAD0, rol 25

    // landTime
    // enc: xor 0x5D22278E, rol 14, sub 0x10EB2F11, rol 23
    // dec: rol 9, add 0x10EB2F11, rol 18, xor 0x5D22278E

    // sprintForced (bool)
    // enc: add 0x379EE2C7, xor 0x66ECADA2, add 0x49823E40
    // dec: sub 0x49823E40, xor 0x66ECADA2, sub 0x379EE2C7

    // grounded (bool)
    // enc: xor 0x4E950628, add 0x5025DDFA, xor 0xE0887AA0, sub 0x69094678
    // dec: add 0x69094678, xor 0xE0887AA0, sub 0x5025DDFA, xor 0x4E950628

    // jumping (bool)
    // enc: xor 0x49358FC0, rol 12, xor 0xA5DCEB94
    // dec: xor 0xA5DCEB94, rol 20, xor 0x49358FC0

    // flying (bool)
    // enc: rol 10, add 0x41C361D3, rol 4, add 0x7BA47834
    // dec: sub 0x7BA47834, rol 28, sub 0x41C361D3, rol 22
}