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
CSmartPropElement
- CSmartPropElement_Model
Relationship diagram (1 edges)
classDiagram
CSmartPropElement <|-- CSmartPropElement_ModelMemory layout
16 fields, 11 declared here and 5 inherited. Offsets are absolute from the object base on windows-x86_64.
CSmartPropElementCSmartPropElement_Model
| Offset | Field | Type | From | Annotations |
|---|---|---|---|---|
0x8 | m_nElementID | int32 | CSmartPropElement | MPropertySuppressField MVDataUniqueMonotonicInt _editor/next_element_id |
0x10 | m_bEnabled | CSmartPropAttributeBool | CSmartPropElement | MPropertyDescription Is this element enabled? If not enabled, this element will not be evaluted and will have no effect on the result. MPropertySortPriority 10 MVDataEnableKey |
0x50 | m_sLabel | CUtlString | CSmartPropElement | MPropertyDescription Optional text that will appear in the outliner to help organize Smart Prop elements and communicate their purpose to other users. MPropertyFriendlyName Label |
0x58 | m_SelectionCriteria | CUtlVector< CSmartPropSelectionCriteria* > | CSmartPropElement | MPropertyFriendlyName Selection Criteria MVDataPromoteField 2 |
0x70 | m_Modifiers | CUtlVector< CSmartPropModifier* > | CSmartPropElement | MPropertyFriendlyName Modifiers MVDataPromoteField 2 |
0x88 | m_sModelName | CSmartPropAttributeModelName | MPropertyDescription Name of the model resource (.vmdl) to place. MPropertyProvidesEditContextString ToolEditContext_ID_VMDL | |
0xc8 | m_MaterialGroupName | CSmartPropAttributeMaterialGroup | MPropertyDescription Specifies the name of the material group (skin) to use when displaying the specified model. MPropertyFriendlyName Material Group | |
0x108 | m_bDetailObject | CSmartPropAttributeBool | MPropertyDescription 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. | |
0x148 | m_vModelScale | CSmartPropAttributeVector | MPropertyDescription Scale factor (may be non-uniform) to be applied directly to the model (in the model's local space). MPropertySuppressExpr m_bDetailObject == true | |
0x188 | m_flUniformModelScale | CSmartPropAttributeFloat | MPropertyDescription 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 | |
0x1c8 | m_nLodLevel | CSmartPropAttributeInt | MPropertyAttributeEditor 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 | |
0x208 | m_SurfacePropertyOverride | CSmartPropAttributeSurfaceProperty | MPropertyDescription 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 | |
0x248 | m_nDetailObjectFadeLevel | SmartPropDetailFadeLevel_t | MPropertyDescription Controls the size at which a model marked as a detail object will fade out. MPropertyFriendlyName Fade Level MPropertySuppressExpr m_bDetailObject == false | |
0x250 | m_bCastShadows | CSmartPropAttributeBool | MPropertyDescription Should the model cast shadows. MPropertyFriendlyName Cast Shadows | |
0x290 | m_bRigidDeformation | CSmartPropAttributeBool | MPropertyDescription 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 | |
0x2d0 | m_bDisableDynamicDeformable | CSmartPropAttributeBool | MPropertyDescription 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
}