---
title: availableMessageChannels
framework: foveatedstreaming
role: symbol
role_heading: Instance Property
path: foveatedstreaming/foveatedstreamingsession/availablemessagechannels
---

# availableMessageChannels

A list of all available message channels in this session.

## Declaration

```swift
@MainActor final var availableMessageChannels: Set<FoveatedStreamingSession.MessageChannel.ID> { get }
```

## Discussion

Discussion Observe this property to know when the endpoint creates a new message channel. Message channels can only be initialized by the endpoint. For example, you can observe the available message channels by employing withObservationTracking(_:onChange:). @MainActor private func monitorAvailableChannels() {     withObservationTracking {         for channelId in session.availableMessageChannels {             // Get the message channel.         }     } onChange: {         Task { @MainActor in             self.monitorAvailableChannels()         }     } }
