# ECameraLibrary

## DampSingleValue

Damp a float with a given damp time.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F7bxMr1jZ2e35qUFEzNIK%2Fdampsinglevalue.png?alt=media\&token=2a027527-59db-4dc5-8d37-eb3468dfd0da)

<table><thead><tr><th width="156.33333333333331">Input / Output</th><th width="158"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>DampParams</td><td>A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the <code>SpringDampVector</code> node, you do not need to care about SpringCoefficient and SpringResidual.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>Input</td><td>Input float to damp.</td></tr><tr><td></td><td>DampTime</td><td>Damp time. Will override DampParams.DampTime.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Output</td><td>Resulting damped output float.</td></tr></tbody></table>

## DampVectorWithSameDampTime

Damp a vector with the same damp time for all elements in the vector.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FOJ6R0KvNgbP6y2FiVxYz%2Fdampvectorsame.png?alt=media\&token=69555550-9e74-4bc7-9ee8-96651e54432e)

<table><thead><tr><th width="156.33333333333331">Input / Output</th><th width="152"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>DampParams</td><td>A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the <code>SpringDampVector</code> node, you do not need to care about SpringCoefficient and SpringResidual.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>Input</td><td>Input vector to damp.</td></tr><tr><td></td><td>DampTime</td><td>Damp time. Will override DampParams.DampTime.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Output</td><td>Resulting damped output vector.</td></tr></tbody></table>

## DampVectorWithDifferentDampTimes

Damp a vector with different damp times for different elements in the vector.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FvofherRWjjqHwjwUB7vG%2Fdampvetordifferent.png?alt=media\&token=72de115c-b5de-403f-a2c6-a6c1bb486104)

<table><thead><tr><th width="159.33333333333331">Input / Output</th><th width="146"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>DampParams</td><td>A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the <code>SpringDampVector</code> node, you do not need to care about SpringCoefficient and SpringResidual.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>Input</td><td>Input vector to damp.</td></tr><tr><td></td><td>DampTime</td><td>Damp time. Will override DampParams.DampTime.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Output</td><td>Resulting damped output vector.</td></tr></tbody></table>

## DampRotatorWithSameDampTime

Damp a rotator with the same damp time for all elements in the vector.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FGAPfR4MTgxNEFH3FibzF%2Fdamprotatorsame.png?alt=media\&token=592b9233-1935-4a10-a8a3-acbf30690890)

<table><thead><tr><th width="162.33333333333331">Input / Output</th><th width="152"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>DampParams</td><td>A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the <code>SpringDampVector</code> node, you do not need to care about SpringCoefficient and SpringResidual.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>Input</td><td>Input rotator to damp.</td></tr><tr><td></td><td>DampTime</td><td>Damp time. Will override DampParams.DampTime.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Output</td><td>Resulting damped output rotator.</td></tr></tbody></table>

## DampRotatorWithDifferentDampTimes

Damp a rotator with different damp times for different elements in the rotator.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FSx85nd0tXXrQaDSbi8G1%2Fdamprotatordifferent.png?alt=media\&token=2f418991-f703-4329-9a6f-da62d39e7fd1)

<table><thead><tr><th width="161.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>DampParams</td><td>A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the <code>SpringDampVector</code> node, you do not need to care about SpringCoefficient and SpringResidual.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>Input</td><td>Input rotator to damp.</td></tr><tr><td></td><td>DampTime</td><td>Damp time. Will override DampParams.DampTime.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Output</td><td>Resulting damped output rotator.</td></tr></tbody></table>

## SpringDampVector

Use a simple spring mass system to damp a vector. Note that spring damping may cause unstable camera behavior. If it is not what you really want, you are supposed to use other damping methods.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F4C05sAgZrWjZ3kQvwGnk%2Fspringdamp.png?alt=media\&token=9978dc63-645e-4687-bf9f-2a9b21cc9300)

<table><thead><tr><th width="155.33333333333331">Input / Output</th><th width="149"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>DampParams</td><td>A set of damp parameters, including DampMethod, Residual, SpringCoefficient and SpringResidual. If you ara not using the <code>SpringDampVector</code> node, you do not need to care about SpringCoefficient and SpringResidual.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>TemporalInput</td><td>Camera <code>current position</code> - <code>previous position</code>.</td></tr><tr><td></td><td>SpatialInput</td><td>Camera <code>desired position</code> - <code>current position</code>.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Output</td><td>Resulting damped output vector.</td></tr></tbody></table>

