> ## Documentation Index
> Fetch the complete documentation index at: https://docs.liv.tv/llms.txt
> Use this file to discover all available pages before exploring further.

# Streaming Types (Unreal)

> Enums and structs used by the LCK streaming system in Unreal Engine.

## Overview

These types define the data structures used across the LCK streaming API for checking streaming targets, authentication state, login flow data, and subscription status.

***

## ELCKStreamingTargetType

The type of streaming destination configured by the user.

```cpp theme={null}
UENUM(BlueprintType)
enum class ELCKStreamingTargetType : uint8
{
    None     UMETA(DisplayName = "None"),
    YouTube  UMETA(DisplayName = "YouTube"),
    Twitch   UMETA(DisplayName = "Twitch"),
    Manual   UMETA(DisplayName = "Manual RTMP")
};
```

| Value     | Description                    |
| --------- | ------------------------------ |
| `None`    | No streaming target configured |
| `YouTube` | Streaming to YouTube Live      |
| `Twitch`  | Streaming to Twitch            |
| `Manual`  | Custom RTMP URL                |

***

## ELCKStreamingState

The current state of the streaming UI system (defined in LCKUI).

```cpp theme={null}
UENUM(BlueprintType)
enum class ELCKStreamingState : uint8
{
    Idle,
    Pairing,
    Paired,
    Streaming,
    Error,
    MAX
};
```

| Value       | Description                    |
| ----------- | ------------------------------ |
| `Idle`      | No active streaming session    |
| `Pairing`   | Device login in progress       |
| `Paired`    | Authenticated, ready to stream |
| `Streaming` | Live stream is active          |
| `Error`     | An error occurred              |

***

## FLCKUserSubscription

Represents a user's LIV subscription status.

```cpp theme={null}
USTRUCT(BlueprintType)
struct LCKSTREAMING_API FLCKUserSubscription
{
    GENERATED_BODY()

    UPROPERTY(BlueprintReadOnly, Category = "LCK|Streaming")
    FString Sku;

    UPROPERTY(BlueprintReadOnly, Category = "LCK|Streaming")
    bool bIsActive = false;
};
```

| Field       | Type      | Description                                    |
| ----------- | --------- | ---------------------------------------------- |
| `Sku`       | `FString` | Subscription SKU identifier                    |
| `bIsActive` | `bool`    | `true` if the subscription is currently active |

***

## FLCKLoginAttempt

Data for an in-progress device-code login attempt.

```cpp theme={null}
USTRUCT(BlueprintType)
struct LCKSTREAMING_API FLCKLoginAttempt
{
    GENERATED_BODY()

    UPROPERTY(BlueprintReadOnly, Category = "LCK|Streaming")
    FString Code;

    UPROPERTY(BlueprintReadOnly, Category = "LCK|Streaming")
    FString Id;

    UPROPERTY(BlueprintReadOnly, Category = "LCK|Streaming")
    FString ExpiresAt;
};
```

| Field       | Type      | Description                                           |
| ----------- | --------- | ----------------------------------------------------- |
| `Code`      | `FString` | The pairing code the user enters at the pairing URL   |
| `Id`        | `FString` | Internal identifier for this login attempt            |
| `ExpiresAt` | `FString` | ISO 8601 timestamp for when this pairing code expires |

***

## FLCKAuthState

Represents the current authentication state.

```cpp theme={null}
USTRUCT(BlueprintType)
struct LCKSTREAMING_API FLCKAuthState
{
    GENERATED_BODY()

    UPROPERTY(BlueprintReadOnly, Category = "LCK|Streaming")
    FString UserId;

    UPROPERTY(BlueprintReadOnly, Category = "LCK|Streaming")
    bool bIsAuthenticated = false;
};
```

| Field              | Type      | Description                                   |
| ------------------ | --------- | --------------------------------------------- |
| `UserId`           | `FString` | The authenticated user's unique identifier    |
| `bIsAuthenticated` | `bool`    | `true` if the user is currently authenticated |

***

## Key Takeaways

<Check>**All types are BlueprintType** — Usable in Blueprint graphs</Check>
<Check>**Check target type** — Show appropriate platform icon in UI</Check>
<Check>**Subscription gating** — Check `HasActiveSubscription()` before enabling streaming</Check>
<Check>**ExpiresAt is ISO 8601** — Parse if you need a countdown timer</Check>

***

## Related

* [Streaming Subsystem](/api-reference/unreal/streaming-subsystem) — Uses these types
* [Streaming Feature Interface](/api-reference/unreal/streaming-feature-interface) — C++ interface
* [Enums Reference](/api-reference/unreal/enums) — All LCK enums
* [Types Reference](/api-reference/unreal/types) — Core LCK types
