CSmartPropElement_SmartProp
CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json
Kind: classSize: 368 bytes (0x170)Alignment: 8 bytesModule: smartpropsBinary: !GlobalTypes
Metadata: MPropertyDescription Evaluates a specified smart prop as a child of the current element. MPropertyFriendlyName Smart Prop Reference MVDataOutlinerAssetNameExpr
Relationships
Inherits from: CSmartPropElement
Inheritance tree
CSmartPropElement
- CSmartPropElement_SmartProp
Relationship diagram (2 edges)
classDiagram
CSmartPropElement <|-- CSmartPropElement_SmartProp
CSmartPropElement_SmartProp *-- InfoForResourceTypeCSmartPropMemory layout
7 fields, 2 declared here and 5 inherited. Offsets are absolute from the object base on windows-x86_64.
CSmartPropElementCSmartPropElement_SmartProp
| 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_sSmartProp | CResourceNameTyped< CWeakHandle< InfoForResourceTypeCSmartProp > > | MPropertyDescription Name of the target smart prop resource (.vsmart) to evaluate. | |
0x168 | m_bLocalEvaluationState | bool | MPropertyDescription If enabled, any changes made to the evaluation state by the target smart prop (as well as modifiers) will only apply locally and will not affect the evaluation state of the parent. Disabling this will allow modifications to the evaluation state by the referenced smart prop to apply the current state of the of the parent. For example if the referenced smart prop applies a transform and you want the transform to affect the elements in the parent after this element, then you should disable local evaluation state. |
KV3 class defaults
{
"_class": "CSmartPropElement_SmartProp",
"m_nElementID": -1,
"m_bEnabled": true,
"m_sLabel": "",
"m_SelectionCriteria":
[
],
"m_Modifiers":
[
],
"m_sSmartProp": "",
"m_bLocalEvaluationState": true
}