CSmartPropElement_PlaceOnPath
CS2 build 25218825 · Steam date 2026-09-09 · platform windows-x86_64 · cs2_schema.json
Kind: classSize: 768 bytes (0x300)Alignment: 8 bytesModule: smartpropsBinary: !GlobalTypes
Metadata: MPropertyDescription An element which places an instance of its child elements at a specified interval along a path. MPropertyFriendlyName Place on Path
Relationships
Inherits from: CSmartPropElement_Group
Inheritance tree
CSmartPropElement
CSmartPropElement_Group
- CSmartPropElement_PlaceOnPath
Relationship diagram (3 edges)
classDiagram
CSmartPropElement <|-- CSmartPropElement_Group
CSmartPropElement_Group <|-- CSmartPropElement_PlaceOnPath
CSmartPropElement_PlaceOnPath *-- CSmartPropAttributeCoordinateSpaceMemory layout
17 fields, 11 declared here and 6 inherited. Offsets are absolute from the object base on windows-x86_64.
CSmartPropElementCSmartPropElement_GroupCSmartPropElement_PlaceOnPath
| 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_Children | CUtlVector< CSmartPropElement* > | CSmartPropElement_Group | MPropertyDescription List of child elements which will appear if this element appears MPropertyFriendlyName Children MVDataPromoteField 1 |
0xa0 | m_PathName | CUtlString | MPropertyDescription Name of the path to use. This path name will show up in the property editor when selecting a placement of this smart prop in Hammer, allowing selection of a path object in the map to use. | |
0xa8 | m_flSpacing | CSmartPropAttributeFloat | MPropertyDescription Spacing between points on the path | |
0xe8 | m_flOffsetAlongPath | CSmartPropAttributeFloat | MPropertyDescription Offset from the start of the path to place the first point. | |
0x128 | m_vPathOffset | CSmartPropAttributeVector2D | MPropertyDescription Offset to apply to the path, specifies a horizontal and vertical offset to apply relative to the up direction. MPropertyFriendlyName Offset from path | |
0x168 | m_PathSpace | CSmartPropAttributeCoordinateSpace | MPropertyDescription Specifies the space in which the provided input path is to be evalauted.<br><br><b>World Space</b>: The input path will be evaluated in world space, such that child elements will be placed directly on the target path regardless of the transform of the smart prop object. <br><b>Object Space</b>: The world space transform of the input path will be ignored and instead the path will be evaluated relative to the transform of the smart prop object. <br><b>Element Space</b>: The world space transform of the input path will be ignored and instead the path will be evaluated relative to the transform of the current element within the smart prop. MPropertyFriendlyName Path Evaluation Space | |
0x1a8 | m_bUseFixedUpDirection | CSmartPropAttributeBool | MPropertyDescription If true, treat the specified up direction as fixed up direction to apply to all elements placed on the path. If false the up direction is just an initial direction. | |
0x1e8 | m_bUseProjectedDistance | CSmartPropAttributeBool | MPropertyDescription Compute the spacing distance in the 2d plane defined by the up direction. Most useful when using a fixed up direction, if maintaining a distance in the 2d plane is more important than maintaing distance along the path. | |
0x228 | m_vUpDirection | CSmartPropAttributeVector | MPropertyDescription If not using a fixed up direction, provides an initial up direction which will be used to determine the orientation of first element on the path, after that the elements will incrementally update to follow the path and may not match this direction. If Use Fixed Up direction is specified, then all elements will use this direction to deterime their up direction. | |
0x268 | m_UpDirectionSpace | CSmartPropAttributeCoordinateSpace | MPropertyDescription Space in which the up direction is defined. | |
0x2a8 | m_DefaultPathInWorldSpace | CSmartPropAttributeBool | MPropertyDescription If enabled, the default path values will be treated as world space values, if disabled they are treated as object space values. Typically it makes sense for literal values to be treated as being in object space, but if the values are being supplied by locators they will typically be in world space. MPropertyFriendlyName Default Path In World Space | |
0x2e8 | m_DefaultPath | CUtlVector< CSmartPropAttributeVector > | MPropertyDescription A set of points defining a path to use when an external path isn't specified. This will be used in the preview and thumbnail for the smart prop. It will also be used when the smart prop is placed in Hammer before a path is selected. |
KV3 class defaults
{
"_class": "CSmartPropElement_PlaceOnPath",
"m_nElementID": -1,
"m_bEnabled": true,
"m_sLabel": "",
"m_SelectionCriteria":
[
],
"m_Modifiers":
[
],
"m_Children":
[
],
"m_PathName": "",
"m_flSpacing": 1.000000,
"m_flOffsetAlongPath": 0.000000,
"m_vPathOffset":
[
0.000000,
0.000000
],
"m_PathSpace": "WORLD",
"m_bUseFixedUpDirection": false,
"m_bUseProjectedDistance": false,
"m_vUpDirection":
[
0.000000,
0.000000,
1.000000
],
"m_UpDirectionSpace": "WORLD",
"m_DefaultPathInWorldSpace": false,
"m_DefaultPath":
[
]
}