# SDK Installation Complete installation and configuration guides for the Airship Unity plugin. # Install and Set Up the Unity Plugin > How to install the Airship Unity plugin. ## Requirements * Unity 5+ * iOS: Xcode `15.3+` * iOS: Minimum deployment target iOS `15+` * Android: Android SDK installed and updated (requires `minSdkVersion` = `23+`) * Android: Using Android SDK manager, install API `36+`. * If a Custom Gradle Template is used, the gradle template needs to be configured to use API VERSION `36+`. ## Setup [Download](https://github.com/urbanairship/ua-unity-plugin/releases) the latest plugin and import the `unitypackage` into the Unity project: `Open Assets -> Import Package -> Custom Package`. ![Importing the Airship package in Unity](https://www.airship.com/docs/images/unity-assets-import-package_hu_a6880ed7081154dc.webp) *Importing the Airship package in Unity* Configure Airship Settings: `Open Window -> Airship -> Settings` and set the Airship settings. > **Important:** Leave the `Android FCM Sender ID` field **BLANK** for both Production and Development. > **Important:** If your app uses Airship's EU cloud site, you will need to configure that using the `Cloud Site` setting. ![Airship Settings window in Unity](https://www.airship.com/docs/images/unity-ua-settings_hu_94e022e909756bec.webp) *Airship Settings window in Unity* ![Airship configuration options in Unity](https://www.airship.com/docs/images/unity-ua-config_hu_1800978d81e08caf.webp) *Airship configuration options in Unity* If proguard is enabled, add Airship settings to the `proguard-user.txt` file: `-keep public class com.urbanairship.unityplugin.UnityPlugin -keepclassmembers class com.urbanairship.unityplugin.UnityPlugin { public ; public ; static ; }` For push notification setup, see the [Push Notifications Getting Started guide](https://www.airship.com/docs/developer/sdk-integration/unity/push-notifications/getting-started/). ## Troubleshooting A common error when setting up our Unity plugin is "Could not create an instance of type org.gradle.initialization.DefaultSettings_Decorated". If you encounter this error, take these steps in the Unity Editor: 1. Go to **Assets**, then **External Dependency Manager**, then **Android Resolver**, then **Force Resolve**. 1. Sometimes Unity has difficulty retrieving the JDK installed with your editor even when selected. To solve this: 1. Go to **Edit**, then **Preferences**, then **External Tools**. 1. For **JDK**, select **Copy Path**, uncheck **JDK Installed with Unity (Recommended)**, then paste the path. ![Setting the JDK path in the Unity Editor](https://www.airship.com/docs/images/unity/unity-uncheck-jdk-installed_hu_9c5a35b94f3157d2.webp) *Setting the JDK path in the Unity Editor* 1. ![Enabling project templates in the Unity Editor](https://www.airship.com/docs/images/unity/unity-enable-custom-gradle_hu_7a1ebe2c4fc15bd9.webp) *Enabling project templates in the Unity Editor* If the previous steps do not fix your issue: 1. Go to **Project Settings**, then **Player**, then **Android**, then **Publishing Settings**, then **Build**, and then select **Custom Main Gradle Template** and **Custom Gradle Properties Template**. 1. Go to **Assets**, then **External Dependency Manager**, then **Android Resolver**, then **Force Resolve**. If you don't see a channel ID or encounter errors during initialization, see [Troubleshooting Initialization](https://www.airship.com/docs/developer/sdk-integration/unity/troubleshooting/initialization/) for common problems and solutions. # Logging > Configure log levels to control how the Airship SDK logs messages. The Airship SDK provides configurable log levels to help you debug issues without overwhelming the console. By default, the log level is set to **Info** for development builds and **Error** for production builds to ensure clean logs in a live environment. ## Log levels The following log levels are available, ordered from most to least verbose. | Log Level | Description | | :-------- | :---------- | | **Verbose** | Reports highly detailed SDK status, which is useful for deep debugging and troubleshooting. | | **Debug** | Reports general SDK status with more detailed information than `Info`. | | **Info** | Reports general SDK status and lifecycle events. | | **Warning** | Used for API deprecations, invalid setup, and other potentially problematic situations that are generally recoverable. | | **Error** | Used for critical errors, exceptions, and other situations that the SDK cannot gracefully handle. | | **None** | Disables all logging. | ## Configuring log levels Log levels can be set within the Airship config menu in Unity. # Locale > Configure locale behavior and override the default locale that Airship uses. > **Note:** Locale configuration is not supported in the Airship Unity plugin.