---
title: FoveatedStreamingExtension
framework: Foveated Streaming
role: symbol
role_heading: Protocol
platforms: [visionOS 27.0+]
path: foveatedstreaming/foveatedstreamingextension
---

# FoveatedStreamingExtension

A foveated streaming provider extension.

## Declaration

```swift
@MainActor protocol FoveatedStreamingExtension : AnyObject, AppExtension
```

## Overview

Overview Foveated streaming providers are a system extension that allows developers to use your custom protocol with a FoveatedStreamingSession. Foveated streaming providers require the com.apple.developer.foveated-streaming-provider entitlement. @main final class MyStreamingProvider: FoveatedStreamingExtension {     func connect(context: Context) async throws { /* ... */ }     func disconnect() async throws { /* ... */ }     func openMessageChannel(_ channel: MessageChannel) throws { /* ... */ }     var immersiveScene: some View { /* ... */ } }

## Topics

### Associated Types

- [Content](foveatedstreaming/foveatedstreamingextension/content.md)

### Instance Properties

- [immersiveScene](foveatedstreaming/foveatedstreamingextension/immersivescene.md)

### Instance Methods

- [connect(context:)](foveatedstreaming/foveatedstreamingextension/connect(context:).md)
- [disconnect()](foveatedstreaming/foveatedstreamingextension/disconnect().md)
- [openMessageChannel(_:)](foveatedstreaming/foveatedstreamingextension/openmessagechannel(_:).md)

### Type Aliases

- [FoveatedStreamingExtension.Context](foveatedstreaming/foveatedstreamingextension/context.md)
- [FoveatedStreamingExtension.Endpoint](foveatedstreaming/foveatedstreamingextension/endpoint.md)
- [FoveatedStreamingExtension.FocusRegion](foveatedstreaming/foveatedstreamingextension/focusregion.md)
- [FoveatedStreamingExtension.MessageChannel](foveatedstreaming/foveatedstreamingextension/messagechannel.md)
- [FoveatedStreamingExtension.Status](foveatedstreaming/foveatedstreamingextension/status.md)

## Relationships

### Inherits From

- [AppExtension](extensionfoundation/appextension.md)
