VDF

From Valve Developer Community
Jump to navigation Jump to search
Wikipedia - Letter.png
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)

Stub

This article or section is a stub. You can help by expanding it.

Broom icon.png
This article or section needs to be cleaned up to conform to a higher standard of quality.
For help, see the VDC Editing Help and Wikipedia cleanup process. Also, remember to check for any notes left by the tagger at this article's talk page.
Underlinked - Logo.png
This article needs more Wikipedia icon links to other articles to help Wikipedia icon integrate it into the encyclopedia. Please help improve this article by adding links Wikipedia icon that are relevant to the context within the existing text.
December 2024

VDF or Valve Data File is file format used in source games to store various types of game-related metadata. VDF files store information data for resources, installation scripts, configuration scripts, and visualization elements.
They can often be seen when installing games distributed through Valve's Steam game client, such as Half-Life 2 and Counter-Strike.
VDF also holds a filter plugin for virtual dub video capture and processing software application.

VDF file format

"keyvalue 1"
{
  "keyvalue_2"
  {
    "keyvalue.3"
    "keyvalue4"
  }
}

Example

An example for controller motion from half-life 2 controller_motion_steamcontroller_gordon.vdf

 "controller_mappings"
{
	"version"		"3"
	"revision"		"25"
	"title"		"#Title_Portal_Motion"
	"description"		"#Description_Portal_Motion"
	"creator"		"76561198042570256"
	"progenitor"		"default://400"
	"export_type"		"unknown"
	"controller_type"		"controller_steamcontroller_gordon"
	"major_revision"		"1"
	"major_revision_affects_mousekb" "1"
	"major_revision_affects_xinput" "1"
	"minor_revision"		"0"
	"Timestamp"		"0"
	"actions"
	{
		"GameControls"
		{

another example hammer.vdf

"UserConfigData"
{
	"resource"
	{
		"mdlpicker.res"
		{
			"FileBrowserSplitter"
			{
				"child0"
				{
					"AssetSplitter"
					{
						"child1"
						{
							"AssetBrowser"
							{
								"lastBarWidth"		"532"
								"0_hidden"		"0"
								"0_width"		"52"
								"1_hidden"		"0"
								"1_width"		"481"
							}
						}
						"0_splitter_pos"		"296.500000"
						"1_splitter_pos"		"593.000000"
					}
				}