---
title: "Unity - Use fallback paywalls"
description: "Handle cases when users are offline or Adapty servers aren't available"
---

:::warning
Fallback paywalls are supported by Unity SDK v2.11 and later.
:::

To maintain a fluid user experience, it is important to set up [fallbacks](/fallback-paywalls) for your flows, [paywalls](paywalls), and [onboardings](onboardings). This precaution extends the application's capabilities in case of partial or complete loss of internet connection.

* **If the application cannot access Adapty servers:**

    It will be able to display a fallback flow or paywall, and access the local onboarding configuration.

* **If the application cannot access the internet:**

    It will be able to display a fallback flow or paywall. Onboardings include remote content and require an internet connection to function.

:::important
Before you follow the steps in this guide, [download](/local-fallback-paywalls) the fallback configuration files from Adapty.
:::

## Configuration

1. Add the fallback configuration files to the common `Assets/StreamingAssets` directory in your project.
2. Call the `.setFallback` method **before** you fetch the target paywall or onboarding.

```csharp
using UnityEngine;
using AdaptySDK;

#if UNITY_IOS
    string fileName = "ios_fallback.json";
#elif UNITY_ANDROID
    string fileName = "android_fallback.json";
#else
    // Optional: handle Editor or other platforms
    string fileName = "fallback.json"; 
#endif

Adapty.SetFallback(fileName, (error) => {
    if (error != null) {
        Debug.LogError($"Failed to set fallback: {error}");
        return;
    }
    
    // Fallback set successfully
});
```

Parameters:

| Parameter    | Description                                          |
|:-------------|:-----------------------------------------------------|
| **fileName** | The string with the name of the fallback configuration file. |