---
title: FoveatedStreamingSession.MessageChannel
framework: foveatedstreaming
role: symbol
role_heading: Class
path: foveatedstreaming/foveatedstreamingsession/messagechannel
---

# FoveatedStreamingSession.MessageChannel

A bidirectional channel for sending and receiving custom data.

## Declaration

```swift
class MessageChannel
```

## Overview

Overview Use message channels to communicate with the application streaming foveated content to your visionOS app. You can send data with the sendMessage(_:) function and receive data through the receivedMessageStream async stream.

## Topics

### Structures

- [FoveatedStreamingSession.MessageChannel.ID](foveatedstreaming/foveatedstreamingsession/messagechannel/id-swift.struct.md)

### Instance Properties

- [channelStatus](foveatedstreaming/foveatedstreamingsession/messagechannel/channelstatus-swift.property.md)
- [id](foveatedstreaming/foveatedstreamingsession/messagechannel/id-swift.property.md)
- [receivedMessageStream](foveatedstreaming/foveatedstreamingsession/messagechannel/receivedmessagestream.md)

### Instance Methods

- [disconnect()](foveatedstreaming/foveatedstreamingsession/messagechannel/disconnect().md)
- [sendMessage(_:)](foveatedstreaming/foveatedstreamingsession/messagechannel/sendmessage(_:).md)

### Enumerations

- [FoveatedStreamingSession.MessageChannel.ChannelStatus](foveatedstreaming/foveatedstreamingsession/messagechannel/channelstatus-swift.enum.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [Escapable](swift/escapable.md)
- [Identifiable](swift/identifiable.md)
- [Observable](observation/observable.md)
