Using Spring Arm Components

The Spring Arm component is used to automatically control how the camera handles situations where it becomes obstructed.

On this page

You can use your own character for this tutorial provided it has a Camera component assigned to it. If you do not have a character, it is recommended that you complete the Working with Camera Components tutorial in order to create the basic character being used in this guide first.

In this How-to, we add a Spring Arm component and parent a Camera component to it so that our camera can expand/retract based on gameplay situations. Typically when you add a Camera component to a character for the purposes of creating a third person perspective, you will also want to include a Spring Arm to automatically control how the camera handles situations where the it becomes obstructed by level geometry or other objects in the level.


While it may not eliminate instances of the camera penetrating objects in your level, depending on your Spring Arm's settings, it will help reduce them by moving the camera's position when it becomes obstructed automatically and then returning to its default position when it is free from obstruction.

  1. Continuing from the Working with Camera Components How-to, open your Character Blueprint.

  2. In the Components window, click the Add Component button then select the Spring Arm Component.


  3. Inside the Components window, drag your Camera Component onto the Spring Arm Component to attach it to the Spring Arm.


  4. There are multiple settings that can be used with the Spring Arm which are outlined below.





    This allows you to parent the Spring Arm to a Bone on a Skeletal Mesh or a Socket.


    Here you can set the length of the Spring Arm when there are no collisions as well as set Offsets.

    Camera Collision

    Set whether or not to check for collisions and define how big the query probe is to check for collisions.

    Camera Settings

    Whether or not to inherit Pitch, Yaw, or Roll from the Parent or Use Pawn Control Rotation.


    Set whether or not the camera should lag behind the target position and settings associated with lag.

  5. We set the Target Arm Length to 100 and Enabled Camera lag.


    This gives us a shorter length than the default settings and also adds a bit of lag to the camera when moving around.

  6. Click Compile and Play to play in the editor.

End Result

When moving the character, you will notice that the camera now lags slightly behind the characters movement. Also, when we move near a wall and rotate the camera, it attempts to reposition itself and moves in closer. When we are free from obstruction, it returns to its default length that we have specified in the settings.

Select Skin
Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback