Skip to content

CSmartPropElement_PlaceInSphere

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

Kind: classSize: 800 bytes (0x320)Alignment: 8 bytesModule: smartpropsBinary: !GlobalTypes

Metadata: MPropertyDescription An element which places multiple instances of its child elements within a radius. MPropertyFriendlyName Place In Radius

Relationships

Inherits from: CSmartPropElement_Group

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

Memory layout

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

CSmartPropElementCSmartPropElement_GroupCSmartPropElement_PlaceInSphere

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_PlacementModeCSmartPropAttributeRadiusPlacementModeMPropertyDescription Specifies how the positions are computed based on the radius.
0xe0m_DistributionModeCSmartPropAttributeDistributionModeMPropertyDescription Specifies the method to be used to distribute.
0x120m_flRandomnessCSmartPropAttributeFloatMPropertyDescription 0 to 1 value indicating the amout of random offset that should be applied to the reguluarly spaced positions MPropertySuppressExpr m_DistributionMode == RANDOM
0x160m_vPlaneUpDirectionCSmartPropAttributeVectorMPropertyDescription Vector up direction of the plane of the circle. This in the local space of the current element. MPropertySuppressExpr m_PlacementMode == SPHERE
0x1a0m_nCountMinCSmartPropAttributeIntMPropertyDescription Minimum number of instances of this object and its children to be placed.
0x1e0m_nCountMaxCSmartPropAttributeIntMPropertyDescription Maximum number of instances of this object and its children to be placed.
0x220m_flPositionRadiusInnerCSmartPropAttributeFloatMPropertyDescription Inner radius from the placement position where the model can appear.
0x260m_flPositionRadiusOuterCSmartPropAttributeFloatMPropertyDescription Outer radius from the placement position where the model can appear.
0x2a0m_bAlignOrientationCSmartPropAttributeBoolMPropertyDescription Align the initial orientation of each placed object based on it position on the sphere or circle.
0x2e0m_vAlignDirectionCSmartPropAttributeVectorMPropertyDescription Vector in the local space of the child element to be aligned with sphere or circle MPropertyReadonlyExpr m_bAlignOrientation == false
KV3 class defaults
{
	"_class": "CSmartPropElement_PlaceInSphere",
	"m_nElementID": -1,
	"m_bEnabled": true,
	"m_sLabel": "",
	"m_SelectionCriteria":
	[
	],
	"m_Modifiers":
	[
	],
	"m_Children":
	[
	],
	"m_PlacementMode": "SPHERE",
	"m_DistributionMode": "RANDOM",
	"m_flRandomness": 0.000000,
	"m_vPlaneUpDirection":
	[
		0.000000,
		0.000000,
		1.000000
	],
	"m_nCountMin": 1,
	"m_nCountMax": 1,
	"m_flPositionRadiusInner": 0.000000,
	"m_flPositionRadiusOuter": 0.000000,
	"m_bAlignOrientation": false,
	"m_vAlignDirection":
	[
		0.000000,
		0.000000,
		1.000000
	]
}