This article's documentation is for Source 2. Click here for more information.

Sdkassettypes.txt

From Valve Developer Community
(Redirected from Assettypes common.txt)
Jump to navigation Jump to search

sdkassettypes.txt (s&boxassettypes.txt, Counter-Strike 2assettypes_common.txt) is a KeyValues3 config file present in game/bin that describes the types of assets present in a Source 2 game. Asset types primarily give information to the Asset Browser so it knows how to handle and display each asset properly. Custom entries can be added here for the engine to recognize new file types, however the functionality is limited since the engine has some hardcoded properties designed for specific types.

Warning.pngWarning: (Tested in Half-Life: Alyx) The following extensions must be defined in this file or else Hammer will crash when attempting to create/open a map: vmap, vmdl, vmat, vpcf. At minimum these require a _class ↓ and m_Ext ↓ defined for each, however they can also all be defined in the same entry using m_AdditionalExtensions ↓ as long as vmat is the main m_Ext (in order for the hammer viewport to render properly).
Todo: Older engines such as Destinations use the schema format instead of KV3, document any notable differences from those.
Todo: Confirm all information here and validate the functionality of everything.
Todo: Confirm which games things are part of. Some of these are directly used in certain engines, but might still exist internally in those that don't use them.

asset_warnings

(in all games since Counter-Strike 2)

Warnings about specific asset problems.

old_model_serialization

Checks for legacy model types and provides information to the user about any that are found.

m_Title  <string>
Title of this section. In Counter-Strike 2 this is "Legacy Compiled Data".
m_Message  <string>
The message to display when legacy assets are detected.

m_Checks

An array of objects, each with the following keyvalues:

m_AssetType  <string>
The type of asset. Can be any asset type defined in m_AssetTypes ↓.
m_RequireSearchableIntKey  <string>
The integer key to search for in the asset.
m_RequireSearchableIntValue  <integer>
The value of the search key.
m_bOnlyWarnIfContentFilePresent  <boolean>
Warns if the content file is present.
m_bOnlyWarnIfGameFilePresent  <boolean>
Warns if the game file is present.
m_bOnlyWarnAddons  <boolean>
Found in hammer.dll [Todo]
m_ExcludeAddonNames  <array:string>
A list of addons to exclude from legacy checks.
m_FixType  <string>
The type of fix to apply.
Known values
  • VMDL_CONVERT_TO_MODELDOC - Models will be converted to modeldoc and recompiled.
  • VMAP_MANUAL_RECOMPILE - Maps will not be changed and must be manually recompiled.
m_FixDescription  <string>
The description of the fix, telling the user what will happen / how they should fix the asset.

m_AssetTypes

Note.pngNote: assettypes (in all games since Counter-Strike 2)[confirm]


An array of objects describing the properties of each asset type. The object name is the name of the asset type, usually formatted as <type>_asset.

Each asset type can have the following properties:

_class  <string>
The internal class to use for this asset type.
Known classes
  • CResourceAssetTypeInfo - For Valve-specific resource types
  • CSimpleAssetTypeInfo - For any general file types
  • CBitmapAssetTypeInfo - For image files
  • CMapAssetTypeInfo - For map files
  • CSubassetTypeInfo - Found in hammer.dll [Todo]
  • CVMMDAssetTypeInfo - Found in hammer.dll [Todo]
  • (removed since Counter-Strike 2) CDatamodelAssetTypeInfo - For DMX files
m_Name  <string> (removed since Counter-Strike 2)
The name of the asset type. In newer Source 2 games this is defined by this object's name instead.
m_FriendlyName  <string>
The name to display to the user.
m_Ext  <string>
The file extension associated with this type.
m_AdditionalExtensions  <array:string>
Additional extensions associated with this type.
m_IconLg  <string>
The path to the large icon displayed with this type. Defaults to game:tools/images/assettypes/generic_lg.png
m_IconSm  <string>
The path to the small icon displayed with this type. Defaults to game:tools/images/assettypes/generic_sm.png
m_nAssetTypeVersion  <string>
The asset type version for this block.
Known versions
  • 1
