FANDOM


BioWare stores a majority of game resources inside their own proprietary version of Unreal Engine package files, called PCC files. This article covers the uncompressed and compressed structure of PCCs, along with the correlation between file nomenclature and what game resources they store.

Compressed StructureEdit

If the file is compressed, the tables and data are segmented into chunks, each of which contains a variable number of compressed blocks.

Schematic representation of the compressed PCC file structure


Pcc compressed

Pcc compressed chunk

Pcc compressed block

Chunks Header

Chunks are preceded by a common header, which contains information about the chunks. The chunks header is 16 bytes in size.

Bytes Description
4 Int32 Uncompressed Offset
4 Int32 Uncompressed Size
4 Int32 Compressed Offset
4 Int32 Compressed Size

Chunk Header

Each chunk has a header containing information about the raw compressed data contained in block form. The chunk header is also 16 bytes in size. The number of blocks a chunk has can be calculated by dividing the chunk uncompressed size through the block size.

Bytes Description
4 Int32 Magic Number
4 Int32 Block Size
4 Int32 Compressed Size
4 Int32 Uncompressed Size

Block Header

Each block also has a header. The block header is 8 bytes in size.

Bytes Description
4 Int32 Compressed Size
4 Int32 Uncompressed Size

Uncompressed StructureEdit

All PCC files are divided into five parts: header, name table, import table, export table and data objects.

Schematic representation of the uncompressed PCC file structure


Pcc uncompressed

File Header

The File Header contains basic information about the structure of the PCC. Below is an example extracted from AreaMap_CitHub_Camps.pcc:

Block (hex) Bytes (dec) Description
0-3 4 Magic Number (0x9E2A83C1)
4-7 4 Version (0xC202AC = 12714668d = 194/684)
8-B 4 0x67C
C-F 4 0xFFFFFFFB = 5
10-19 10 0x4E006F006E006500 (N.o.n.e...)
1A-1D 4 Package Flags (0x8088000D = 2156396557d)
1E-21 4 0x0
22-25 4 Name Count (0x23 = 25d)
26-29 4 Pointer to Name Table (0x8E = 142d)
2A-2D 4 Export Count (0x6 = 6d)
2E-31 4 Pointer to Export Table (0x4c8 = 1224d)
32-35 4 Import Count (0x5 = 5d)
36-39 4 Pointer to Import Table (0x43C = 1084h)
3A-3D 4 0x664 = 1636d
3E-41 4 0x67C = 1660h
42-45 4 0x0
46-49 4 0x0
4A-4D 4 0x0
4E-51 4 GUID (0x1241956A = 306287978d)
52-55 4 GUID (0x48ECB3A7 = 1223472039d)
56-59 4 GUID (0x8EDAE68B = 2396710539d)
5A-5D 4 GUID (0xB945722C = 3108336172d)
5E-61 4 Generations (0x1)
62-65 4 Export Count (0x6 = 6d)
66-69 4 Name Count (0x23 = 35d)
6A-6D 4 0x0 = 0d
6E-71 4 Engine (0x18EF = 6383d)
72-75 4 0x3006B = 196715d
76-79 4 0x15330000 = 355663872d
7A-7D 4 0x8AA0000 = 145358848d
7E-81 4 Compression Flag (0x0 or 0x1)
82-85 4 Chunk Count (0x0 or 0x1)

Name Table

The Name Table contains any name found inside the package (import classes, exports, and export properties, for example. Each name follows this structure:

Bytes Description
4 Int32 Count
Count * (-1) Each char as WCHAR

Import Table

The Import Table contains all classes and objects imported by the PCC. Each entry is 28 bytes in size:

Bytes Description
8 Int64 Package Name (entry in Name Table)
4 Int64 Class Name (entry in Name Table)
8 Int32 Link (entry in Import/Export Table)
8 Int64 Import Name (entry in Name Table)

Export Table

The Export Table contains all objects stored in the package. Each export can vary in size.

Bytes Description
4 Int32 Class (Object Index)
4 Int32 Super Class (Object Index)
4 Int32 Link
4 Int32 Object Name (entry in Name Table)
4 Int32 Object Name Number
4 Int32 Archetype (Object Index)
8 UInt64 Object Flags
4 Int32 Data Size
4 Int32 Data Offset
4 Unknown
4 Int32 Count
4 Unknown
16 GUID
(Count * 4) Unknown

Edited PCC StructureEdit

When PCCs are edited, all new data is appended onto the end of the file, first new data objects followed by new lists.

Nomenclature + ContentsEdit

All PCCs follow various naming conventions that specify the game content they store. The tables below summarize these conventions.

Prefix Description
BioA Contain most level content, textures, meshes, etc. Rarely, there will be dialogues and related kismet sequences in these files.
BioD Contain a majority of plot-related game content. This includes dialogues, cutscenes, matinee tracks, camera actors and scene staging, animation data, FaceFX data, kismet sequence objects, VFX content, GAW triggers, achievement triggers, and much more. There are also meshes/materials/effects in these files and there can be textures, as well. BioD PCC files tend to come in "partners," a main PCC accompanied by a localized version that contains all dialogue-related content.
BioG Human male and female meshes and materials for faces, hair, scalps, clothing, and armor. This includes Shepard.
BioH Hench/Squadmate-specific files. Contain meshes, materials, effects, combat AI, and more.
BioP These are key files. They control very basic things like level streaming, henchmen loading/location/availability, player relocation within a level, and more.

BioA, BioD, and BioP files are organized by plot mission and/or location.

Abbreviation Description
Cat001 From Ashes DLC
Cat002 Priority: Thessia
Cat003 Priority: Citadel II (the Coup)
Cat004 Priority: Cerberus HQ (Cronos Station)
CerJcb Arrae: Ex-Cerberus Scientists
CerMir Priority: Horizon
Cit001/2/3/4 Citadel DLC Missions
CitApt Citadel Apartment (Citadel DLC)
CitCas Silver Coast Casino (Citadel DLC)
CitSim Armax Arsenal Arena (Citadel DLC)
CitHub Citadel Station
CitSam Kallini: Ardat-Yakshi Monastery
End001 Priority: Earth (standard ending)
End002 ME3 Extended Cut
Gth001 Priority: Perseus Veil & Geth Dreadnought
Gth002 Priority: Rannoch
GthLeg Rannoch: Geth Fighter Squadrons
GthN7A Rannoch: Admiral Koris
Kro001 Priority: Sur'Kesh
Kro002 Priority: Tuchanka
KroGar Priority: Palaven
KroGru Attican Traverse: Krogan Team
KroN7a Tuchanka: Turian Platoon
KroN7b Tuchanka: Bomb
Lev001/2/3/4 Leviathan DLC
MPCer N7: Cerberus Lab
MPDish N7: Communication Hub
MPNov N7: Cerberus Fighter Base
MPRctr N7: Fuel Reactors
MPSlum N7: Cerberus Abductions
MPTwr N7: Cerberus Attack
Nor Normandy Ship
Omg000/1/2A/3/4 Omega DLC Missions
OmgHub Omega Station (Omega DLC)
OmgJck Grissom Academy: Emergency Evacuation
ProEar Prologue: Earth
ProMar Priority: Mars

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.