Great tutorial dude. I found that setting "falling lateral friction" inside the character movement component to something like 3-5 made the air dashes a lot more responsive if anyone wanted a similar sort of thing.
Hi Matt! Love the tutorial series, it's been super helpful. I did actually put this together not so long ago and noticed a flaw in that, by multiplying the characters current velocity you risk making the dash mechanic inconsistent as the character doesn't move at a consistent speed, it has to accelerate to it's max speed - Perfectly fine if you want to design a game around that, but might cause issues with platforming challenges or combat where sudden movement is required. For those instances, I would suggest getting the current movement direction of the player character and multiplying that by a considerably larger number to get the dash. It does require a bit of trial and error to perfect the distance of the dash, but it's better at moving from stationary. You could also have a bool to check if the character has a direction (is moving) and if not set a dash forwards as Doom Eternal does it.
If you check the box that says XYOverride it won't add to the current velocity and just keep it consistent. Another thing you might not have noticed is you get more distance in the air than when you're on the ground. If you search friction on your character movement component you can adjust the values when you're in the air and on the ground.
@@taylorhead9842 Oh! I hadn't even tested that! I've got this ridiculous function that gets the direction of movement from the player character, I'll give that a go and see if I can't trim some of the code down! I had actually solved the friction issue as well but I forgot to bring it up, very good shout though!
@@taylorhead9842 Thank you so much! I finally fixed that crazy acceleration when char is moving down the slope. All thanks to setting falling friction same as ground for the time of dash, so now it has consistent distance.
Now if you dash in the air you tend to burst in speed in that direction, I fixed this adding a branch after the first with the Is falling boolean check, (false of that be the code made in the video) and true would be a copy of the launch character code (plugged into the increment as usual) but I used a float in the multiplier of 1.5 for a good solid Mid Air dash in my testing, Cheers.
If you want to make it so you can still dash in the air, after the second branch that @Alexander Owens mentions, after true, copy everything past that branch, and set the multiply integer to a small value like 2
I seriously can’t thank you enough for the tutorials you’ve been making. They’ve worked every single time and i really appreciate it!! I do have a request for a wall run tutorial, Ive tried multiple peoples ways but they never work
I have been trying to implement a dash system like this for weeks and never got the dash counter to work, I would always infinite air dash. Then I saw this video and it magically solved the problem. You sir are a god damn genius!
Correct me if i'm wrong. But the problem with Event On Landed is it gets called even if you just dashing on the floor since Launch Character will move the character off the Z axis when you dash even if you set the launch character node to Z = 0. Even if your launch only attempts to move the character on the X or Y axis, slight variations in the Z-axis could occur due to the physics simulation, causing a minor lift-off and a subsequent landing.
Hi Matt love the video I would realy like to see a tutorial to allow the player to ski/slide but decrease the slide speed when the charachter turn's across the slope. Thanks
So, I got this to work, thank you for that, but I am having a minor issue trying to figure something out. I can easily do 2 dashes in a row but, what I am trying to figure out, is how to reset the count if they take their time and only press it once. I want to give a lower recharge time as a bonus to those who are patient. You can use it twice in a row, but you'll wait twice as long. I've tried to make Get DashCount ----- == of 1 --- Branch --- Delay of 0.75 --- Set DashCount 0 but that did not work. Though that is probably because it is not actually attached anywhere, I have no clue where I even would.
Hi Matt. Awesome tut. I just hae a small issue. I'm using the Event on landed node in my coyote time function for my jump code. I cant seem to use this node more than once in the event graph is there a way to work around this?
In Eternal, dash cancels in-air speed built while flying (except while traversing by means of transportation rings on Urdak that let you add speed by dashing while the rings are active). So the way you do it,...if I implement this in my project and I decide to Ballista boost, or build speed by bunnyhopping, or lurch, or yeethook, I'll break the sound barrier because the node will multiply the already existing insane speed by 10. Need to find a way to clamp the movement speed value.
awesome vid dude, works perfectly with 1 slide. however, when i set 2 dashes, something weird happens. when on the ground, recharge works fine, but when i jump and dash once, it wont regen back to 2 dashes until i use the second dash.
Hey i love your content but is there a way you can you the "recharge" set up on a timer instead of delay. I'm trying to figure out how to show the countdown timer on the players HUB but delays just show the number instead of the seconds left till you can dash again
Hi, great tutorial! It works perfectly fine for me, except that I don't get that smooth transition when dashing forward that you have in your video. My character (in first person) just teleports forward instead of getting launched forward if that makes any sense. Any idea what might cause that for me?
For anyone else that needs this solved, take the Timeline Update out and put it into Set Location in, so it continuously Sets Location according to the Timeline's curve and duration. Don't use the Timeline Finished pin as it executes only once at the end of the Timeline instead of continuously.
@@andrejansson9649 The Timeline used as a delta to interpolate the Set Location node. If you execute the Set Location node using the Timeline's "Finished" pin, it'll teleport you instead of moving you smoothly. Use the "Update" pin.
When I use it mid air the velocity is far greater then when I use it on the ground. Is there something in my character movement that I should change to get it to the same speed?
It's the ground friction. Charac mov > charac mov: walking > ground friction = 1. i also increased the breaking deceleration walking, other wise it becomes ice skating.
I believe the main differences are that the "launch character" can either add the launch velocity onto the current velocity, or replace it - you can choose. And I don't think simply setting the velocity actually moves the player, you need to add force as well. Which the "launch character" does do.
@@MattAspland you can set the velocity of the Character Movement Component directly... You can also use a timeline while disabling input to fully control how the character moves during the dash move. This is also useful for multiplayer as the Character Movement replicates automatically.
@@MattAspland I implemented a working wall jump just yesterday by applying "Set Velocity" to the Character Movement component. That's why I got interested in the Launch Character function now, its name just sounds more appropriate for... launching the character
Hi, I tried setting this system up with enhanced input, but having it fire on Event Triggered doesn't let you double-dash, and having it fire on anything else stops it from recharging. Any suggestions?
@@MattAspland Yea I'm having the same issue with mine, I've made sure to remove Z from the velocity but it still launches really far, also whenever the player dashes on a slope
I imagine you'd want to just play an animation or animation montage to show it, and deal damage equal to that of the enemies health for an instant kill
In third person you can adjust the camera boom (or spring arm) to see more of the player. In first person you can simply move the camera back. Or in both third and first, you can change the camera field of view (FOV) for a wider angle shot
Remember folks to dash to that subscribe button (I'm already subscribed).
lmao
Great tutorial dude. I found that setting "falling lateral friction" inside the character movement component to something like 3-5 made the air dashes a lot more responsive if anyone wanted a similar sort of thing.
THANK GOD YOU SAID THIS BRO
Hi Matt!
Love the tutorial series, it's been super helpful.
I did actually put this together not so long ago and noticed a flaw in that, by multiplying the characters current velocity you risk making the dash mechanic inconsistent as the character doesn't move at a consistent speed, it has to accelerate to it's max speed - Perfectly fine if you want to design a game around that, but might cause issues with platforming challenges or combat where sudden movement is required.
For those instances, I would suggest getting the current movement direction of the player character and multiplying that by a considerably larger number to get the dash. It does require a bit of trial and error to perfect the distance of the dash, but it's better at moving from stationary.
You could also have a bool to check if the character has a direction (is moving) and if not set a dash forwards as Doom Eternal does it.
That’s awesome to hear, thanks for sharing!
If you check the box that says XYOverride it won't add to the current velocity and just keep it consistent. Another thing you might not have noticed is you get more distance in the air than when you're on the ground. If you search friction on your character movement component you can adjust the values when you're in the air and on the ground.
@@taylorhead9842 Oh! I hadn't even tested that! I've got this ridiculous function that gets the direction of movement from the player character, I'll give that a go and see if I can't trim some of the code down!
I had actually solved the friction issue as well but I forgot to bring it up, very good shout though!
@@taylorhead9842 Thank you so much! I finally fixed that crazy acceleration when char is moving down the slope. All thanks to setting falling friction same as ground for the time of dash, so now it has consistent distance.
@@vladimirkhadyko8304 Nice, glad you figured it out!
Now if you dash in the air you tend to burst in speed in that direction, I fixed this adding a branch after the first with the Is falling boolean check, (false of that be the code made in the video) and true would be a copy of the launch character code (plugged into the increment as usual) but I used a float in the multiplier of 1.5 for a good solid Mid Air dash in my testing, Cheers.
Ah awesome, thanks for the extra improvement!
Could you explain this better please, im having the same issue. A step by step list of what I need to add would be so helpful, cheers
If you want to make it so you can still dash in the air, after the second branch that @Alexander Owens mentions, after true, copy everything past that branch, and set the multiply integer to a small value like 2
bro, do you have a discord? I just want to ask a question.
@@prod.afanasy5608I solved it by simply sitting the falling lateral friction in char movement to 6
I was scrolling through the videos after searching "dash mechanic ue5" and I see a Matt Aspland video about the DOOM dashing?? Exactly what I needed!
I seriously can’t thank you enough for the tutorials you’ve been making. They’ve worked every single time and i really appreciate it!! I do have a request for a wall run tutorial, Ive tried multiple peoples ways but they never work
That's amazing to hear, my pleasure to help out! Great idea, I can add it onto my list :)
@@MattAspland Thank you!
I have been trying to implement a dash system like this for weeks and never got the dash counter to work, I would always infinite air dash. Then I saw this video and it magically solved the problem. You sir are a god damn genius!
Yooo I am still having the infinite air dash glitch. What to do
This summer I tried replicating DOOM Eternal's dash too. Including air mobility. I've used your previous dash tutorial and expanded on that
WOW you are a magician man. u know what the indie game devs need
Awesome video. Thanks a lot for making it, especially for explaining what each node does!
I was just thinking about adding a dash system to my game!
Bless you Matt, it's like you read my mind!
Perfect timing! :)
Hey Matt, you have helped me learn so much over the years! Keep up the amazing work and thank you so much for your videos!
That’s great to hear, thanks for the support and I’m happy to help :)
Years! damn you gotta be making games then
@@vexan_twitch Yes, I actually am! I’m finishing my bachelor’s in 3d design and games engineering soon :)
Great video! Keep it up, Matt!
Thanks a lot!
Correct me if i'm wrong. But the problem with Event On Landed is it gets called even if you just dashing on the floor since Launch Character will move the character off the Z axis when you dash even if you set the launch character node to Z = 0. Even if your launch only attempts to move the character on the X or Y axis, slight variations in the Z-axis could occur due to the physics simulation, causing a minor lift-off and a subsequent landing.
very cool tyvm for the guide
My pleasure :)
Hi Matt love the video I would realy like to see a tutorial to allow the player to ski/slide but decrease the slide speed when the charachter turn's across the slope.
Thanks
Awesome idea!
I subbed like a couple weeks after you started
Thank you so much! :)
So, I got this to work, thank you for that, but I am having a minor issue trying to figure something out. I can easily do 2 dashes in a row but, what I am trying to figure out, is how to reset the count if they take their time and only press it once. I want to give a lower recharge time as a bonus to those who are patient. You can use it twice in a row, but you'll wait twice as long.
I've tried to make Get DashCount ----- == of 1 --- Branch --- Delay of 0.75 --- Set DashCount 0 but that did not work. Though that is probably because it is not actually attached anywhere, I have no clue where I even would.
I did all things, but my character just flies off if I dash near an edge. Is there any solution?
Hi Matt. Awesome tut. I just hae a small issue. I'm using the Event on landed node in my coyote time function for my jump code. I cant seem to use this node more than once in the event graph is there a way to work around this?
In Eternal, dash cancels in-air speed built while flying (except while traversing by means of transportation rings on Urdak that let you add speed by dashing while the rings are active). So the way you do it,...if I implement this in my project and I decide to Ballista boost, or build speed by bunnyhopping, or lurch, or yeethook, I'll break the sound barrier because the node will multiply the already existing insane speed by 10. Need to find a way to clamp the movement speed value.
promote it to a variable and clamp it that way?
yo 420th like congrats man XD absolutely loved it, definitely checking you out ;D
Awesome thank you!
Adjust Braking Deceleration Falling for more control when falling.
Very nice! How could we add an animation montage and switch to TPP then go back to FPP for some more visual fidelity.?
awesome vid dude, works perfectly with 1 slide. however, when i set 2 dashes, something weird happens. when on the ground, recharge works fine, but when i jump and dash once, it wont regen back to 2 dashes until i use the second dash.
A question Matt if you'll allow. Why can't I trigger this dash when stationery?
You doing great videos!
Can you please make video to chop the tree down with different tools different damage or different mats will spawn ?
Thanks a lot, I can look into it :)
could you make a ui just like the ultrakill UI, where the ui moves when camera rotates and character moves?
theres a problem with the dash everytime you jump in the air it luanches me across the map
i have the same issue
Thank you. I did this in SS character and only connected the Y. X seems to have no effect. (SS has 1 plane)
Hello, does splitting functionality into Actor components and heavy use have a significant impact on performance?
Thanks so my matt
No problem :)
@@MattAspland :)
Nice
Cool video
Thanks bro!
Hey i love your content but is there a way you can you the "recharge" set up on a timer instead of delay. I'm trying to figure out how to show the countdown timer on the players HUB but delays just show the number instead of the seconds left till you can dash again
How would one add a delay system to this?
like What are the basics you need to learn to produce a , or setup it. Also I need to learn how to add soft notes to a .
hey I can't dash even when I press the button. I also am doing multiplayer for this
now how to make a power up version?
Everything works for me yet while in air I go verrrrrrryyyyyy far when dashing. but on ground its the same as yours
Hi, great tutorial!
It works perfectly fine for me, except that I don't get that smooth transition when dashing forward that you have in your video. My character (in first person) just teleports forward instead of getting launched forward if that makes any sense.
Any idea what might cause that for me?
For anyone else that needs this solved, take the Timeline Update out and put it into Set Location in, so it continuously Sets Location according to the Timeline's curve and duration. Don't use the Timeline Finished pin as it executes only once at the end of the Timeline instead of continuously.
What timeline?@@robertwaremusic
@@andrejansson9649 The Timeline used as a delta to interpolate the Set Location node. If you execute the Set Location node using the Timeline's "Finished" pin, it'll teleport you instead of moving you smoothly. Use the "Update" pin.
I am so confused, have we watched the same video? :P
I cannot find anything called a timeline@@robertwaremusic
When I use it mid air the velocity is far greater then when I use it on the ground.
Is there something in my character movement that I should change to get it to the same speed?
It's the ground friction. Charac mov > charac mov: walking > ground friction = 1. i also increased the breaking deceleration walking, other wise it becomes ice skating.
I haven't seen "Launch Character" before and would've just used "Set Velocity". What difference does it make?
I believe the main differences are that the "launch character" can either add the launch velocity onto the current velocity, or replace it - you can choose. And I don't think simply setting the velocity actually moves the player, you need to add force as well. Which the "launch character" does do.
@@MattAspland you can set the velocity of the Character Movement Component directly... You can also use a timeline while disabling input to fully control how the character moves during the dash move. This is also useful for multiplayer as the Character Movement replicates automatically.
@@MattAspland I implemented a working wall jump just yesterday by applying "Set Velocity" to the Character Movement component. That's why I got interested in the Launch Character function now, its name just sounds more appropriate for... launching the character
Hi, I tried setting this system up with enhanced input, but having it fire on Event Triggered doesn't let you double-dash, and having it fire on anything else stops it from recharging. Any suggestions?
Open your input action for dash and add trigger "pressed"
so todo this in third person would you just call a anim montage when you dash?
Exactly that yep
Could you make a Splatoon tutorial series
ty
Nice video bro full support from me
Thanks a lot man!
how to convert pin in unreal engine 4, i can't do it in old version
In UE4 you don't need to convert the pin, you can just get that math node straight away. For example "vector * float"
@@MattAspland I did, but if I make Dash during the jump, then it flies to the other end of the map, how to fix it?
Did you make sure to remove the Z from the velocity in “launch character”?
@@MattAspland Yea I'm having the same issue with mine, I've made sure to remove Z from the velocity but it still launches really far, also whenever the player dashes on a slope
how would you do the glory kill system?
I imagine you'd want to just play an animation or animation montage to show it, and deal damage equal to that of the enemies health for an instant kill
❤️❤️
does it work on ue4 too?
It does yes, all of my videos work in both UE4 and UE5 unless I say otherwise at the beginning of the video
Can you please make tutorial For MMORPG games like select character or login system
This video might help you out :)
czcams.com/video/ziAkrTv59TA/video.html
@@MattAspland ty and login?
please make tutorial full game
What do you mean by that?
@@MattAspland I think they meant like a series making an entire game.
An right that makes sense yeah
Please do UE4
Unless I specify otherwise, all of my videos work on both UE4 and UE5
so many people with same issue lol
How we make the camera good
What do you mean?
@@MattAspland i need see player (all player)
In third person you can adjust the camera boom (or spring arm) to see more of the player.
In first person you can simply move the camera back.
Or in both third and first, you can change the camera field of view (FOV) for a wider angle shot
@@MattAspland thanks
Nice