I made a tic tac wall jump system but I need help refining it

I’ve built a tic-tac wall jump system that detects walls and launches the player up, but I’m having trouble with the second launch, which should push the player in the opposite direction. There’s also a clipping issue, and while adjusting the animation was suggested, I’m considering using IK to prevent clipping. Any advice on fixing these issues, any advice or help would be appreciated @Mind-Brain

Hey again @Tempest004!

Just like the other post you made and tagged me in, let’s see some code and get to work! Thanks for separating it out into two things, as well, but let’s pick one and focus in. :slight_smile:

@Mind-Brain here are my blueprints for the tic tac wall jump they are a bit unorganised though😅 I’ll explain what each part does
This is the first one with a few functions. The two custom events are called in the anim notify the first one “begin tic tac launch” is used to launch player from the ground when the animation begins but it works according to how fast the player is running and the logic can be found in the function where I calculated break hit result

This is the main function that handles everything—from the line trace to detecting which wall was hit (either left or right). It’s crucial because it helps determine which animation montage to play and calculates the launch using the wall’s normal. Someone recommended I clamp the launch directions so that I can’t accidentally launch into the wall, only away from or along it. They suggested the most elegant solution would be to create a unit vector pointing in the desired launch direction, and then scale that vector by the appropriate force to control the launch

This is the line trace logic

This is the function that contains the break hit result of the line trace and the logic for detecting wall direction and other stuff

This logic moves the player closer to the wall that was hit by the line trace, ensuring that if the player isn’t close enough, their foot will be aligned with the wall. This makes the overall positioning fit with the animation

This is all the functionality I have for the tic tac wall jump, sorry if I didn’t explain it well and if my blueprints aren’t named well I’m not good at naming things😅 also we could do this first since I think maybe it’s almost completed compared to the “Grab and throw system” or maybe we should do that first I don’t know😅

Honestly?
#1 GREAT post, great use of pictures.
#2 This looks very nice, I’ve seen much worse from professionals.
#3 You’re using a lot of code, yes, but it’s very low overhead code. Usage of vectors is appropriate and you have the appropriate cutoffs, like your usage of breaks and branching to minimize the Execution usage. No “Get All Actors of Class” that I see a lot that needs to be changed out after it’s working at the base level, or things like that. Computers are GREAT and FAST at math and that’s what you’re mostly using, and that’s fantastic.

I think you’re doing great. If you have any specific issues with your functionality, we could try to help with that but other than that I see great work here.

1 Like

I appreciate the recognition of the approach I’ve taken with the code and its efficiency. The main challenge I’m currently facing is with the player’s launch mechanic. I want the player, upon jumping after making contact with the wall, to leap horizontally in the opposite direction, with a slight vertical (Z-axis) offset, with the movement primarily propelling the player away from the wall. The Custom Event that will execute this is the ‘Launch Tic-tac’ Event, which has a ‘Launch Character’ node attached but no calculations or logic connected to it yet. I’m unsure how to handle the calculations to achieve the desired movement.

Additionally, I’m dealing with occasional wall clipping when the animation plays. To address this, I was considering expanding(the idea just popped in as I was writing this cause someone told me to adjust the animation to the capsule but I was like why not just expand the capsule radius instead🤔) the capsule collider’s radius during the animation to prevent clipping. This would be triggered through an anim notify to ensure smooth transitions


This is a simple sketch of what I wanna accomplish launching of the wall

Also this is the video that inspired the idea

I just fixed the clipping issue, and it’s funny how I didn’t realize earlier that a simple adjustment to the capsule collider’s radius would solve it. It was a straightforward fix that I hadn’t considered until now

@Mind-Brain I was wondering if it’s possible to use the wall normal to calculate the character’s launch direction when performing a wall jump. This way, the player would be correctly launched off the wall, whether the jump is executed on the right or left. I’m concerned that without factoring in the wall normal, the calculations might not be accurate. Just brainstorming at the moment. Also, thank you for your assistance—your help has been invaluable

Is that the speedforce demo? I think I saw an arkham/spider-man style combat done as part of that and it was awesome.

You absolutely should use the wall normal variable. Player forward is the other piece.

The THIRD piece is a node called “Get Reflection Vector”. You’ll plug your Normal in to the part labeled “Normal” and your player forward as “Direction”. Then the output vector will be small but it’s your new direction, you’ll have to multiply it by however much you need, maybe by current speed?

Give that a try!

Yea it’s the speed force demo, it inspired me to make my own game honestly, I’ll definitely try out your suggestion and get back to you immediately

Thank you so much, honestly! I used root motion in the animation but noticed it was interfering with the launch, so I adjusted the root motion settings, and now everything works perfectly—the player launches opposite the wall as intended. I really appreciate your help. Most of the time when I ask for advice on places like Reddit or in video comments, very few people respond, maybe just a handful. So, I truly appreciate you taking the time to answer my questions and assist me. Thank you again. These are the changes I made in the Rootmotion

1 Like


It turns out the real issue I was facing was with the root motion of the animation, not the logic from the image above. That was actually my old setup for launching the player off a wall using the wall normal, and I decided to plug it back in just to see if it still worked—and it does, perfectly! It’s funny how the main problem turned out to be something so different. Honestly, you were the catalyst that helped me piece it all together. There’s nothing quite like the satisfaction of fixing things

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.