This article relates to the game "Dota 2". Click here for more information.
This article relates to the workshop tools for "Dota 2". Click here for more information.
This article's documentation is for Source 2. Click here for more information.


From Valve Developer Community
Jump to: navigation, search

Meshes represent the render geometry of the model.


  • To toggle mesh display go Display > Polygons.



  • Meshes are accessible via the outliner, and are found under the Mesh List item.
  • Select a mesh item to edit in the Property Editor.

Data Structures

The vmdl hitbox data looks like this

CVmeshList m_meshList = CVmeshList
        CVmesh[] m_meshList = 


A list of CVmesh elements

Note.png Note: A vmdl can have multiple meshes. Mesh groups and LOD groups will refer to these meshes by name.


In a vmdl a mesh looks like this:

	string m_meshName = "test"
	string m_meshFile = "models/test/fbx/test.fbx"
	string m_materialSearchPath = ""
	bool m_bSkinParentedObjects = false
	bool m_bExpensiveTangents = false
	bool m_bExpensiveVertices = false
	CVmorphInfo* m_pMorphInfo = NULL

Attribute Friendly Name Description Type Default Value
m_meshName Mesh Name The name of the mesh string
m_meshFile Mesh File content relative path to the external mesh file string
m_materialSearchPath Material Search Path content relative path to an additional search path for materials string
m_bSkinParentedObjects Skin Parented Objects rigid bind meshes that are parented to other objects bool true
m_bExpensiveTangents Use Expensive Tangents Use uncompressed tangents when compiling bool false
m_bExpensiveVertices Use Expensive Vertex Welding Reduce the vertex weld threshold when compiling bool false
m_pMorphInfo Morph Info Override default morph compiling options CVmorphInfo*
Note.png Note: Expensive tangents and vertex welding may increase the visual look of the model in some cases, but will result in larger compiled meshes.
Note.png Note: Morph Info is not needed for the majority of models.