Name hashing
A stored hash can stand in for a file path, a class name or a material property. These are different lookup domains: the spelling rules and the owner of the lookup matter as much as the numeric value. Each row links to the page that states it, with its confidence.
| Engine / game | Names and lookup domains | Detail |
|---|---|---|
| FromSoftware / Sekiro | Archive paths use base 37 with 32-bit wrapping arithmetic | BHD5 path hashes |
| FromSoftware / Elden Ring | Archive paths use base 133 with 64-bit wrapping arithmetic | BHD5 path hashes |
| Anvil / Riders Republic | CRC-32 type ids identify classes; 64-bit ClassIDs identify resources. Texture-property keys hash exact ASCII labels, including trailing spaces | Resource identities, material labels |
| RAGE / GTA V Enhanced | Asset names normally use lowercase joaat; META schema names use case-sensitive Jenkins hashes. NG encryption has a separate table-based name hash | Hash domains |
| Frostbite / skate. | Mesh paths and resource type names use lowercase djb2-XOR, starting at 5381. Texture streaming uses a separate h64; depot parameter-name and block-hash generation are not established |
Resource identity, depot hashes |
| Frostbite / skate. TOCs | Bundle names use an FNV-1 variant with lowercase keys, sign-extended bytes and a final reduction modulo 0x01000193; buckets can use stored seeds |
TOC indexes |
| ForzaTech / FH6 | Texture references use CRC-32 of the lowercase full game path with backslashes; parameters carry CRC-32 keys. String-table keys instead XOR each UTF-8 byte then rotate left seven bits, starting at 0xFFFFFFFF |
Material hashes, string-table hashes |
| Unity / SkateBIRD and Sledding Game | Animation paths use CRC-32 of GameObject names below the Animator; the empty path hashes to zero. Compiled controllers retain hashed names with an m_TOS name table |
Clip bindings, controller names |
| Insomniac / Sunset Overdrive | DAT1 section tags are described as CRC-32 hashes of section names; the archive separately addresses assets by 32-bit ids | DAT1 tags, asset addressing |
Spelling is part of the key
Section titled “Spelling is part of the key”FromSoftware normalizes paths to lowercase with forward slashes and a leading slash, then hashes UTF-16 code units.
ForzaTech’s texture-path domain instead uses the full game path with backslashes. Anvil’s texture labels preserve a
trailing space: 1 - Diffuse Alpha and 1 - Diffuse Alpha have different keys.
See FromSoftware paths, ForzaTech paths
and Anvil labels.
A matching Anvil class-name CRC from a wordlist is only a candidate name; a matching runtime registration string is stronger evidence. The class-registry page distinguishes those cases. ForzaTech also has a template-table hash whose generation is not established; tested common name hashes do not explain it. See placement templates.
Collisions and duplicate names
Section titled “Collisions and duplicate names”In skate., two distinct mesh paths with hash 0x38e09783 reuse a renderer material-owner table even though their
material counts differ, producing wrong materials or out-of-range slots after a teleport. A separate failure occurs
when one MeshSet name maps to two resource ids. Distinct texture mip chunks sharing one h64 cause a seam stall and
failure. These are separate identity constraints, documented in the crash catalogue.
The mesh hash recurrence preserves a collision when the same suffix is appended to both names. Renaming a manifest entry alone also leaves stored mesh hashes unchanged.
FromSoftware’s examined indexes contain no duplicate hashes within an index; ambiguity between candidate dictionary paths is still possible. Anvil’s complete texture-label join has no distinct-byte collisions among its matched labels. Those scopes do not establish a universal absence of collisions. See BHD5 and Anvil material keys.
Frostbite’s h64 role is established independently of a name-hash formula; its depot parameter and block hashes remain
unresolved. ForzaTech’s placement-template hash also remains unresolved. See resource identity,
depot hashes and placement templates.