# Player Camera

Like in any project, we first need to give the player a given perspective of the game world and potentially movement capabilities for the camera.

If you already have a camera set up, then you can **skip this step** an go to the next page.

{% tabs %}
{% tab title="Basic Camera" %}
You can use the demonstration controller by adding the `CameraController` component to the camera game object.

<figure><img src="https://3582497942-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fy2G6fDLEPuCAcuABMl6j%2Fuploads%2FCy2p2RcZUlGGZV6NZ36A%2Fimage.png?alt=media&#x26;token=0c755142-1512-4376-ab6c-672b5ace2491" alt=""><figcaption><p>CameraController</p></figcaption></figure>
{% endtab %}

{% tab title="Player Spectator" %}
You can also use the [**Player Spectator**](https://assetstore.unity.com/packages/tools/input-management/player-spectator-camera-208839) camera package, supports Legacy and New input systems. Simply import and configure the camera controls (using Unity's old or new input system):

<figure><img src="https://3582497942-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fy2G6fDLEPuCAcuABMl6j%2Fuploads%2FitSYmnDTJbB9WySinsmC%2Fimage.png?alt=media&#x26;token=558d0c26-082d-4b86-800e-3a1c83a7ef4c" alt=""><figcaption><p>PlayerSpectator</p></figcaption></figure>
{% endtab %}

{% tab title="Custom" %}
Or you always can add **your own script** for controlling the camera movement :muscle:
{% endtab %}
{% endtabs %}
