---
description: >-
  Reminder: you can do most of you blueprint work by directly accessing class
  variables through the *Get* and *Set* nodes.
---

# ECameraBase

## GetFollowComponent

Get `FollowComponent` owned by this camera.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FYifGIILGHPqi9l54DL5E%2Fgetfollowcomponent.png?alt=media\&token=04db6508-f5d7-4f77-b881-0ad75c1226c3)

<table><thead><tr><th width="163.33333333333331">Input / Output</th><th width="140"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Target</td><td>A <code>CameraBase</code> target actor.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The <code>ECameraFollowComponent</code> owned by the target camera.</td></tr></tbody></table>

## GetAimComponent

Get `AimComponent` owned by this camera.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F45snzWhul1fZ5vpFypib%2Fgetaimcomponent.png?alt=media\&token=8a366c9a-1ae1-46be-8fa2-233a2a65e449)

<table><thead><tr><th width="163.33333333333331">Input / Output</th><th width="142"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Target</td><td>A <code>CameraBase</code> target actor.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The <code>ECameraAimComponent</code> owned by the target camera.</td></tr></tbody></table>

## GetFollowComponentOfClass

Get FollowComponent onwed by this camera and cast it to a given follow component class.

<div align="left"><figure><img src="https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FktT4auOSqZjbz4lw9pGB%2Ffollow.png?alt=media&#x26;token=358bca73-5a5e-4442-8b9e-5c1df76c9736" alt=""><figcaption></figcaption></figure></div>

<table><thead><tr><th width="163.33333333333331">Input / Output</th><th width="142"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Target</td><td>A <code>CameraBase</code> target actor.</td></tr><tr><td></td><td>Follow Class</td><td>Follow component class.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The <code>FollowComponent</code> of the given Follow Class owned by the target camera.</td></tr></tbody></table>

## GetAimComponentOfClass

Get AimComponent onwed by this camera and cast it to a given aim component class.

<div align="left"><figure><img src="https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F3U199h6n1Hk6JNEbpvoQ%2Faim.png?alt=media&#x26;token=2e6115b1-d228-494a-9c3a-c124692fc9e0" alt=""><figcaption></figcaption></figure></div>

<table><thead><tr><th width="163.33333333333331">Input / Output</th><th width="142"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Target</td><td>A <code>CameraBase</code> target actor.</td></tr><tr><td></td><td>Aim Class</td><td>Aim component class.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The <code>AimComponent</code> of the given Aim Class owned by the target camera.</td></tr></tbody></table>

## GetCameraComponent

Get the `CameraComponent` owned by this camera.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F8Xl2f16a2FikqvUfkfwe%2Fgetcameracomponent.png?alt=media\&token=28eb4737-31ce-4bec-834a-1e2385e5485e)

<table><thead><tr><th width="163.33333333333331">Input / Output</th><th width="148"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Target</td><td>A <code>CameraBase</code> target actor.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The <code>CameraComponent</code> owned by the target camera.</td></tr></tbody></table>

## GetExtensionOfClass

Get a particular extension. Return null if no such extension is found.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FrutpaY2o0ZPSzvsuQer4%2Fgetextensionofclass.png?alt=media\&token=23fd0bf9-fe5e-41a9-85e4-199759699ee9)

<table><thead><tr><th width="163.33333333333331">Input / Output</th><th width="148"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Target</td><td>A <code>CameraBase</code> target actor.</td></tr><tr><td></td><td>ExtensionClass</td><td>The extension class you want to extract.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The extension instance of your interest in this camera. Can be null.</td></tr></tbody></table>

## GetFollowTarget

Get follow target of this camera.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2Fd01SXuCZYHKWtJaeKj73%2Fgetfollowtarget.png?alt=media\&token=b756d7e9-831f-459b-b6ed-3a3836520381)

<table><thead><tr><th width="163.33333333333331">Input / Output</th><th width="148"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Target</td><td>A <code>CameraBase</code> target actor.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The follow target.</td></tr></tbody></table>

## GetAimTarget

Get aim target of this camera.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FCUVWXAMCYPPd64jz3AOP%2Fgetaimtarget.png?alt=media\&token=2b213824-77d2-4934-845e-e06c276de80d)

<table><thead><tr><th width="163.33333333333331">Input / Output</th><th width="148"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Target</td><td>A <code>CameraBase</code> target actor.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The aim target.</td></tr></tbody></table>

## SetFollowAndAimWithBlend

Set current camera's follow target OR aim target with blend. Can optionally feed socket and scene component. Implementation-wise, this function calls a new camera and returns it.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FnZGih09mv1QLn9zpEIvA%2Fsetfollowandaim.png?alt=media\&token=36c8e55d-3145-42b0-a530-4ed8b480861a)

<table><thead><tr><th width="156.33333333333331">Input / Output</th><th width="177"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Target</td><td>The input camera. Usually the current active one.</td></tr><tr><td></td><td>ResetFollowTarget</td><td>Use a new follow target. You should feed in a valid follow target below.</td></tr><tr><td></td><td>ResetFollowSocket</td><td>Use a new follow target. You should feed in a valid follow target below.</td></tr><tr><td></td><td>ResetFollowSceneComponent</td><td>Use a new follow scene component. You should feed in a valid follow scene component below.</td></tr><tr><td></td><td>ResetAimTarget</td><td>Use a new aim target. You should feed in a valid aim target below.</td></tr><tr><td></td><td>ResetAimSocket</td><td>Use a new aim socket. You should feed in a valid aim socket below.</td></tr><tr><td></td><td>ResetAimScene<br>Component</td><td>Use a new aim scene component. You should feed in a valid aim scene component below.</td></tr><tr><td></td><td>FollowTarget</td><td>The new target actor passed into the follow component.</td></tr><tr><td></td><td>AimTarget</td><td>The new target actor passed into the aim component.</td></tr><tr><td></td><td>FollowSocket</td><td>Follow socket name. If specified, will use this socket's transform instead of the follow target's. Should be careful of the socket's rotation.</td></tr><tr><td></td><td>AimSocket</td><td>Aim socket name. If specified, will use this socket's transform instead of the aim target's. Should be careful of the socket's rotation.</td></tr><tr><td></td><td>Follow Scene Component</td><td>Follow scene component. If specified, will use this component's transform instead of the follow target's. It's your duty to ensure it's valid and paired with FollowTarget.</td></tr><tr><td></td><td>Aim Scene Component</td><td>Follow scene component. If specified, will use this component's transform instead of the aim target's. It's your duty to ensure it's valid and paired with AimTarget.</td></tr><tr><td></td><td>InBlendTime</td><td>Blend-in time used for transitioning from the current active camera to the new camera.</td></tr><tr><td></td><td>InBlendFunc</td><td>Which type of blend function to use.</td></tr><tr><td></td><td>InBlendExp</td><td>Blend exponential.</td></tr><tr><td></td><td>bInLockOutgoing</td><td>If true, lock outgoing viewtarget to last frame's camera position for the remainder of the blend.</td></tr><tr><td></td><td>bInIsTransitory</td><td>Whether the called camera is transitory. If true, it will be automatically terminated after LifeTime seconds.</td></tr><tr><td></td><td>InLifeTime</td><td>The life time of the called camera if it is transitory.</td></tr><tr><td></td><td>bInPreserveState</td><td>Whether the incoming camera tries to preserve outgoing camera's location and rotation. If you specified SpawnLocation and SpawnRotation, you should switch this off.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Returned Value</td><td>The called camera.</td></tr></tbody></table>