## SpringDampValue

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FZzDcLgYjnz0nVt6l77qg%2Fspringdampvalue.png?alt=media\&token=e649af75-8fc2-4189-a7d7-c5dd6b550cbc)

Use a simple spring mass system to damp a value. Note that spring damping may cause unstable camera behavior. If it is not what you really want, you are supposed to use other damping methods.

<table><thead><tr><th width="155.33333333333331">Input / Output</th><th width="149"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td><p>MaxDelta</p><p>Seconds</p></td><td>Max delta seconds, default is 1 / 60.0f.</td></tr><tr><td></td><td>Spring Coefficient</td><td>Controls how responsive camera gets back to its rest place. The larger, the more responsive.</td></tr><tr><td></td><td>Spring Residual</td><td>Damp residual after damp time. Small values mean more responsiveness.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>TemporalInput</td><td>Camera <code>current position</code> - <code>previous position</code>.</td></tr><tr><td></td><td>SpatialInput</td><td>Camera <code>desired position</code> - <code>current position</code>.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Output</td><td>Resulting damped output value.</td></tr></tbody></table>

## DampQuaternion

Interpolate two quaternions according to damp time.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F4ezDtIaLYKHgEqEXRSh4%2Fdampquaternion.png?alt=media\&token=f2ec3d39-7ad0-4f6f-ae42-18e05fdabf3b)

<table><thead><tr><th width="159.33333333333331">Input / Output</th><th width="149"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Quat1</td><td>Starting quaternion.</td></tr><tr><td></td><td>Quat2</td><td>Destination quaternion.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>DampTime</td><td>Time used to interpolate from Quat1 to Quat2. </td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Output</td><td>Damped output quaternion.</td></tr></tbody></table>

## ExactSpringDamperVector

An exact spring damper used to damp an input vector. Credit to: <https://theorangeduck.com/page/spring-roll-call#dampingratio>.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F4CDP1mIbRjM8oYQvZBBN%2Fexactspringdampvector.png?alt=media\&token=9b9fe6eb-cd79-4221-9ffc-5e8b5431bd7e)

<table><thead><tr><th width="158.33333333333331">Input / Output</th><th width="166"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>CurrentVector</td><td>Input value representing current property, e.g., position.</td></tr><tr><td></td><td>CurrentVelocity</td><td>Input vector representing current velocity.</td></tr><tr><td></td><td>TargetVector</td><td>Input vector representing target property, e.g., position.</td></tr><tr><td></td><td>TargetVelocity</td><td>Input vector representing target velocity.</td></tr><tr><td></td><td>DampRatio</td><td>Damp ratio used for the input vector. A value of 1 means a critically damped spring, a value &#x3C;1 means an under-damped spring, and a value of >1 means a over-damped spring.</td></tr><tr><td></td><td>HalfLife</td><td>Duration of time used to damp the input vector. Cannot be negative.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>OutVector</td><td>Output vector representing current property, e.g., position.</td></tr><tr><td></td><td>OutVelocity</td><td>Ouput velocity.</td></tr></tbody></table>

## ExactSpringDamperValue

An exact spring damper used to damp an input value. Credit to: <https://theorangeduck.com/page/spring-roll-call#dampingratio>.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F5834P7w7EXqHrc5gqqru%2Fexactspringdampvalue.png?alt=media\&token=67b4e7f9-a085-4fbe-9b25-1e13a02d36fa)

<table><thead><tr><th width="156.33333333333331">Input / Output</th><th width="147"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>CurrentValue</td><td>Input value representing current property, e.g., position.</td></tr><tr><td></td><td>CurrentValue</td><td>Input value representing current velocity.</td></tr><tr><td></td><td>TargetValue</td><td>Input value representing target property, e.g., position.</td></tr><tr><td></td><td>TargetValue</td><td>Input value representing target velocity.</td></tr><tr><td></td><td>DampRatio</td><td>Damp ratio used for the input vector. A value of 1 means a critically damped spring, a value &#x3C;1 means an under-damped spring, and a value of >1 means a over-damped spring.</td></tr><tr><td></td><td>HalfLife</td><td>Duration of time used to damp the input vector. Cannot be negative.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>OutValue</td><td>Output value representing current property, e.g., position.</td></tr><tr><td></td><td>OutVelocity</td><td>Ouput velocity.</td></tr></tbody></table>

