All inclusive list of REDengine file formats
Written & Published: April 10 2023 by @manavortex Game version: 2.1
For an exhaustive list, see the W2RC File Format Table.
This file contains a list of appearances with their associated components. To load them, you require a root entity .ent. The .app files also contain extensive parameters for wounds and dismemberment, determining which meshes to use for different types of garment an NPC might be wearing, and even the physics behavior of these meshes.
Holds a list of components.
The entry point for the game to display an NPC or prop. It is a collection of components that the entity is comprised of, determining their parameters or referencing the files that have said parameters. For instance, NPC .ent files have over a hundred components each, such as entAnimatedComponent (references the correct .anims, .animgraph and .rig files), entTemplateAppearance (references all .app files that are applicable to the entity) and entEffectSpawner (references all .effect files for decals or particles that the entity can spawn). Many of these components have configurable parameters, and the .ent file itself has many under the "entity" section. Many of these parameters, however, are merely the initial state of the entity and are modified in gameplay (such as the boolean isRagdolling).
From ArchiveXL item additions, this kind of file is usually called a root entity.
For player items, an .ent file can serve as a wrapper, splitting components out of the .app file by putting them in their own file.
Not a file type but an internal data structure and part of .ent or .app files. Components are how the game adds anything to the in-game world, from pag3d data over player interaction prompts to explosion sounds.
A 3d object, holding appearances, materials, and rigging. Meshes for inanimate objects also tend to contain the physics parameters of these objects, whereas NPC meshes tend to contain some garment parameters.
A mesh can have several submeshes, which can be displayed or hidden via chunkmasks.
A material definition for a shader. You can assign those to CMaterialInstance entries in your mesh and then define their qualities by changing their parameters.
OpusPaks are collections of opus audio files, they are described by the sfx_container.opusinfo
file. For more info see the Audio Files page:
This file holds world environment information and -properties. Due to its complexity, information is grouped on its sub-page.
A Wwise audio file, usually containing a voice-over or music. You can find more info on the Audio files page:
A regular texture file. Can be exported to .png via WolvenKit, edited, and imported back into the game. The type of texture is often indicated at the end of the filename. For instance, diffuse textures are specified as "_d" and normals are specified as "_n".
If you stick to the game's naming schema, Wolvenkit will auto-detect the right import settings for you.
Can be either blue or yellow (inverted), both exist. For a guide how to make your own, see here.
Cyberpunk normal maps are swizzled (a technique originally employed in DTX-5).
The red channel stores the X axis
The green channel stores the Y axis
The blue channel is empty, since the Z-data will be calculated from red and blue.
Texture atlases contain multiple textures that the game may choose at random (such as blood splatters, as seen in fx_blood_splatter_2x2_01_d.xbm) or play sequentially (as seen in splash_texture.atlas_n.xbm, used by the game for the blood puddle animation). Texture atlases won't always have "atlas" in their filename, but can still be quickly identified by the size of the grid. For instance, "3x3" in the filename means a grid of nine textures. In the asset browser, right-clicking on the file and selecting "Find Files Using This" will take you to files that allow further customization of how the game interacts with the grid.
<explanation>
The following data only applies for archives created with WolvenKit
Extension | Description | Fully Parsed |
---|---|---|
Extension | Description |
---|---|
Name | Type/Size | Info |
---|---|---|
Name | Type/Size | Info |
---|---|---|
Name | Type/Size | Info |
---|---|---|
Name | Type/Size | Info |
---|---|---|
Name | Type/Size | Info |
---|---|---|
Name | Type/Size | Info |
---|---|---|
Different per material — see parameters/[2] for a list of properties
e.g. BaseColor, Metalness, NormalStrength or VectorField, FresnelColor, Albedo
IsGamma
Override in-game gamma (lighting)? - Set to "false" for normals - Set to "true" for diffuse/albedo and any parts of the UI
Animation databases that rename and organize animations for use in scripts and other files such as animation graphs
Audio
Pathfinding/AI
Animation and physics graphs, used for visual scripting of all animations associated to an entity, as well as physics behavior of dangling objects such as necklaces
Collections of individual animations and their data
Mesh appearance configurations, as well as wound/dismemberment configurations
?
Terrain related
?
?
A.I. behavior graphs, can be used to influence NPC reactions to various stimuli
?
Bink video
Bink video
Camera curve preset
?
Character editor preset
Minimap
Quest related
Cutscene related
See mlsetup
See anims
See app
Configuration for credits
6-sided cube texture
Determines the curve graph values of things such as fall damage and level scaling
?
?
Master file for visual effects such as particles and decals. Holds parameters and has a second tab for editing the associated .particle file.
Entity, master file that contains all components and parameters of which an entity is comprised
Environment definition
?
?
Behavior parameters for attacks, weapons and explosions. Highly influential on gameplay.
?
?
?
Font
Foliage brush
Destructible foliage element
?
Game main configuration file
?
Animation database that determines which animations should play based on various enum inputs (see associated .csv to see which parameter corresponds to what number)
?
?
Hit detection for different body parts, as well as visual feedback based on whether the material is flesh, metal, cyberware, etc.
Hair profile
?
UI animation
UI texture atlas
UI character related
UI font
UI
UI settings
UI
UI
UI
UI
UI
UI
UI
UI
Quest info
Quest info
?
?
?
?
?
?
?
?
Pins on map
Mesh/model, often containing physics settings (for inanimate objects) and some garment parameters (for NPCs)
Instanced external shaders/materials
Masks for multilayer supershader
Setup file for multilayer supershader
Template file for multilayer supershader
Blend shapes/shape keys
Base shader
navmesh
AI navigation meshes
?
Audio
Audio
Parameters for particles and decals, can be configured in the second tab of .effect files
Nvidia PhysX physics parameters, also present in many .mesh files
Nvidia PhysX physics parameters, also present in many .mesh files
Physics Material definitions. Governs bullet penetration, A.I. visibility through different materials, friction, etc., but tweaks to it are only partially applied in-game
Point of Interest Map pin
?
Quest
Quest progression
regionset
?
Similar to mt, difference is unclear
Resource list
Rig/skeleton for animation, definition of bone groups and ragdoll physics
Cutscene
Cutscene versioning
?
?
Skin profile
?
Terrain
The world in manageable pieces
Terrain
Links all the sectors
Terrain
Multiple textures
?
?
?
Leftover mesh file with RED3 extension
Leftover mi file with RED3 extension
?
Texture
Texture
Standard CSV file, spreadsheets containing definitions for various parameters and enums that are used in other files
Audio file
Header
See specification of Header below.
Custom Data
WolvenKit only. See specification of custom data below.
Files
data
Raw file data
File List
See specification of file list below.
Magic
char[4]
Constant: "RDAR"
Version
uint32
Currently 12
IndexPosition
uint64
Offset of beginning of file list
IndexSize
uint32
Size of file list
DebugPosition
uint64
Always 0
DebugSize
uint32
Always 0
Filesize
uint64
Size of file (excluding Filesize)
CustomDataLength
uint32
WolvenKit only
Magic
char[4]
Constant: "LXRS"
Version
uint32
Currently 1
Size
int32
Size of uncompressed data
ZSize
int32
Size of compressed data
PathCount
int32
Number of custom paths
PathStrings
zstring[PathCount]
Custom file paths
FileTableOffset
uint32
Always 8
FileTableSize
uint32
CRC
uint64
Checksum of ???
FileEntryCount
uint32
Number of files
FileSegmentCount
uint32
Number of file segments
ResourceDependencyCount
uint32
Number of resource dependencies
FileRecords
File Record[FileEntryCount]
See specification of file record below.
FileSegments
File Segment[FileSegmentCount]
See specification of file segment below.
ResourceDependencies
uint64[ResourceDependencyCount]
NameHash64
uint64
FNV1A64 hash of the filename
Timestamp
int64
Windows filetime of file creation
NumInlineBufferSegments
uint32
Number of inline buffers
SegmentsStart
uint32
Index of the first file segment
SegmentsEnd
uint32
Index of the last file segment
ResourceDependenciesStart
uint32
Index of the first resource dependency
ResourceDependenciesEnd
uint32
Index of the last resource dependency
SHA1Hash
uint8[20]
SHA1 hash of the file
Offset
uint64
Offset of the data
ZSize
uint32
Size of compressed data
Size
uint32
Size of uncompressed data