<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "WidgetKit",
  "identifier" : "/documentation/WidgetKit/ActivityFamily",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "WidgetKit"
    ],
    "preciseIdentifier" : "s:9WidgetKit14ActivityFamilyO"
  },
  "title" : "ActivityFamily"
}
-->

# ActivityFamily

A family that defines the Live Activity’s size.

```
enum ActivityFamily
```

## Overview

Live Activities support one or more sizes, giving you the
flexibility to configure them for different devices. A Live Activity
renders for a specific family, depending on both the device and the
location in which it’s displayed.

A Live Activity initiated on one device can be sent to a remote device
that renders the Live Activity at a different family size. For example,
if your Live Activity is running on an iOS or iPadOS device,
it natively renders with an [`ActivityFamily.medium`](/documentation/WidgetKit/ActivityFamily/medium) family.
If you want to opt in to customize the rendering for a Live Activity
for the watchOS Smart Stack, use the [`ActivityFamily.small`](/documentation/WidgetKit/ActivityFamily/small)
family modifier.

When you define your Live Activity’s configuration,
specify the sizes your Live Activity supports using the
<doc://com.apple.documentation/documentation/SwiftUI/WidgetConfiguration/supplementalActivityFamilies(_:)>
property modifier.

When you render the content of the Live Activity, use
<doc://com.apple.documentation/documentation/SwiftUI/EnvironmentValues/activityFamily>
to read the current family and lay out your
content appropriately.
The code below uses <doc://com.apple.documentation/documentation/SwiftUI/WidgetConfiguration/supplementalActivityFamilies(_:)>
to specify the size of the Live Activity for devices on iOS and watchOS.

```swift
// A RideSharingActivity that supports the watchOS Smart Stack and the iOS Lock Screen.
struct RideSharingActivity: Widget {
   var body: some WidgetConfiguration {
       ActivityConfiguration(for: RideAttributes.self) { context in
           RideSharingView(context: context)
       } dynamicIsland: { context in
           DynamicIsland {
               DynamicIslandExpandedRegion(.bottom) {
                   RideShareDetails()
               }
           } compactLeading: {
               AppLogo()
           } compactTrailing: {
               ETAView()
           } minimal: {
               ETAView()
           }
       }
       .supplementalActivityFamilies([.small, .medium])
   }
}
```

## Topics

### Accessing system families

[`ActivityFamily.small`](/documentation/WidgetKit/ActivityFamily/small)

A size family of a Live Activity on watchOS.

[`ActivityFamily.medium`](/documentation/WidgetKit/ActivityFamily/medium)

A size family of a Live Activity on iOS and macOS.

### Environment keys

[`SupportedActivityFamiliesEnvironmentKey`](/documentation/WidgetKit/SupportedActivityFamiliesEnvironmentKey)

An environment key for the size of a rendered Live Activity.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)