## DampVectorWithSameDampTime (Continuity Optimization)

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FrC3m2PRpMLQvBCa7RKp6%2F1.png?alt=media\&token=1b9134ce-4553-416f-82cc-158d268a70a5)

Damp a vector with the same damp time for all elements in the vector. This is an optimized algorithm with continuous fourier series approximation.

<table><thead><tr><th width="156.33333333333331">Input / Output</th><th width="147"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>DampParams</td><td>A set of damp parameters.</td></tr><tr><td></td><td>Input</td><td>Input vector to damp.</td></tr><tr><td></td><td><p>Previous</p><p>Residual</p></td><td>Camera residuals at the previous frame.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>DampTime</td><td>Damp time (float). Will override DampParams.DampTime.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>OutValue</td><td>Resulting damped output vector.</td></tr></tbody></table>

## DampVectorWithDifferentDampTime (Continuity Optimization)

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FFASzZmvSBCg99PjFlCX0%2F2.png?alt=media\&token=60beead5-63e8-4ed9-9ba8-d5be69c1c194)

Damp a vector with different damp times for all elements in the vector. This is an optimized algorithm with continuous fourier series approximation.

<table><thead><tr><th width="156.33333333333331">Input / Output</th><th width="147"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>DampParams</td><td>A set of damp parameters.</td></tr><tr><td></td><td>Input</td><td>Input vector to damp.</td></tr><tr><td></td><td><p>Previous</p><p>Residual</p></td><td>Camera residuals at the previous frame.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>DampTime</td><td>Damp time (vector). Will override DampParams.DampTime.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>OutValue</td><td>Resulting damped output vector.</td></tr></tbody></table>

## DampValue (Continuity Optimization)

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F6VbvskjEF1LI2BA8r0sx%2F3.png?alt=media\&token=047870ee-3e44-4249-aa4c-7da1713a6eff)

Damp a value an optimized algorithm via continuous fourier series approximation.

<table><thead><tr><th width="156.33333333333331">Input / Output</th><th width="147"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>DampParams</td><td>A set of damp parameters.</td></tr><tr><td></td><td>Input</td><td>Input value to damp.</td></tr><tr><td></td><td><p>Previous</p><p>Residual</p></td><td>Camera residuals at the previous frame.</td></tr><tr><td></td><td>DeltaSeconds</td><td>The elapsed time since last frame.</td></tr><tr><td></td><td>DampTime</td><td>Damp time (float). Will override DampParams.DampTime.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>OutValue</td><td>Resulting damped output value.</td></tr></tbody></table>

## GetCameraLocalSpaceCoordinateWithActor

Return the camera local space coordinate of an input world space position.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F7Vdx6w2iD9olV67fJIIG%2Fgetlocalactor.png?alt=media\&token=c49909e4-cee6-476e-985a-0ab6aefc1749)

<table><thead><tr><th width="155.33333333333331">Input / Output</th><th width="156"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Camera</td><td>The camera.</td></tr><tr><td></td><td>InputPosition</td><td>World space input position.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Returned Value</td><td>The transformed camera's local space position of the input.</td></tr></tbody></table>

## GetCameraLocalSpaceCoordinateWithVectors

Return the camera local space coordinate of an input world space position.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FB9azD5brE5q8xGyqcvRU%2Fgetlocalvector.png?alt=media\&token=6b49bc98-25af-4004-bf66-b89a0ff03f3a)

<table><thead><tr><th width="158.33333333333331">Input / Output</th><th width="156"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>PivotPosition</td><td>Pivot position, for example, the camera's location.</td></tr><tr><td></td><td>ForwardVector</td><td>Reference forward vector, for example, the camera's forward vector.</td></tr><tr><td></td><td>RightVector</td><td>Reference right vector, for example, the camera's right vector.</td></tr><tr><td></td><td>UpVector</td><td>Reference up vector, for example, the camera's forward vector.</td></tr><tr><td></td><td>InputPosition</td><td>World space input position.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Returned Value</td><td>The transformed camera's local space position of the input.</td></tr></tbody></table>

## CallCamera

Call a `TSubclassOf<ECameraBase>` class type camera actor. If there exists one in the level, this node will use it. Otherwise it will instantiate a new one. Highly recommending using this node rather than UE's vanilla SetViewTargetWithBlend node.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F1iBN5hDWz7oZTFEgrLKo%2Fcallcamera.png?alt=media\&token=4e5492a7-f794-41c2-8abb-cd0861b863df)

<table><thead><tr><th width="159.33333333333331">Input / Output</th><th width="173"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>CameraClass</td><td>The camera class type to instantiate.</td></tr><tr><td></td><td>SpawnLocation</td><td>The location where the camera should be spawned. Will be (0,0,0) if not set.</td></tr><tr><td></td><td>SpawnRotation</td><td>The rotation the camera should be initialized with. Will be (0,0,0) if not set.</td></tr><tr><td></td><td>FollowTarget</td><td>The target actor passed into the follow component. Can be null if this camera does not have a follow component.</td></tr><tr><td></td><td>AimTarget</td><td>The target actor passed into the aim component. Can be null if this camera does not have an aim component.</td></tr><tr><td></td><td>FollowSocket</td><td>Optional 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>Optional 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>BlendTime</td><td>Blend-in time used for transitioning from the current active camera to the new camera.</td></tr><tr><td></td><td>BlendFunc</td><td>Which type of blend function to use.</td></tr><tr><td></td><td>BlendExp</td><td>Blend exponential.</td></tr><tr><td></td><td>bLockOutgoing</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>bIsTransitory</td><td>Whether the called camera is transitory. If true, it will be automatically terminated after LifeTime seconds.</td></tr><tr><td></td><td>LifeTime</td><td>The life time of the called camera if it is transitory.</td></tr><tr><td></td><td>bPreserveState</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></td><td>bCheckClass</td><td>When enabled, return the current active one if the input CameraClass is the same as the current active camera. When disabled, always create a new camera.</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>

## CallCameraWithInertialization

Call a TSubclassOf class type camera actor using inertialization blending. This function provides a flexible and smooth transition feel.

<div align="left" data-full-width="false"><figure><img src="https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F91kaZnR2CTMBFLZxCUas%2Finert.png?alt=media&#x26;token=e5f4130a-6322-4e6f-b017-6e12ebacdb2c" alt="" width="267"><figcaption></figcaption></figure></div>

<table><thead><tr><th width="159.33333333333331">Input / Output</th><th width="173"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>CameraClass</td><td>The camera class type to instantiate.</td></tr><tr><td></td><td>SpawnLocation</td><td>The location where the camera should be spawned. Will be (0,0,0) if not set.</td></tr><tr><td></td><td>SpawnRotation</td><td>The rotation the camera should be initialized with. Will be (0,0,0) if not set.</td></tr><tr><td></td><td>FollowTarget</td><td>The target actor passed into the follow component. Can be null if this camera does not have a follow component.</td></tr><tr><td></td><td>AimTarget</td><td>The target actor passed into the aim component. Can be null if this camera does not have an aim component.</td></tr><tr><td></td><td>FollowSocket</td><td>Optional 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>Optional 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>BlendTime</td><td>Blend-in time used for transitioning from the current active camera to the new camera. Only used when <code>AutoBlendTime</code> is set to false. If it's zero, instantaneously transition to the next camera.</td></tr><tr><td></td><td>bAutoBlendTime</td><td>Whether to auto determine blend time ensuring the positional acceleration is within a range. Used with <code>MaxPositionAcceleration</code>.</td></tr><tr><td></td><td><p>MaxPosition</p><p>Acceleration</p></td><td>The max acceleration for position (unit: cm) during translation. Must be positive.</td></tr><tr><td></td><td>bForceZeroRoll</td><td>Whether to reset roll to zero during inert blending.</td></tr><tr><td></td><td>OtherBlendFunc</td><td>Blend function for other parameters except location and rotation, e.g., FOV.</td></tr><tr><td></td><td>OtherBlendExp</td><td>Blend exponential for other parameters except location and rotation, e.g., FOV.</td></tr><tr><td></td><td>bLockOutgoing</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>bIsTransitory</td><td>Whether the called camera is transitory. If true, it will be automatically terminated after LifeTime seconds.</td></tr><tr><td></td><td>LifeTime</td><td>The life time of the called camera if it is transitory.</td></tr><tr><td></td><td>bPreserveState</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></td><td>bCheckClass</td><td>When enabled, return the current active one if the input CameraClass is the same as the current active camera. When disabled, always create a new camera.</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>

## CallCameraWithSceneComponent

Call a `TSubclassOf` class type camera actor. Highly recommending using this node rather than UE's vanilla SetViewTargetWithBlend node. This version should only be used when you prefer feeding scene components rather than sockets. Otherwise, `CallCamera` node is recommended.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2Fnz90htEs4RYGeSeFgnKi%2Fcallcamerawith.png?alt=media\&token=850f4cd9-3390-4b7f-869c-060e56a15fa1)

<table><thead><tr><th width="159.33333333333331">Input / Output</th><th width="173"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>CameraClass</td><td>The camera class type to instantiate.</td></tr><tr><td></td><td>SpawnLocation</td><td>The location where the camera should be spawned. Will be (0,0,0) if not set.</td></tr><tr><td></td><td>SpawnRotation</td><td>The rotation the camera should be initialized with. Will be (0,0,0) if not set.</td></tr><tr><td></td><td>FollowTarget</td><td>The target actor passed into the follow component. Can be null if this camera does not have a follow component.</td></tr><tr><td></td><td>AimTarget</td><td>The target actor passed into the aim component. Can be null if this camera does not have an aim component.</td></tr><tr><td></td><td>Follow Scene Component</td><td>Optional 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>Optional 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>BlendTime</td><td>Blend-in time used for transitioning from the current active camera to the new camera.</td></tr><tr><td></td><td>BlendFunc</td><td>Which type of blend function to use.</td></tr><tr><td></td><td>BlendExp</td><td>Blend exponential.</td></tr><tr><td></td><td>bLockOutgoing</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>bIsTransitory</td><td>Whether the called camera is transitory. If true, it will be automatically terminated after LifeTime seconds.</td></tr><tr><td></td><td>LifeTime</td><td>The life time of the called camera if it is transitory.</td></tr><tr><td></td><td>bPreserveState</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></td><td>bCheckClass</td><td>When enabled, return the current active one if the input CameraClass is the same as the current active camera. When disabled, always create a new camera.</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>

## CallAnimatedCamera

Call an animated camera, i.e., driven by an animation sequence. This is usually used inside a skill.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FFCcg7Mn4R1wwkSqBBExj%2Fcall.png?alt=media\&token=6902e49e-5463-4c8a-a8ed-20703f1d7e25)

<table><thead><tr><th width="157.33333333333331">Input / Output</th><th width="185"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>AnimToPlay</td><td>The animation sequence you want to play on camera.</td></tr><tr><td></td><td>CoordinateActor</td><td>In which actor's local space you want to play the camera animation.</td></tr><tr><td></td><td>Coordinate</td><td>In which reference frame you want to play the camera animation.</td></tr><tr><td></td><td>PositionOffset</td><td>Position offset, in reference space.</td></tr><tr><td></td><td>BlendTime</td><td>Blend-in time used for transitioning from the current active camera to the new camera.</td></tr><tr><td></td><td>BlendFunc</td><td>Which type of blend function to use.</td></tr><tr><td></td><td>BlendExp</td><td>Blend exponential.</td></tr><tr><td></td><td>bLockOutgoing</td><td>If true, lock outgoing viewtarget to last frame's camera position for the remainder of the blend.</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>

## CallKeyframedCamera

Call a keyframed camera.

<div align="left"><figure><img src="https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FJN8JQPqWHL6so4UQQj6C%2F1.png?alt=media&#x26;token=cb48c358-866a-4cc5-b6f2-887360b743c2" alt="" width="267"><figcaption></figcaption></figure></div>

<table><thead><tr><th width="157.33333333333331">Input / Output</th><th width="185"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>KeyframedCamera</td><td>The keyframed camera you want to play.</td></tr><tr><td></td><td>CoordinateActor</td><td>In which actor's local space you want to apply the keyframes.</td></tr><tr><td></td><td>StayAtLastFrame</td><td>Whether to stay at the last frame when it finishes. You should manually terminate this camera or call another camera.</td></tr><tr><td></td><td>CoordinateSocket</td><td>CoordinateActor's socket the camera is based on. If this is specified, this socket's local space will be used.</td></tr><tr><td></td><td>Coordinate</td><td>In which reference frame you want to apply the keyframes.</td></tr><tr><td></td><td>CoordinateLocationOnly</td><td>Whether to apply only keyframed positions in the specified CoordinateActor or Coordinate space. If true, camera's rotation will be the original keyframed rotations. Otherwise, the camera's final rotation will be changed according to the given CoordinateActor or Coordiante.</td></tr><tr><td></td><td>LocationOffset</td><td>Position offset, in reference coordinate space.</td></tr><tr><td></td><td>AimOverride</td><td>The actor at which the camera will tries to aim.</td></tr><tr><td></td><td>AimSocket</td><td>The socket of AimOverride at which the camera will tries to aim. If null or None, it will be the actor's root.</td></tr><tr><td></td><td>BlendTime</td><td>Blend-in time used for transitioning from the current active camera to the new camera.</td></tr><tr><td></td><td>BlendFunc</td><td>Which type of blend function to use.</td></tr><tr><td></td><td>BlendExp</td><td>Blend exponential.</td></tr><tr><td></td><td>bLockOutgoing</td><td>If true, lock outgoing viewtarget to last frame's camera position for the remainder of the blend.</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>

## CallSequencedCamera

Call a sequenced camera.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F552iEvCNgViuKrTt9KpG%2F4.png?alt=media\&token=4c8c669b-fc42-4776-8580-144ec414a01e)

<table><thead><tr><th width="149.33333333333331">Input / Output</th><th width="156"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Sequenced Camera Class</td><td>A class of type ESequencedCameraSetupActor specifying sub-camera with their blending setups.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>An instance of input class.</td></tr></tbody></table>

## TerminateActiveCamera

Immediately terminate current active camera and gets back to previous active camera. If you only want to call a new camera, use CallCamera node instead, NOT this node.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2Fdpl7Ia92iKlYVBgLeEhL%2Fterminatecamera.png?alt=media\&token=808776f6-58b2-4690-b7b4-3cfa7190d01d)

## GetActiveCamera

Get the current active `ECameraBase` camera.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FuTdfISsrYxC1Qb2zqnE5%2Fgetactivecamera.png?alt=media\&token=7099a8c5-647b-425e-a06d-a7dd43642b39)

<table><thead><tr><th width="160.33333333333331">Input / Output</th><th width="135"></th><th>Description</th></tr></thead><tbody><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The current active <code>ECameraBase</code> actor in level.</td></tr></tbody></table>

## GetEPlayerCameraManager

Get the EPlayerCameraManager actor in level.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FUdCnJ2ISfI7y1U6BnWy5%2Fgeteplayercameramanager.png?alt=media\&token=c5511d59-af8f-4a05-90aa-55853103b620)

<table><thead><tr><th width="149.33333333333331">Input / Output</th><th width="156"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Index</td><td>Index in the player controller list, starting first with local players and then available remote ones.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The current active <code>ECameraBase</code> actor in level.</td></tr></tbody></table>

## GetPositionWithLocalOffset(Actor)

Get the position applied with local space offset. Input is actor.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FfD7lPvDI75R52CLfM7Qn%2Fgetpositionwithlocaloffset.png?alt=media\&token=4aee14b9-5a0d-47fd-a040-8be8b49fa2a9)

<table><thead><tr><th width="150.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 Actor</td><td>An input actor in whose local space offset is applied</td></tr><tr><td></td><td>Offset</td><td>Offset.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The offset position.</td></tr></tbody></table>

## GetPositionWithLocalOffset(Rotation) <a href="#getpositionwithlocaloffsetrotation" id="getpositionwithlocaloffsetrotation"></a>

Get the position applied with local space offset. Input is position and rotation.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FEqBblp0ldt3aHs145Y3G%2Fgetpositionwithlocalrotatedoffset.png?alt=media\&token=4eda2d1b-e1a5-44c3-8153-2458ca296abe)

<table><thead><tr><th width="156.33333333333331">Input / Output</th><th width="135"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Position</td><td>Target position.</td></tr><tr><td></td><td>Rotation</td><td>Target rotation.</td></tr><tr><td></td><td>Offset</td><td>Offset.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The offset position.</td></tr></tbody></table>

## AddBlendable

Applies a post process material to the player camera manager. You should use EPlayerCameraManager to make this node work.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FZ50fJNPGNjqVrWThDffB%2Faddblendable.png?alt=media\&token=9026ab48-408f-4e42-9262-46dacdb6183c)

<table><thead><tr><th width="153.33333333333331">Input/Output</th><th width="179"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>InBlendableObject</td><td>The post process material to add.</td></tr><tr><td></td><td>InWeight</td><td>Amount of influence the post process effect will have. 1 means full effect, while 0 means no effect.</td></tr><tr><td></td><td>InBlendInTime</td><td>Time used to blend into this post process.</td></tr><tr><td></td><td>InDuration</td><td>Duration for this post process. Set as 0 to keep it infinite.</td></tr><tr><td></td><td>InBlendOutTime</td><td>Time used to blend out of this post process.</td></tr></tbody></table>

## RemoveBlendable

