--- id: setup sidebar_position: 2 title: Setup --- Understanding Setup For `stream_chat_flutter` ### Add pub.dev dependency First, you need to add the `stream_chat_flutter` dependency to your `pubspec.yaml`. You can either run this command: ```shell flutter pub add stream_chat_flutter ``` OR Add this line in the dependencies section of your `pubspec.yaml` after substituting the latest version: ```yaml dependencies: stream_chat_flutter: ^latest_version ``` You can find the package details on [pub.dev](https://pub.dev/packages/stream_chat_flutter). ### Details On Platform Support As of v5, the`stream_chat_flutter` package (UI) added support for web, macOS, Windows, and Linux - on top of the original support for Android and iOS. It has, however, been possible to target desktop and web since Flutter added support for these platforms using the `stream_chat_flutter_core` (builder) and `stream_chat` (low-level client) packages - this remains unchanged. Please note that Flutter Web may have additional constraints due to not supporting all plugins that Stream Chat relies on. The respective plugin creators will address this over time. ### Setup This section provides setup instructions for the respective platforms. #### Android The package uses [photo_manager](https://pub.dev/packages/photo_manager) to access the device's photo library. Follow [this wiki](https://pub.dev/packages/photo_manager#android-10-q-29) to fulfill the Android requirements. #### iOS The library uses [flutter file picker plugin](https://github.com/miguelpruivo/flutter_file_picker) to pick files from the os. Follow [this wiki](https://github.com/miguelpruivo/flutter_file_picker/wiki/Setup#ios) to fulfill iOS requirements. Stream Chat also uses the [video_player](https://pub.dev/packages/video_player) package to play videos. Follow [this guide](https://pub.dev/packages/video_player#installation) to fulfill the requirements. Stream Chat uses the [image_picker](https://pub.dev/packages/image_picker) plugin. Follow [these instructions](https://pub.dev/packages/image_picker#ios) to check the requirements. #### Web For the web, edit your `index.html` and add the following in the `` tag to allow the SDK to override the right-click behavior: ```html ``` #### macOS For macOS Stream Chat uses the [file_selector](https://pub.dev/packages/file_selector#macos) package. Follow [these instructions](https://pub.dev/packages/file_selector#macos) to check the requirements. You also need to add the following [entitlements](https://docs.flutter.dev/development/platform-integration/desktop#entitlements-and-the-app-sandbox) to `Release.entitlement` and `DebugProfile.entitlement`: ```xml com.apple.security.network.client com.apple.security.files.user-selected.read-write ``` Which grants: - Internet permission - File access permission