โ— Shell
clean mode source โ†—

GitHub - ValveResourceFormat/ValveResourceFormat: Source 2 Viewer is an all-in-one tool to browse VPK archives, view, extract, and decompile Source 2 assets, including maps, models, materials, textures, sounds, and more.

Build Status NuGet Library Downloads NuGet Renderer Downloads Code Coverage Discord

Valve's Source 2 resource file format parser, renderer, decompiler, and exporter. The library component is called ValveResourceFormat (VRF).

Contributing

This tool is based entirely on reverse engineering as Valve does not provide Source 2 documentation or code. Not all formats are fully supported. If you are interested in helping, take a look at the open issues and join our Discord. See CONTRIBUTING.md and AGENTS.md for more information.

Supported resource types
Ext Name Support
vagrp Animation Group ๐Ÿ‘
valst Action List ๐Ÿ‘
vanim Animation ๐Ÿ‘
vanmgrph Animation Graph ๐Ÿ‘
vcd Choreo ๐Ÿ‘
vcdlist Choreo Scene File Data ๐Ÿ‘
vcompmat Composite Material ๐Ÿ‘
vcss Panorama Style ๐Ÿ‘
vdata Data ๐Ÿ‘
vents EntityLump ๐Ÿ‘
vjs Panorama Script ๐Ÿ‘
vmap Map ๐Ÿ‘
vmat Material ๐Ÿ‘
vmdl Model ๐Ÿ‘
vmesh Mesh ๐Ÿ‘
vmix VMix ๐Ÿ‘
vmks Sheet ๐Ÿ‘
vmorf MorphSet ๐Ÿ‘
vnmclip NmClip ๐Ÿ‘
vnmgrph NmGraph ๐Ÿ‘
vnmikrig NmIKRig ๐Ÿ‘
vnmskel NmSkeleton ๐Ÿ‘
vnmvar NmGraph Variation ๐Ÿ‘
vpcf Particle System ๐Ÿ‘
vpdi Panorama Dynamic Images ๐Ÿ‘
vphys Physics Collision Mesh ๐Ÿ‘
vpost Postprocessing Settings ๐Ÿ‘
vpram Processing Graph Instance ๐Ÿ‘
vpsf Particle Snapshot ๐Ÿ‘
vpulse Pulse Graph Definition ๐Ÿ‘
vrman ResourceManifest ๐Ÿ‘
vrmap Resource Remap Table No
vrr Response Rules ๐Ÿ‘
vseq Sequence Group No
vsmart Smart Prop ๐Ÿ‘
vsnap Particle Snapshot ๐Ÿ‘
vsnd Sound ๐Ÿ‘
vsndevts Sound Event Script ๐Ÿ‘
vsndstck Sound Stack Script ๐Ÿ‘
vsurf Surface Properties No
vsvg Panorama Vector Graphic ๐Ÿ‘
vtex Compiled Texture ๐Ÿ‘
vts Panorama TypeScript ๐Ÿ‘
vvis World Visibility ๐Ÿ‘
vwnod World Node ๐Ÿ‘
vwrld World ๐Ÿ‘
vxml Panorama Layout ๐Ÿ‘
     
econitem Economy Item ๐Ÿ‘
herolist Dota Hero List ๐Ÿ‘
item Artifact Item ๐Ÿ‘
vdpn Dota Patch Notes ๐Ÿ‘
vdvn Dota Visual Novels ๐Ÿ‘
     
bin Tools Asset Info ๐Ÿ‘ Handled by ToolsAssetInfo
dat Closed Captions ๐Ÿ‘ Handled by ClosedCaptions
vcs Compiled Shader ๐Ÿ‘ Handled by CompiledShader
vdacdefs DAC Game Defs Data No
vfe Flex Scene File ๐Ÿ‘ Handled by FlexSceneFile
vfont Bitmap Font ๐Ÿ‘ Decrypts VFONT1, supported in Source 1 and Source 2.
vpk Pak (package) ๐Ÿ‘ Handled by ValvePak
List of supported magics
Magic Description
0x03564B56 VKV\x03 - First binary keyvalues 3 encoding with custom block compression
0x4B563301 KV3\x01 - Binary keyvalues 3 (version 1)
0x4B563302 KV3\x02 - Binary keyvalues 3 (version 2)
0x4B563303 KV3\x03 - Binary keyvalues 3 (version 3)
0x4B563304 KV3\x04 - Binary keyvalues 3 (version 4)
0x4B563305 KV3\x05 - Binary keyvalues 3 (version 5)
0x564B4256 VBKV - binary keyvalues 1 (handled by ValveKeyvalue)
0x55AA1234 VPK - valve package (handled by ValvePak)
0x44434356 VCCD - closed captions
0xC4CCACE8 tools asset info
0xC4CCACE9 tools asset info (newer version)
0x32736376 vcs2 - compiled shader
0x414D5A4C LZMA compression marker
0x64637662 bvcd - binary choreo scene
0xFEEDFACE navigation mesh
0xFADEBEAD grid navigation
0x31415926 murmurhash2 seed used by StringToken
0xEDABCDEF murmurhash64 seed used to encode resource IDs
VFONT1 "encrypted" font file
0x00564645 VFE - flex scene file

GUI

Source 2 Viewer keeps its settings in %LocalAppData%/Source2Viewer/settings.vdf.

License

Contents of this repository are available under MIT license, except for Tests/Files folder which contains files that have likely come from Valve's games.

Code signing policy

Free code signing provided by SignPath.io, certificate by SignPath Foundation.