m_bUnrecognizedReferencesAreErrors  <boolean>
Whether an unrecognized reference should be a hard error.[confirm]
m_PreviewThumbnailOverlayIcon  <???>
Found in hammer.dll [Todo]
m_bCannotBeShown  <???>
Found in hammer.dll [Todo]
m_Test_InjectSearchable  <???>
Found in hammer.dll [Todo]
m_bHideTypeByDefault  <boolean>
Whether to display this type in the filter list if no assets of this type are present.[confirm]
m_bPrefersLivePreview  <boolean>
Whether this asset type should have a live preview when possible.[confirm]
m_bPresentInGameTree  <boolean>
Whether this asset type shows up in the game tree.[confirm]
m_bPrefersIconForThumbnail  <boolean>
Whether this asset type should show its icon instead of a preview thumbnail.[confirm]
m_Color  <string> (only in s&box)
The color associated with this asset type as an HTML color code.[confirm]
m_Category  <string> (only in s&box)
The category this asset type should fall under.[confirm]
m_bContentFileIsText  <boolean>
[Todo]
m_bSuppressFullFingerprintCalculation  <boolean>
[Todo]
m_SuppressSubstrings  <array:string>
Ignores assets that begin with these strings.[confirm] Known used strings include "pak01_" and "scaleform_cache_".
m_HideForRetailMods  <array:string>
A list of mod names to hide this asset type in. Can be * to exclude everything.
m_LimitToMods  <array:string>
A list of mod names to limit this asset type to.
m_RequiredSpecialDependency  <string>
Special required compilation dependency. Found on sound_event_script with the value "Sound Event Script Version". [Todo]
m_bAutoRecompile  <boolean> (removed since Counter-Strike 2)
Whether this asset should automatically be recompiled when changes are detected.[confirm]
m_bIgnoreCompiledState  <boolean>
Whether this asset should ignore if it's already compiled.[confirm]
m_bShouldCompileErrorFallbackToDisk  <boolean>
Whether this asset should compile an error fallback if the compilation fails.[confirm]
m_bCanBeAChildCompile  <boolean>
Specifies that this asset type can be compiled when another is dependent on this one.[confirm]
m_bAllowedToCompileInTestMode  <boolean>
Found in hammer.dll [Todo]
m_bCannotBeAMultiParentChildCompile  <boolean>
[Todo]
m_bIsNontrivialChildAssetType  <boolean>
[Todo]
m_bPreventDirectCompile  <boolean>
Whether this asset should ignore a user's attempt at manually initiating a recompile.[confirm]
m_CompileDependsOnResourceTypes  <array:string>
A list of file type dependencies of this asset that are required when compiling. [confirm]
m_CompilerIdentifier  <string>
The identifier for Resourcecompiler to know what type of asset this is. [confirm]
Known values
  • CompileMaterial - For use with Material files.
  • CompileTexture - For use with Compiled Texture files.
  • CompileModel - For use with Model files.
  • CompileSound - For use with Sound files.
  • CompileParticle - For use with Particle System files.
  • CompileSnap - For use with Particle Snapshot files.
  • CompileResourceManifest - For use with ResourceManifest files.
  • CompileResourceRemapTable - For use with Resource Remap Table files.
  • CompileWorld - For use with World files.
  • CompileWorldNode - For use with WorldNode files.
  • CompileMapVisibility - For use with WorldVisibility files.
  • CompileEntityLump - For use with EntityLump files.
  • CompileSurfaceProperties - For use with Surface Properties files.
  • CompileSoundEventScript - For use with Sound Event Script files.
  • CompileSoundStackScript - For use with Sound Stack Script files.
  • CompilePanorama - For use with Panorama Style, Panorama Layout, and Panorama Dynamic Images files.
  • CompileJavaScript - For use with JavaScript files.
  • CompileVectorGraphic - For use with Vector Graphic files.
  • CompileMap - For use with Map files.
  • CompileKV3 - Found in Half-Life: Alyx resourcecompiler.dll [Todo]
  • CompileVMix - Found in Half-Life: Alyx resourcecompiler.dll [Todo]

(only in Dota 2)[confirm]

  • CompileDACGameDefsData - For use with DAC Game Defs Data files.
  • CompileDotaItem - Found in Half-Life: Alyx resourcecompiler.dll [Todo]
  • CompileDotaPatchNotes - Found in Half-Life: Alyx resourcecompiler.dll [Todo]

(in all games since Half-Life: Alyx):

  • CompilePostProcessing - For use with Postprocessing Settings files.
  • CompileAnimgraph - For use with Animation Graph files.

