---
title: HasSynchronization
framework: realitykit
role: symbol
role_heading: Protocol
path: realitykit/hassynchronization
---

# HasSynchronization

An interface that enables an entity to be synchronized between processes and networked applications.

## Declaration

```swift
@MainActor @preconcurrency protocol HasSynchronization : Entity
```

## Overview

Overview All entities automatically adopt this protocol because the Entity base class does. This adoption gives all entities a SynchronizationComponent instance, and a collection of methods for manipulating the component, that you use to manage ownership of the entity.

## Topics

### Accessing the component

- [synchronization](realitykit/hassynchronization/synchronization.md)

### Managing ownership

- [isOwner](realitykit/hassynchronization/isowner.md)
- [requestOwnership(timeout:_:)](realitykit/hassynchronization/requestownership(timeout:_:).md)

### Making local changes

- [withUnsynchronized(_:)](realitykit/hassynchronization/withunsynchronized(_:).md)

## Relationships

### Inherits From

- [Entity](realitykit/entity.md)

### Conforming Types

- [AnchorEntity](realitykit/anchorentity.md)
- [BodyTrackedEntity](realitykit/bodytrackedentity.md)
- [DirectionalLight](realitykit/directionallight.md)
- [Entity](realitykit/entity.md)
- [ModelEntity](realitykit/modelentity.md)
- [PerspectiveCamera](realitykit/perspectivecamera.md)
- [PointLight](realitykit/pointlight.md)
- [SpotLight](realitykit/spotlight.md)
- [TriggerVolume](realitykit/triggervolume.md)
- [ViewAttachmentEntity](realitykit/viewattachmententity.md)

## See Also

### Entity ownership synchronization

- [SynchronizationService](realitykit/synchronizationservice.md)
- [SynchronizationService.Identifier](realitykit/synchronizationservice/identifier.md)
- [SynchronizationPeerID](realitykit/synchronizationpeerid.md)
- [SynchronizationComponent](realitykit/synchronizationcomponent.md)
- [SynchronizationComponent.OwnershipTransferMode](realitykit/synchronizationcomponent/ownershiptransfermode-swift.enum.md)
- [SynchronizationComponent.OwnershipTransferCompletionResult](realitykit/synchronizationcomponent/ownershiptransfercompletionresult.md)
- [SynchronizationEvents](realitykit/synchronizationevents.md)
