# unityPlayer

> Indicates the Unity bridge Java instance used by an activity or a service.

## Definition

* **Type:** Property
* **Namespace:** [UnityEngine.Android](/engine/6000.5/script-reference/unityengine/android.md)
* **Assembly:** UnityEngine.AndroidJNIModule

```csharp
public static AndroidJavaObject unityPlayer { get; }
```

### Remarks

You can access this property from Unity's main thread which means you can use it in `Start()`, `Awake()`, or in methods with [RuntimeInitializeOnLoadMethodAttribute](/engine/6000.5/script-reference/unityengine/runtimeinitializeonloadmethodattribute.md). However, you cannot access it from constructors or field initializers as these are called on the loader thread.

**Note:** This object is managed by Unity runtime, so do not call [AndroidJavaObject.Dispose](/engine/6000.5/script-reference/unityengine/androidjavaobject/dispose.md) on it.

### Examples

```csharp
using UnityEngine;
using UnityEngine.Android;

public class Controller : MonoBehaviour
{
    void Start()
    {
        var bridgeClass = AndroidApplication.unityPlayer.Call<string>("toString");
        var isActivity = bridgeClass.StartsWith("com.unity3d.player.UnityPlayerForActivityOrService");
        var isGameActivity = bridgeClass.StartsWith("com.unity3d.player.UnityPlayerForGameActivity");
        Debug.Log($"Class for Activity: {isActivity}, Class for GameActivity: {isGameActivity}");
    }
}
```
