Skip to main content

Material Descriptors

Material formats across Watch Dogs 1, 2, and Legion, covering roughly 85 XML descriptors extracted from the retail game.

The descriptor files themselves are game-derived data and are not published here. The tables below are the part worth keeping: they record the shader types, their parameters and their types, so you can read a descriptor you extracted from your own copy of the game. Export them yourself with Gibbed.Disrupt.ConvertXml from the game's engine\shaders\materialdescriptors\ folder.

Material System Overview​

The material descriptor XMLs define 44 shader types across Watch Dogs 1, 2, and Legion. Each shader type specifies which textures, colors, and float parameters it expects. The compiled binary format is TAM v7 (magic 0x004D4154), with a full reader/writer in blender-io-disrupt's material_bin.py.

A materialNames.txt file (916 entries) maps CRC32 hashes to human-readable parameter names.

Key Car Shaders​

DriverCarGeneric​

ParameterTypeNotes
DiffuseTexture1 / DiffuseTexture2textureBase diffuse maps
NormalTexture1textureNormal map
SpecularTexture1textureSpecular map
AlphaTexture1textureTransparency mask
EmissiveTexturetextureEmissive map
SpecularPowerfloat4z / 8192 = specular exponent
ReflectancefloatDefault 0.04
ReflectionTypeenum0=WorldStatic, 1=WorldDynamic, 2=Custom, 3=Matcap
EmissiveMeshLightsboolEnables MeshLights table lookup

DriverCarPaint​

ParameterTypeNotes
DamageTexture1textureDamage/detail map
DiffuseColor1 / DiffuseColor2colorBase paint colors
DualCarpaintboolTwo-tone paint

Damage mask (DamageTexture1 RGBA channels):

ChannelEffect
RDefectsIntensity
GDefectsNormalOffsetX
BDustIntensity
ADefectsNormalOffsetY

DriverGlass​

ParameterTypeNotes
TintColorcolorGlass tint
OpacityfloatTransparency
ReflectionAffectedByDaylightboolDay/night reflection variation

Mask (texture RGBA channels):

ChannelEffect
RSpecularGloss
GDustIntensity
BReflectance
ASpecularOcclusion

Cross-References​