# First Person Shooter Camera

Fisrt person shooter camera is common even in non-FPS games. With ComponentCameraSystem you can easily create a first person shooter camera using the *SimpleFollow* and *ControlAim* components.

<figure><img src="https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F9SNZBMp1cEDqrJFUsd3i%2FFirstPersonShooterCamera.gif?alt=media&#x26;token=30418b68-a022-4c07-8121-47d2d39304bb" alt=""><figcaption></figcaption></figure>

1. Right click on Content Browser -> "Blueprint Class" -> create a "ECameraBase" class.
2. Open the class blueprint, select the "Camera Settings Component" and on the "Details" panel, expand the "ECamera" section.
3. Choose *SimpleFollow* for "Follow Component", and *ControlAim* for "Aim Component".
4. In *SimpleFollow*, you should first set the *Socket Name* property. In the official Third Person Shooter template, you can use the "neck\_01" socket. Then set *Follow Type* to *Local Space*. Last you should set an appropriate follow offset, avoiding camera penetration into the model.
5. In *ControlAim*, enable *Sync Yaw To Aim Target* to replicate camera rotation to the aim target, so that you can use it to rotate character in accordance with camera.
6. Go to your character's blueprint, disable *Orient Rotation to Movement* in the "Character Movement" component.
7. In the blueprint where you want to call this camera, invoke the "CallCamera" node and pass in the "Camera Class" and "Follow Target". You MUST specify the same actor to parameter *Sync Yaw To Aim Target* requires the aim target not to be null. You can also specify "Blend Time", "Blend Func" and "Blend Exp" if you want smooth blending in.