Removes a post process material added to the player camera manager. You should use EPlayerCameraManager to make this node work.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2F8jnq4POBq4rb3UxgmvCs%2Fremoveblendable.png?alt=media\&token=c5065e8b-7100-4f26-a804-d15a0ddb18dd)

<table><thead><tr><th width="153.33333333333331">Input/Output</th><th width="179"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>InBlendableObject</td><td>The post process material to remove.</td></tr></tbody></table>

## EasyStartCameraShake

Start camera shake with shake class and optional packed oscillation parameters.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2Fo68iKScojhX1ibXfjCmt%2Feasystartcamerashake.png?alt=media\&token=2f65369c-9bf7-40a3-9820-4141c0fa8e24)

<table><thead><tr><th width="153.33333333333331">Input/Output</th><th width="179"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>ShakeClass</td><td>The class of camera shake to play.</td></tr><tr><td></td><td>ShakeParams</td><td>Packed oscillation parameters. If ShakeClass is not specified, this parameter will be used.</td></tr><tr><td></td><td>Scale</td><td>Scalar defining how intense to play the shake. 1.0 is normal.</td></tr><tr><td></td><td>PlaySpace</td><td>Which coordinate system to play the shake in (affects oscillations and camera anims).</td></tr><tr><td></td><td>UserPlaySpaceRot</td><td>Coordinate system to play shake when PlaySpace == UserDefined.</td></tr><tr><td></td><td>SingleInstance</td><td>If true, only allow a single instance of this shake class to play at each time. Subsequent attempts to play this shake will simply restart the timer.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The returned camera shake instance.</td></tr></tbody></table>

## EasyStartCameraShakeFromSource

Start camera shake from source with shake class and optional packed oscillation parameters. This function is intended for temoprary camera shake, i.e., camera shakes with finite duration. If you are using infinite camera shakes, though you can still specify an inifite time in this node, it's highly recommended to use UE's built-in `Start Camera Shake From Source` node and `Stop Camera Shake` to terminate specific camera shake instances.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FUrNAZfkcLLsmqMphf8Yj%2Feasystartcamerashakefromsource.png?alt=media\&token=04e4edf5-3b5b-4191-bacc-2f3dff55fef0)<br>

<table><thead><tr><th width="150.33333333333331">Input/Output</th><th width="218"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>ShakeClass</td><td>The class of camera shake to play.</td></tr><tr><td></td><td>ShakeParams</td><td>Packed oscillation parameters. If ShakeClass is not specified, this parameter will be used.</td></tr><tr><td></td><td>SpawnActor</td><td>Actor to which the camera shake source actor will be spawned and attached.</td></tr><tr><td></td><td>SpawnLocation</td><td>Used when SpawnActor is null. Location where the camera shake source actor will be spawned.</td></tr><tr><td></td><td>Attenuation</td><td>The attenuation profile for how camera shakes' intensity falls off with distance.</td></tr><tr><td></td><td>InnerAttenuationRadius</td><td>Under this distance from the source, the camera shakes are at full intensity.</td></tr><tr><td></td><td>OuterAttenuationRadius</td><td>Outside of this distance from the source, the cmaera shakes don't apply at all.</td></tr><tr><td></td><td>Scale</td><td>Scalar defining how intense to play the shake. 1.0 is normal.</td></tr><tr><td></td><td>PlaySpace</td><td>Which coordinate system to play the shake in (affects oscillations and camera anims).</td></tr><tr><td></td><td>UserPlaySpaceRot</td><td>Coordinate system to play shake when PlaySpace == UserDefined.</td></tr><tr><td></td><td>SingleInstance</td><td>If true, only allow a single instance of this shake class to play at each time. Subsequent attempts to play this shake will simply restart the timer.</td></tr><tr><td>Output</td><td></td><td></td></tr><tr><td></td><td>Return Value</td><td>The returned camera shake instance.</td></tr></tbody></table>

## EasyStartCameraFade

Does a camera fade to a solid color and then fades back. Animates automatically.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FSUJah6PQylTUmtfkC2FT%2Feasystartcamerafade.png?alt=media\&token=03e2179f-2d7b-4802-90c6-8ec1562e200e)

