What is the PSK file format?
A .psk file is a binary skeletal mesh exported from Autodesk 3ds Max or Maya using Epic Games' ActorX plugin, primarily for use in the Unreal Engine game pipeline. It holds all the geometric and skeletal data needed to animate a 3D character: vertices, UV-mapped wedges, polygon faces, material slot assignments, and a reference skeleton with bone transforms and skin weights.
The format uses a chunked binary structure. Every section begins with a 32-byte header identifying the data block - for example ACTRHEAD (file header), PNTS0000 (vertex positions), VTXW0000 (UV wedges), FACE0000 (triangles), REFSKELT (bones), and RAWWEIGHTS (per-vertex bone influences). All multi-byte values are little-endian. An extended variant adds EXTRAUVS0 chunks for additional UV channels and uses 64-bit wedge records.
A .psk mesh is always paired with a .psa animation file, which stores skeletal animation sequences separately. Together they define a complete rigged character ready for import into an Unreal project.
The format originated around 2000 with Unreal Tournament. UDK (Unreal Development Kit, 2009-2015) was the last tool to natively target it. Unreal Engine 4 and 5 still accept .psk on import for legacy compatibility, but FBX is the recommended modern exchange format. Blender users can import .psk files via the ActorX Importer add-on.
Security & safety
RISK: LOWPSK is a binary 3D mesh format with no scripting or executable capability. Safe to open in Blender or UE. Risks are limited to malformed files crashing the importer.
Format details
in a nutshell- Pre-Shared Key file - Plain-text or binary file storing an IPsec/VPN pre-shared key, used by strongSwan, OpenVPN, and various network appliances - completely unrelated to 3D graphics.
Programs that open PSK files
Technical details
deep spec| File signature | ASCII `ACTRHEAD` at byte offset 0 (first 20 bytes of the initial chunk ID field) |
| Byte order | Little-endian |
| Chunk header size | 32 bytes: 20-byte ASCII ID + 4-byte type flag + 4-byte data size + 4-byte record count |
| Vertex data block | `PNTS0000` - three 32-bit floats (X, Y, Z) per vertex, 12 bytes each |
| UV wedge block | `VTXW0000` - vertex index + UV coordinates, 12 bytes per wedge |
| Bone data block | `REFSKELT` - 120 bytes per bone (name, parent index, quaternion rotation, position) |
| Skin weight block | `RAWWEIGHTS` - 12 bytes per influence (weight float + vertex index + bone index) |
| Extended UV channels | `EXTRAUVS0` chunk appended for additional UV maps beyond the first |
| Material assignments | `MATT0000` chunk stores material slot names for the mesh |
| Companion file | `.psa` (animation sequences) always paired with `.psk` to form a complete rigged asset |
| Typical file size | 50 KB - 20 MB depending on mesh polygon and bone count |
| Export tools | ActorX plugin for Autodesk 3ds Max and Maya |
| Legacy status | Superseded by FBX for UE4/UE5 workflows; PSK import retained for backward compatibility |
| Released | circa 2000 (Unreal Tournament era, ActorX plugin) |
| Latest version | extended variant with VTXW0000 wedge records (64-bit UV); base version uses type flags ≤ 1999801 |
| Specification | docs.unrealengine.com |
PSK conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about PSK files.