# Make player run through a loop

**URL:** <https://forums.unrealengine.com/t/make-player-run-through-a-loop/2494871>\
**Category:** Blueprint\
**Tags:** unreal-engine, question\
**Created:** [May 7, 2025, 5:54am UTC](https://forums.unrealengine.com/t/make-player-run-through-a-loop/2494871 "2025-05-07T05:54:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![KadenKitsune](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/kadenkitsune/32/999701_2.png) [@KadenKitsune](https://forums.unrealengine.com/u/KadenKitsune)\
**Post date:** [May 7, 2025, 5:54am UTC](https://forums.unrealengine.com/t/make-player-run-through-a-loop/2494871/1 "2025-05-07T05:54:06Z")

</div>

For a project I am working on, I wanted to have the player be able to run through a loop. The project itself is a 2d sidescroller so I would only have to worry about the one axis direction wise.  
I currently have a setup that changes the characters rotation to match the surface angle, but it does not work on anything past 90 degrees and anything thatll make the player upside down. They simply treat it like a wall and run into it or slide off.  
In short, is there a way using blueprinting to have a 2d character run perfectly through a loop? Without them falling off due to speed.

---

<div class="post-metadata">

**Author:** ![Square\_Root\_UK](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/square_root_uk/32/1054592_2.png) [@Square\_Root\_UK](https://forums.unrealengine.com/u/Square_Root_UK)\
**Post date:** [May 7, 2025, 6:52am UTC](https://forums.unrealengine.com/t/make-player-run-through-a-loop/2494871/2 "2025-05-07T06:52:19Z")

</div>

Use a **spline component** that represents your loop path. Instead of letting physics drive the movement, you can stick your character to the spline & move them along it using **Get Location & Rotation at Distance Along Spline**. That keeps them aligned to the loop, even upside down.

You can dynamically switch between spline-controlled movement & regular platforming when near the loop entrance or exit.

---

<div class="post-metadata">

**Author:** ![KadenKitsune](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/kadenkitsune/32/999701_2.png) [@KadenKitsune](https://forums.unrealengine.com/u/KadenKitsune)\
**Post date:** [May 7, 2025, 8:36pm UTC](https://forums.unrealengine.com/t/make-player-run-through-a-loop/2494871/3 "2025-05-07T20:36:04Z")

</div>

I heard something like this, is there anywhere I can look to get started?

---

<div class="post-metadata">

**Author:** ![Square\_Root\_UK](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/square_root_uk/32/1054592_2.png) [@Square\_Root\_UK](https://forums.unrealengine.com/u/Square_Root_UK)\
**Post date:** [May 8, 2025, 7:23am UTC](https://forums.unrealengine.com/t/make-player-run-through-a-loop/2494871/4 "2025-05-08T07:23:13Z")

</div>

Hey,

Here are some tutorials that provide visual guidance:

- [How to Move a Character Along a Spline in Unreal Engine 5](https://www.youtube.com/watch?v=jjvPoTSTjsw)
- [How to Move Things Along a Spline Path - Unreal Engine 5 Tutorial](https://www.youtube.com/watch?v=n9Y6EGLEjZo)

---

<div class="post-metadata">

**Author:** ![SupportiveEntity](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@SupportiveEntity](https://forums.unrealengine.com/u/SupportiveEntity)\
**Post date:** [May 8, 2025, 7:33am UTC](https://forums.unrealengine.com/t/make-player-run-through-a-loop/2494871/5 "2025-05-08T07:33:05Z")

</div>

Hey there @KadenKitsune! Welcome back to the community! I agree with SRS here in recommending a spline, one note to add is that the basic `Character` class isn’t really built have it’s capsule rotate around or gravity direction changes, so the spline based movement is necessary for this if you aren’t using a custom pawn.

---

<div class="post-metadata">

**Author:** ![ShadowBr0kerz](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/shadowbr0kerz/32/1201558_2.png) [@ShadowBr0kerz](https://forums.unrealengine.com/u/ShadowBr0kerz)\
**Post date:** [October 21, 2026, 1:05pm UTC](https://forums.unrealengine.com/t/make-player-run-through-a-loop/2494871/6 "2026-10-21T13:05:53Z")

</div>

stock character is built around Z up so past 90 deg it fights you and slides off. on 5.4 and newer set gravity direction on the movement component and rotate the capsule to match the loop normal each tick, and open up walkable floor angle so upside down still counts as floor. drive it by surface normal from a line trace, not by spline, so entry and exit blend back to normal walking.

you can also try Gravity and Ballistics Toolkit, a gravity toolkit for Unreal Engine that handles characters on walls and loops with alignment built in: [Gravity & Ballistics Toolkit — Planet Gravity, Zero-G & Arc Prediction | Fab](https://www.fab.com/listings/978bec79-3d77-4ec1-81c1-521d6838651d)
