Skip to main content

Asset Structure

1This list contains all the asset types used by the game.

Type.ExtensionCompilerInfo
VPKvpkCompileMap (only for maps)Valve Pack. Is used to store content. One VPK file is limited to 2GB.
KV3kv3CompileKV3KeyValues3. Main file used for almost all asset types. Supports binary encodings, versioning and data annotation.
VData AssetvdataCompileVDataVData asset. Form of Generic Data loaded by game for various stuff like weapons, heroes, abilities, decalgroups, styles, asset tags, precipitation, modifiers, entity subclasses, tagged sounds. Depending on the generic_data_type that comes from schemas.
Animation FilevanimCompileAnimationUsed by Legacy VMDL. Unused.
Animation GroupvagrpCompileAnimGroupUsed by Legacy VMDL. Unused.
Sequence GroupvseqCompileSequenceUsed by Legacy VMDL. Unused.
Particle AssetvpcfCompileParticleParticles. Created in the Particle Editor.
Material AssetvmatCompileMaterialMaterials. Created in the Material Editor.
Mesh AssetvmeshCompileRenderMeshUsed by Legacy VMDL. Unused.
Texture AssetvtexCompileTextureTextures. Created by either the Material Editor, manual .vtex file or anything involving Panorama (VPDI/VDATA).
Model AssetvmdlCompileModelModel. Created in the ModelDoc Editor. Compiled file embeds multiple blocks in itself.
Physics CollisionvphysCompileVPhysXDataLegacy Physics Collision file, used for Legacy VMDL and pre-Jun 6 2023 map compile. Unused.
Sound AssetvsndCompileSoundSound file. Compiled out of a mp3/wav file. Can embed encoding data from encoding.txt and phoneme/morph data from soundname.txt.
Sound ContainervsndCompileSoundSoundcontainer. Shares the .vsnd extension with Sound, but is actually a .vdata file with a data type CVoiceContainerBase. A special kind of sound with rules/unique properties.
Morphset AssetvmorfCompileMorphUsed by Legacy VMDL. Unused.
Resource ManifestvrmanCompileResourceManifestResource Manifest. Tells the game to load specified assets when being read.
World AssetvwrldCompileWorldWorld Asset. Part of a compiled map file. Loads defined in it worldnodes, lightmaps and entity lumps.
Worldnode AssetvwnodCompileWorldNodeWorld Node Asset. Part of a compiled map file. Loads defined worldnode models/scene objects.
Worldvis AssetvvisCompileMapVisibilityWorld Visibility Asset. Part of a compiled map file. Loads map visibility data. Visibility data are stored in voxel clusters.
Entitylump AssetventsCompileEntityLumpEntitylump Asset. Part of a compiled map file. Loads all defined map entities. Regular map entities are stored in default_ents.vents file, while point_template/world_layer entity lumps are stored in hammeridofapointtemplate#entitylumpname.vents_c.
Surfaceproperties AssetvsurfCompileSurfacePropertiesSurfaceproperties Asset. Has all the defined surface properties that Material Editor can use for materials.
Soundevent ScriptvsndevtsCompileSoundEventScriptSoundevent Script. Before being played in the game, your sound must be defined here. Then, that new soundevent can be defined anywhere else where it's needed.
Soundstack ScriptvsndstckCompileSoundStackScriptSoundstack Script. Rules,operators and parameters for all the soundevents of the game.
MixgraphvmixCompileVMixMixgraph Data. Created in the VMix Tool.
Postprocessing SettingsvpostCompilePostProcessingPostprocessing settings. Created in the Postprocessing Editor. Controls postprocessing.
Resource Remap TablevrmapCompileResourceRemapTableResource Remap Table. Unknown. Unused.
Panorama StylevcssCompilePanoramaPanorama Style. Compiled .css file, defines how a Panorama UI element will look.
Panorama LayoutvxmlCompilePanoramaPanorama Layout. Compiled .xml file, a skeleton of a Panorama UI element.
Panorama Dynamic ImagesvpdiCompilePanoramaPanorama Dynamic Images. Acts the same purpose as Resource Manifest, but for Panorama images. They will be converted from source image asset to .vtex_c upon compile.
JavascriptvjsCompileJavaScriptJavascript. Created from a .js file.
TypescriptvtsCompileTypeScriptTypescript. Created from a .ts file.
PulseGraphDefvpulseCompilePulseGraphDefPulse Graph Definition. Created in the Pulse Editor.
Vector GraphicvsvgCompileVectorGraphicVector Graphic. Created from a .svg file.
Particle SnapshotvsnapCompileSnapParticle Snapshot. Made in the Particle Editor, child asset for the Particle Asset, acts as a reference for the particle.
ModelDoc Templatevmodel_templateCSimpleAssetTypeInfo (not compileable)ModelDoc Template.
ModelDoc Prefabvmdl_prefabCSimpleAssetTypeInfo (not compileable)ModelDoc Prefab, is essentially a .vmdl. Used by .vmdl files to share nodes.
Animgraph AssetvanmgrphCompileAnimgraphAnimgraph1 Animgraph. Requires a .vmdl to compile. Animgraph 1 Graph, used for animation behavior, states, and etc. Currently being replaced by Animgraph2.
Animgraph SubgraphvsubgrphCSimpleAssetTypeInfo (not compileable)Animgraph1 Subgraph. Used by .vanmgrph files to share nodes, tags and parameters, is essentially a Animgraph group in a separate file.
Map AssetvmapCompileMapMap Asset. Compiled version does nothing and only references all the necessary stuff to load the map, while the source version is a Keyvalues2 VMAP file.
Subrect AssetrectCSimpleAssetTypeInfo (not compileable)Subrect Asset. Created in the Subrect Editor, used for hot-spotting in Hammer.
Composite Material KitvcompmatCompileVCompMatComposite Material Asset. Used by CS2 for weapon skins.
Econ ItemeconitemCompileCS2EconItemEconomy Item. Used by CS2 Item Editor.
Smart PropvsmartCompileVSmartSmartProp. A prop with a defined set of rules and parameters in the VData Editor. Allows for much more control over a prop.
Response RulesvrrCompileResponseRulesResponse Rules. Plays voicelines in response to events in the game.
Choreo Scene File DatavcdlistCompileChoreoSceneFileDataChoreo Scene File Data. A combination of .vcd files for Choreo Scenes. Deprecated.
VCD File (Choreo)vcdCompileChoreoSceneValve Choreography Data. Stores choreography data for use with Faceposer and the game.
Animgraph2 SkeletonvnmskelCompileNmSkelAnimgraph2 Skeleton. Used by Animgraph2 for skeleton(s) and bonemask data.
Animgraph2 ClipvnmclipCompileNmClipAnimgraph2 Clip. Animation file used by Animgraph2. Can contain events to respond from graphs.
Animgraph2 GraphvnmgraphCompileNmGraphAnimgraph2 Graph. Animgraph2's graph. Contains all the necessary behavior. Graph variations have a vnmgraph.+variationname suffix.
Animgraph2 VariationvnmvarCompileNmGraphVariationAnimgraph2 Variation. Deprecated.
VModuleMetadatavmmdCVMMDAssetTypeInfo (not compileable)Module Metadata. Contains all of the metadata about the module (like server.dll, resourcecompiler.dll) like resourcemanifests to load on startup and Pulse bindings.
CompiledShadervcsCompiledShader (uses vfxcompile)CompiledShader. Contains all the shader data. Comes in multiple sets depending on the shader type. Stored in shaders_platform/api.vpk.
FlexSceneFilevfeNot compileableFlexSceneFile. Has expressions/phonemes data used by game/Faceposer.
ClosedCaptionsdatCompiled from txt with captioncompilerCompiled Closed Captions file.
DAC Game Defs DatavdacdefsCompileDACGameDefsDataDota Underlords Game Definitions file. Compiled version is a KV3 file.
Dota Visual NovelsvdvnCompileDotaVisualNovelsVisual Novels for various Dota 2 events.
Dota Patch NotesvdpnCompileDotaPatchNotesPatch Notes for Dota 2.
Dota Hero ListherolistCompileDotaHeroListHero List for Dota 2.
ItemitemCompileDotaItemItem. Piece of items_game.txt.
Tools Asset InfobinNot compileableInformation file about all referenced assets used in Tools.
Bitmap FontvfontNot compileableBitmap font.
Processing Graphvpram?Processing Graph. Precursor to legacy VMDL nodes.
Surface Graphvsgraph?Surface Graph. Unknown.

Footnotes

  1. Information on some assets taken from ValveResourceFormat