<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "visionOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "GroupActivities",
  "identifier" : "/documentation/GroupActivities/SpatialTemplateElement",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "Group Activities"
    ],
    "preciseIdentifier" : "s:15GroupActivities22SpatialTemplateElementP"
  },
  "title" : "SpatialTemplateElement"
}
-->

# SpatialTemplateElement

An interface that defines an element in your spatial template.

```
protocol SpatialTemplateElement : Hashable, Sendable
```

## Overview

A type that adopts the [`SpatialTemplateElement`](/documentation/GroupActivities/SpatialTemplateElement) protocol defines the
location and orientation of a participant in a group activity. You don’t
adopt this protocol directly in your custom types. Instead, you use types
that adopt this protocol to retrieve the corresponding details.

## Topics

### Creating a seat position

[`static func seat(position: SpatialTemplateElementPosition, direction: SpatialTemplateElementDirection, role: (any SpatialTemplateRole)?) -> Self`](/documentation/GroupActivities/SpatialTemplateElement/seat(position:direction:role:))

Creates a seat element with the specified position, direction,
and role information.

### Getting the element details

[`var position: SpatialTemplateElementPosition`](/documentation/GroupActivities/SpatialTemplateElement/position)

The location of the element in the shared coordinate space.

[`var direction: SpatialTemplateElementDirection`](/documentation/GroupActivities/SpatialTemplateElement/direction)

The initial orientation of the element in the shared coordinate
space.

[`var role: (any SpatialTemplateRole)?`](/documentation/GroupActivities/SpatialTemplateElement/role)

An optional role you associate with this element.

## Relationships

### Inherits From

[`Hashable`](/documentation/Swift/Hashable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

[`Equatable`](/documentation/Swift/Equatable)

### Conforming Types

[`SpatialTemplateSeatElement`](/documentation/GroupActivities/SpatialTemplateSeatElement)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)