# Customizing Camera Components

Camera components can be customized to create your own camera behaviors. There are mainly three types of components you can create: *ECameraComponentFollow*, *ECameraComponentAim* and *ECameraExtensionBase*. They are responsible for determining camera position,determining camera rotation and post-processing camera rotation/rotation/effects respectively.

Other types of class you can override include:

* *ECameraSettingsComponent*: The core component responsible for updating each component and applying the result to the owned camera. It is not recommended to override this class.
* *ECameraManager*: A manager used to manage all cameras in the level. It is not recommended to override this class.
* *ECameraGroupActorComponent*: The component used to calculate the group actor position and rotation. You can override this class to implement your method for deriving group actor position and rotation.
* *ECameraHUD*: The HUD class used to display HUD content. You can extend this class if you have more HUD requirements to fulfill, or you can copy and paste the source code into your own HUD class.
* *EPlayerCameraManager*: A customized player camera manager used to enable adding and clearing camera post processing effects such as DOF, bloom, exposure, etc. You can extend this class if you want to have a finer control over the camera, or you can copy and paste the source code into your own player camera manager class.
* All follow component, aim components and extension components such as *ScreenFollow* and *TargetingAim* can be inherited. If you add new functionality to some specific component, you can inherit and customize it.


---

# 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/advanced-uses/customizing-camera-components.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.
