27 releases (6 stable)

1.0.5 Mar 3, 2024
1.0.4 Aug 14, 2023
1.0.1 Apr 8, 2023
0.7.0 Apr 6, 2023
0.5.2 Mar 6, 2023

#7 in #pak

Download history 38/week @ 2024-03-13 7/week @ 2024-03-27 58/week @ 2024-04-03 1/week @ 2024-04-10 279/week @ 2024-04-17

570 downloads per month


706 lines

unpak is now deprecated! use the repak fork for oodle support and writing


a no-nonsense unreal pak parser

  • doesn't force files to be extracted
  • only converts entries to bytes when requested
  • supports all unreal engine 4 pak versions
  • supports compressed and encrypted paks
  • supports iteration over entries

click here for examples

the problem

looking at the libraries for pak reading, they were never not quite right for what i wanted to do:

  • rust-u4pak - excellent support but unfriendly api
  • ue4pak - excellent api but no support for extraction
  • unrealpak - excellent api but only supports version 8
  • rust-unreal-unpak - is async + only supports version 10

so i just though fuck it i'll do it myself and did it myself


although the api of rust-u4pak wasn't very friendly, the README went into beautiful detail into the intricacies of the file format and when the readme had incorrect info cough cough encryption uuid cough cough the source code also had the answers as long as you looked hard enough


~47K SLoC