Skip to content

CSmartPropElement_Model

CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json

Kind: classSize: 784 bytes (0x310)Alignment: 8 bytesModule: smartpropsBinary: !GlobalTypes

Metadata: MPropertyDescription Places a model as the child of an element. MPropertyFriendlyName Model MVDataOutlinerAssetNameExpr

Relationships

Inherits from: CSmartPropElement

Inheritance tree
Relationship diagram (1 edges)
classDiagram
    CSmartPropElement <|-- CSmartPropElement_Model
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

16 fields, 11 declared here and 5 inherited. Offsets are absolute from the object base on windows-x86_64.

CSmartPropElementCSmartPropElement_Model

OffsetFieldTypeFromAnnotations
0x8m_nElementIDint32CSmartPropElementMPropertySuppressField MVDataUniqueMonotonicInt _editor/next_element_id
0x10m_bEnabledCSmartPropAttributeBoolCSmartPropElementMPropertyDescription Is this element enabled? If not enabled, this element will not be evaluted and will have no effect on the result. MPropertySortPriority 10 MVDataEnableKey
0x50m_sLabelCUtlStringCSmartPropElementMPropertyDescription Optional text that will appear in the outliner to help organize Smart Prop elements and communicate their purpose to other users. MPropertyFriendlyName Label
0x58m_SelectionCriteriaCUtlVector< CSmartPropSelectionCriteria* >CSmartPropElementMPropertyFriendlyName Selection Criteria MVDataPromoteField 2
0x70m_ModifiersCUtlVector< CSmartPropModifier* >CSmartPropElementMPropertyFriendlyName Modifiers MVDataPromoteField 2
0x88m_sModelNameCSmartPropAttributeModelNameMPropertyDescription Name of the model resource (.vmdl) to place. MPropertyProvidesEditContextString ToolEditContext_ID_VMDL
0xc8m_MaterialGroupNameCSmartPropAttributeMaterialGroupMPropertyDescription Specifies the name of the material group (skin) to use when displaying the specified model. MPropertyFriendlyName Material Group
0x108m_bDetailObjectCSmartPropAttributeBoolMPropertyDescription If enabled the model will be rendered as a detail object, which is faster for placing many small objects and has fade out functionality, but may have different lighting characteristics. Detail object models support only uniform scale and will use the largest component of the scale value.
0x148m_vModelScaleCSmartPropAttributeVectorMPropertyDescription Scale factor (may be non-uniform) to be applied directly to the model (in the model's local space). MPropertySuppressExpr m_bDetailObject == true
0x188m_flUniformModelScaleCSmartPropAttributeFloatMPropertyDescription Uniform scale to be applied to the model, certain properties like detail object mean only uniform scale may be applied to the model. MPropertyFriendlyName Model Scale MPropertySuppressExpr m_bDetailObject == false
0x1c8m_nLodLevelCSmartPropAttributeIntMPropertyAttributeEditor SmartPropAttributeEditor( LODLevel ) MPropertyDescription Select model LOD level. The default Auto LOD means the lod will be picked based on the size of the model on screen. If a specific level is selected, then that lod level will always be used regardless of the size of the model on screen. MPropertySuppressExpr m_bDetailObject == true
0x208m_SurfacePropertyOverrideCSmartPropAttributeSurfacePropertyMPropertyDescription If non-empty, specifies the name of a surface property to use for all physics shapes of the specified model, overriding any surface properties specified within the model. MPropertyFriendlyName Override Surface Property MPropertySuppressExpr m_bDetailObject == true
0x248m_nDetailObjectFadeLevelSmartPropDetailFadeLevel_tMPropertyDescription Controls the size at which a model marked as a detail object will fade out. MPropertyFriendlyName Fade Level MPropertySuppressExpr m_bDetailObject == false
0x250m_bCastShadowsCSmartPropAttributeBoolMPropertyDescription Should the model cast shadows. MPropertyFriendlyName Cast Shadows
0x290m_bRigidDeformationCSmartPropAttributeBoolMPropertyDescription If enabled, only the transform of the model will be modified by any active deformer, the vertices of the model will not be changed by the deformer. MPropertyFriendlyName Rigid Deformation Only MPropertySuppressExpr m_bDetailObject == true
0x2d0m_bDisableDynamicDeformableCSmartPropAttributeBoolMPropertyDescription If checked, this model will not deform in game when the smart prop is placed inside a dynamic deformable entity (such as func_deformable_brush). MPropertyFriendlyName Disable Dynamic Deformable MPropertySuppressExpr m_bDetailObject == true
KV3 class defaults
{
	"_class": "CSmartPropElement_Model",
	"m_nElementID": -1,
	"m_bEnabled": true,
	"m_sLabel": "",
	"m_SelectionCriteria":
	[
	],
	"m_Modifiers":
	[
	],
	"m_sModelName": "",
	"m_MaterialGroupName": "",
	"m_bDetailObject": false,
	"m_vModelScale":
	[
		1.000000,
		1.000000,
		1.000000
	],
	"m_flUniformModelScale": 1.000000,
	"m_nLodLevel": -1,
	"m_SurfacePropertyOverride": "",
	"m_nDetailObjectFadeLevel": "NORMAL",
	"m_bCastShadows": true,
	"m_bRigidDeformation": false,
	"m_bDisableDynamicDeformable": false
}