<table><thead><tr><th width="159.33333333333331">Input / Output</th><th width="147"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>FromAlpha</td><td>Alpha at which to begin the fade. Range [0..1], where 0 is fully transparent and 1 is fully opaque solid color.</td></tr><tr><td></td><td>ToAlpha</td><td>Alpha at which to finish in-fade.</td></tr><tr><td></td><td>FadeInTime</td><td>How long the in-fade should take, in seconds.</td></tr><tr><td></td><td>FadeInFunc</td><td>Blend function for in-fade.</td></tr><tr><td></td><td>Duration</td><td>How long ToAlpha remains after finishing in-fase, in seconds.</td></tr><tr><td></td><td>FadeOutTime</td><td>How long the out-fade should take, in seconds.</td></tr><tr><td></td><td>FadeOutFunc</td><td>Blend function for out-fade.</td></tr><tr><td></td><td>Color</td><td>Color to fade to/from.</td></tr></tbody></table>

## EasyStopCameraFade

Stops camera fading.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FKseGcVPABE8uosIGCDYL%2Feasystopcamerafade.png?alt=media\&token=d5cd8edd-c47d-433b-b852-d994b7e9d166)

<table><thead><tr><th width="161.33333333333331">Input / Output</th><th width="128"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>StopAlpha</td><td>Alpha at which fade stops.</td></tr></tbody></table>

## EasyStartRecentering

A sugar of ControlAim's [StartRecentering ](https://sulleyyys-organization.gitbook.io/manuals-of-ccs/controlaim#start-recentering)function. If current active camera does not have a ControlAim component, this function will do nothing.&#x20;

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FF2S4laFDoJmZHvJL54H2%2Fstart.png?alt=media\&token=2da5a1ce-43c6-4a34-82fa-54694a545f97)

<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>Duration</td><td>Recentering duration.</td></tr><tr><td></td><td>Func</td><td>Recentering function.</td></tr><tr><td></td><td>Exp</td><td>Recentering exponential.</td></tr></tbody></table>

## EasyStopRecentering

A sugar of ControlAim's [StopRecentering ](https://sulleyyys-organization.gitbook.io/manuals-of-ccs/controlaim#stop-recentering)function. If current active camera does not have a ControlAim component, this function will do nothing.

![](https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FDVevtj2Fed8t67xSM7i4%2Fend.png?alt=media\&token=1c0bae96-7003-4c2b-bd1c-909cf4613ffa)

## SetPropertyByName

Latent function to set a property of a given object. You can type nested property names, e.g., {Property A}.{Property B}.&#x20;

Note that this node does not support container types array/set/map, and the destination property can either be a numeric type (int/float) or struct, but not an object. If it's a struct, values in struct will be recursively set, but ignoring any `Object` type property.&#x20;

For example, if you want to set the `CameraDistance` of a `ScreenFollow` component, you can achieve this using one of the following options:&#x20;

1. `Object` is ECameraBase, `PropertyName` is CameraSettingsComponent.FollowComponent.CameraDistance.&#x20;
2. `Object` is CameraSettingsComponent, `PropertyName` is FollowComponent.CameraDistance. &#x20;
3. `Object` is ScreenFollow, `PropertyName` is CameraDistance. &#x20;

You should make sure the property name is correct and matches the value type. That is, if `PropertyName` is DampTime, `Value` should be of a Vector type. If no such `PropertyName` exists, input `Object` is not valid, or `Value` type does not match the found property, this node will do nothing.&#x20;

If another `SetPropertyByName` node intends to set the same property of the same object as this one, or the object becomes invalid, this node will invoke the `OnInterrupt` output pin.

For more details, go to the [Change Component Properties at Runtime](https://sulleyyys-organization.gitbook.io/manuals-of-ccs/advanced-uses/change-component-properties-at-runtime) section.

<div align="left"><figure><img src="https://1253177398-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIc7aRtmwmEkkqEJZORmC%2Fuploads%2FNxFeRA5Kn7YeqX0GlC49%2Fimage.png?alt=media&#x26;token=f9c4964a-472b-48e2-b71a-2a6d257a952b" alt=""><figcaption></figcaption></figure></div>

<table><thead><tr><th width="161.33333333333331">Input / Output</th><th width="128"></th><th>Description</th></tr></thead><tbody><tr><td>Input</td><td></td><td></td></tr><tr><td></td><td>Object</td><td>The input object.</td></tr><tr><td></td><td><p>Property</p><p>Name</p></td><td>The name of the property to set.</td></tr><tr><td></td><td>Value</td><td>New property value.</td></tr><tr><td></td><td>Duration</td><td>Blend duration.</td></tr><tr><td></td><td>Func</td><td>Blend function.</td></tr><tr><td></td><td>Exp</td><td>Blend exponential.</td></tr></tbody></table>
