# Pseudo First Person Shooter Camera

First person shooter camera does not have to reside at character's eye or neck position. In fact, when you are arrow-shooting, you are also using a FPS-like camera, which we call Pseudo First Person Shooter Camera.

<figure><img src="/files/OQNywsbiFZIaQqIkuADu" 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 *ScreenFollow* for "Follow Component", and *ControlAim* for "Aim Component".
4. In *ScreenFollow*, set *Camera Distance* to a relatively small value. In the official TPS template, 50 should work nicely. Then, set *Follow Offset*. In the template, a vector of (0, 20, 65) properly frames the target.
5. In *ControlAim*, set *Vertical Range* to limit the minimum and maximum pitch angles. Do not forget to enable *Sync Yaw To Aim Target*, which replicates 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sulleyyys-organization.gitbook.io/manuals-of-ccs/showcases/pseudo-first-person-shooter-camera.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
