---
title: SpatialTemplateElement
framework: groupactivities
role: symbol
role_heading: Protocol
path: groupactivities/spatialtemplateelement
---

# SpatialTemplateElement

An interface that defines an element in your spatial template.

## Declaration

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

## Overview

Overview A type that adopts the 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

- [seat(position:direction:role:)](groupactivities/spatialtemplateelement/seat(position:direction:role:).md)

### Getting the element details

- [position](groupactivities/spatialtemplateelement/position.md)
- [direction](groupactivities/spatialtemplateelement/direction.md)
- [role](groupactivities/spatialtemplateelement/role.md)

## Relationships

### Inherits From

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

### Conforming Types

- [SpatialTemplateSeatElement](groupactivities/spatialtemplateseatelement.md)

## See Also

### Custom spatial templates

- [Building a guessing game for visionOS](groupactivities/building-a-guessing-game-for-visionos.md)
- [SpatialTemplate](groupactivities/spatialtemplate.md)
- [SpatialTemplatePreference](groupactivities/spatialtemplatepreference.md)
- [SpatialTemplateSeatElement](groupactivities/spatialtemplateseatelement.md)
- [SpatialTemplateElementPosition](groupactivities/spatialtemplateelementposition.md)
- [SpatialTemplateElementDirection](groupactivities/spatialtemplateelementdirection.md)
- [SpatialTemplateRole](groupactivities/spatialtemplaterole.md)