(removed since Counter-Strike 2):

  • CompileAnimation - For use with Animation files.
  • CompileAnimGroup - For use with Animation Group files.
  • CompileChoreoSceneFileData - For use with Choreo Data List files.
  • CompileSequence - For use with Sequence Group files.
  • CompileRenderMesh - For use with Mesh files.
  • CompileRenderMesh2 - Found in Half-Life: Alyx resourcecompiler.dll [Todo]
  • CompileVPhysXData - For use with Physics Collision Mesh files.
  • CompileMorph - For use with MorphSet files.

(only in Counter-Strike 2):

  • CompileVCompMat - For use with Composite Material Kit files.
  • CompileCS2EconItem - For use with CS2 Economy Item files.

m_AutoTags

(removed since Counter-Strike 2)

An array of objects specifying tags to automatically apply to assets of this type.

Each object can have the following properties:

m_ID  <string>
The ID of this tag. Usually specified as @<file_ext>_<name>.
m_Icon  <string>
The icon to show next to this tag.
m_Name  <string>
The display name of this tag.
m_Description  <string>
The description of this tag.

m_Filter

An object specifying the filter associated with this tag.

m_Name  <string>
The filter name.
m_FilterFunc  <string>
The name of the function that should be applied by this filter.
Known values
  • ASSET_FILTER_EQUAL
  • ASSET_FILTER_GREATER
m_Value  <string>
The value of this filter.[Todo]

m_EngineCommands

An array of objects specifying engine commands that are available to execute for this asset type.

Note.pngNote: In games before Counter-Strike 2 this is instead an <array:string> of commands, where %m refers to the current asset.
m_Command  <string>
The command to execute. %r is the asset.
m_Icon  <string>
The icon to show for this command.
m_Description  <string>
The description of this command.
m_bBringEngineToFront  <boolean>
Whether to bring the engine window to the front after executing the command.

m_Blocks

An array of objects specifying blocks related to this type.

Todo: What does this do?
m_ResourceVersion  <string>
The resource version for this block.
Known versions
  • 0
  • 1
  • 2
  • 3
  • 4
  • 5
m_BlockID  <string>
The block ID.
Known values
  • DATA
  • CTRL - Control block
  • MDAT - Mesh Data
  • MBUF - Mesh vbib
  • MVTX - Mesh vertex buffer
  • MIDX - Mesh index buffer
  • MADJ - Mesh adjacency buffer
  • MSLT - Meshlet triangle buffer
  • DSTF - Distance field
  • TBUF - Tools vb of unused attributes
  • MRPH - Morph
  • ASEQ - Anim sequence
  • AGRP - Anim group
  • ANIM - Anim data
  • PHYS - Physics data
  • VXVS
  • SNAP
  • StCo
  • LaCo
  • SrMa
m_Encoding  <string>
The block encoding.
Known values
  • RESOURCE_ENCODING_INVALID
  • RESOURCE_ENCODING_TEXT
  • RESOURCE_ENCODING_KV3
  • RESOURCE_ENCODING_VTEX
  • RESOURCE_ENCODING_VSNAP
  • RESOURCE_ENCODING_MBUF
  • RESOURCE_ENCODING_MVTX
  • RESOURCE_ENCODING_MIDX
  • RESOURCE_ENCODING_MSLT
  • RESOURCE_ENCODING_VRMAN
  • RESOURCE_ENCODING_INTROSPECTED
  • RESOURCE_ENCODING_LEGACY_VSND
  • RESOURCE_ENCODING_RAW_BYTES
  • RESOURCE_ENCODING_COMPILEIMAGEUTILS_TEXT
  • RESOURCE_ENCODING_COUNT
m_IntrospectedRootStruct  <string>
When the encoding is RESOURCE_ENCODING_INTROSPECTED, this is the root struct. [Todo]
Known values
  • MorphSetData_t
  • SequenceGroupResourceData_t
  • AnimationGroupResourceData_t
  • AnimationResourceData_t
  • VPhysXAggregateData_t

subassettypes

(in all games since Counter-Strike 2)[confirm]

An object of objects declaring subasset types.

Todo: What is this for?
Known object names
  • soundevent
  • anim
  • surface_prop
  • particle_operator
  • particle_feature
  • model_key
  • collision_prop

Each object can have the following properties:

m_bFollowReferences  <boolean>
[Todo]

m_DefaultFilter

(removed since Counter-Strike 2)

An object containing properties about default filters. [Todo]

m_Filters

An array containing the filters to apply. [Todo]