Skip to content

CSmartPropElement_PickOne

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

Kind: classSize: 560 bytes (0x230)Alignment: 8 bytesModule: smartpropsBinary: !GlobalTypes

Metadata: MPropertyDescription An element which selects a single choice from its set of child choices. MPropertyFriendlyName Select Single Child

Relationships

Inherits from: CSmartPropElement_Group

Inheritance tree
Relationship diagram (3 edges)
classDiagram
    CSmartPropElement <|-- CSmartPropElement_Group
    CSmartPropElement_Group <|-- CSmartPropElement_PickOne
    CSmartPropElement_PickOne *-- CSmartPropAttributeChoiceSelectionMode
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

14 fields, 8 declared here and 6 inherited. Offsets are absolute from the object base on windows-x86_64.

CSmartPropElementCSmartPropElement_GroupCSmartPropElement_PickOne

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_ChildrenCUtlVector< CSmartPropElement* >CSmartPropElement_GroupMPropertyDescription List of child elements which will appear if this element appears MPropertyFriendlyName Children MVDataPromoteField 1
0xa0m_SelectionModeCSmartPropAttributeChoiceSelectionModeMPropertyDescription Specifies how the initial selection of a choice should be handled.
0xe0m_SpecificChildIndexCSmartPropAttributeIntMPropertyDescription Specifies the index of the child to pick. MPropertyFriendlyName Specific Child MPropertySuppressExpr ( m_SelectionMode != SPECIFIC )
0x120m_OutputChoiceVariableNameCUtlStringMPropertyAttributeEditor SmartPropItemNameEditor( Variable:Integer ) MPropertyDescription If a variable name is specified, sets the value of that variable to the index of the selected choice MPropertyFriendlyName Choice Output Variable
0x128m_bConfigurableCSmartPropAttributeBoolMPropertyDescription Should a control to select the specific choice be shown when this prop is placed in Hammer.
0x168m_vHandleOffsetCSmartPropAttributeVectorMPropertyDescription Specifies an offset in the local space of the element to apply to the configuration handle. MPropertyGroupName Handle Settings MPropertyReadonlyExpr m_bConfigurable == false
0x1a8m_HandleColorCSmartPropAttributeColorMPropertyDescription Color to use to display the configuration handle. MPropertyGroupName Handle Settings MPropertyReadonlyExpr m_bConfigurable == false
0x1e8m_HandleSizeCSmartPropAttributeIntMPropertyDescription Size of the configuration handle. MPropertyGroupName Handle Settings MPropertyReadonlyExpr m_bConfigurable == false
0x228m_HandleShapeConfigurationHandleShape_tMPropertyDescription Shape of the configuration handle to display. MPropertyGroupName Handle Settings MPropertyReadonlyExpr m_bConfigurable == false
KV3 class defaults
{
	"_class": "CSmartPropElement_PickOne",
	"m_nElementID": -1,
	"m_bEnabled": true,
	"m_sLabel": "",
	"m_SelectionCriteria":
	[
	],
	"m_Modifiers":
	[
	],
	"m_Children":
	[
	],
	"m_SelectionMode": "RANDOM",
	"m_SpecificChildIndex": 0,
	"m_OutputChoiceVariableName": "",
	"m_bConfigurable": true,
	"m_vHandleOffset":
	[
		0.000000,
		0.000000,
		0.000000
	],
	"m_HandleColor":
	[
		144,
		144,
		144
	],
	"m_HandleSize": 9,
	"m_HandleShape": "SQUARE"
}