Skip to content

CSmartPropElement_Layout2DGrid

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

Kind: classSize: 928 bytes (0x3a0)Alignment: 8 bytesModule: smartpropsBinary: !GlobalTypes

Metadata: MPropertyDescription Generates set of child instances arranged in a regular grid layout. MPropertyFriendlyName Layout Grid

Relationships

Inherits from: CSmartPropElement_Group

Inheritance tree
Relationship diagram (4 edges)
classDiagram
    CSmartPropElement <|-- CSmartPropElement_Group
    CSmartPropElement_Group <|-- CSmartPropElement_Layout2DGrid
    CSmartPropElement_Layout2DGrid *-- CSmartPropAttributeGridPlacementMode
    CSmartPropElement_Layout2DGrid *-- CSmartPropAttributeGridOriginMode
Inheritance chain, direct subclasses (up to 20) and a few composition edges

Memory layout

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

CSmartPropElementCSmartPropElement_GroupCSmartPropElement_Layout2DGrid

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_flWidthCSmartPropAttributeFloatMPropertyAttributeRange biased 0 4096 MPropertyDescription Overall grid dimension along X axis.
0xe0m_flLengthCSmartPropAttributeFloatMPropertyAttributeRange biased 0 4096 MPropertyDescription Overall grid dimension along Y axis.
0x120m_bVerticalLengthCSmartPropAttributeBoolMPropertyDescription Layout length vertically (Along Z axis instead of Y).
0x160m_GridArrangementCSmartPropAttributeGridPlacementModeMPropertyDescription ARRAY: Grid is a specific number of grid divisions. FILL: The boundary is filled with as many as will fit at the specified cell spacing.
0x1a0m_GridOriginModeCSmartPropAttributeGridOriginModeMPropertyDescription Specifies the overall grid origin location. Corner origin grids default to quadrant I, but may be expressed in others using negative values for Width and/or Length.
0x1e0m_nCountWCSmartPropAttributeIntMPropertyAttributeRange 1 64 MPropertyDescription Grid segments along width axis. MPropertySuppressExpr m_GridArrangement == FILL
0x220m_nCountLCSmartPropAttributeIntMPropertyAttributeRange 1 64 MPropertyDescription Grid segments along Length axis. MPropertySuppressExpr m_GridArrangement == FILL
0x260m_flSpacingWidthCSmartPropAttributeFloatMPropertyAttributeRange biased 0 1024 MPropertyDescription Minimum Width of filled grid cells. MPropertySuppressExpr m_GridArrangement == SEGMENT
0x2a0m_flSpacingLengthCSmartPropAttributeFloatMPropertyAttributeRange biased 0 1024 MPropertyDescription Minimum Length of filled grid cells. MPropertySuppressExpr m_GridArrangement == SEGMENT
0x2e0m_bAlternateShiftCSmartPropAttributeBoolMPropertyDescription Shifts every other cell row and/or column. MPropertySuppressExpr m_GridArrangement == FILL
0x320m_flAlternateShiftWidthCSmartPropAttributeFloatMPropertyAttributeRange biased 0 1024 MPropertyDescription Vary cell shift in X. MPropertySuppressExpr m_GridArrangement == FILL || m_bAlternateShift == false
0x360m_flAlternateShiftLengthCSmartPropAttributeFloatMPropertyAttributeRange biased 0 1024 MPropertyDescription Vary cell shift in Y. MPropertySuppressExpr m_GridArrangement == FILL || m_bAlternateShift == false
KV3 class defaults
{
	"_class": "CSmartPropElement_Layout2DGrid",
	"m_nElementID": -1,
	"m_bEnabled": true,
	"m_sLabel": "",
	"m_SelectionCriteria":
	[
	],
	"m_Modifiers":
	[
	],
	"m_Children":
	[
	],
	"m_flWidth": 100.000000,
	"m_flLength": 100.000000,
	"m_bVerticalLength": false,
	"m_GridArrangement": "SEGMENT",
	"m_GridOriginMode": "CENTER",
	"m_nCountW": 5,
	"m_nCountL": 5,
	"m_flSpacingWidth": 20.000000,
	"m_flSpacingLength": 20.000000,
	"m_bAlternateShift": false,
	"m_flAlternateShiftWidth": 0.500000,
	"m_flAlternateShiftLength": 0.000000
}