# Deep linking on Android

> Explains how to use deep linking on Android devices.

Deep links are hyperlinks outside of your application that take a user to a specific location within the application rather than a website. When a user clicks a deep link, the application opens from the designated location, such as a specific scene in a Unity application. For more information about deep links and how to use them, refer to [Deep linking](/engine/6000.3/manual/platform-specific/cross-platform-features/deep-linking.md).

## Enable deep linking for Android applications

Use an [intent filter](https://developer.android.com/guide/components/intents-filters) to enable deep linking for Android applications. An intent filter overrides the standard [Android App Manifest](/engine/6000.3/manual/platform-specific/android/introducing/manifest.md) to include a specific intent filter section for [Activity](https://developer.android.com/reference/android/app/Activity).

To set up an intent filter, use the following steps:

1. Navigate to **Edit** > Editor > **Player**.
2. In the **Android settings** tab, expand the **Publishing Settings** section.
3. In the **Build** section, enable **Custom Main Manifest**. This creates a new file called `AndroidManifest.xml` in `Assets/Plugins/Android`.
4. In the Project window, go to **Assets** > **Plugins** > **Android** and open the `AndroidManifest.xml` file.
5. Add the following code sample inside the Unity`<activity>` element, named `com.unity3d.player.UnityPlayerGameActivity` or `com.unity3d.player.UnityPlayerActivity`, and save the file.

```lang-xml
<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="unitydl" android:host="mylink" />
</intent-filter>
```

The built application now opens when the device processes a URI that uses the `unitydl` scheme and has the host `mylink`, for example `unitydl://mylink/path`. The `android:host` attribute matches the host component of the URI, not a text prefix. A URI such as `unitydl://mylink.example.com/path` doesn't match this intent filter even though it starts with the same characters. Remove `android:host` to match any URI that uses the `unitydl` scheme, including opaque URIs such as `unitydl:mylink`.

> **Note:**
>
> `unitydl` is a custom URL scheme, and Android doesn't verify custom schemes. Android link verification applies only to `http` and `https` App Links, so the count of verified links stays at zero for a custom scheme. For information about verified links, refer to the Android developer documentation on [Verify App Links](https://developer.android.com/training/app-links/verify-android-applinks).

## Use deep linking on Android

After you enable deep links for Android, the way that you use them is platform-agnostic. For information on how to handle deep links when your application opens, refer to [Using deep links](/engine/6000.3/manual/platform-specific/cross-platform-features/deep-linking.md#using-deep-links).
