Using GAS for auto movement

Hi!
I’m new in the community and I’m creating a endless runner to learn the unreal engine ecosystem. I’m introducing myself to the gameplay ability system atm and I’m loving it, so I’m in the way to add lots of abilities and effects in the game.

My current setup for the auto movement is just as simple as the attached screenshot. I was thinking to move to to the GAS but I’m not finding a “clean” way to do it. So, I was wondering, does it make sense to move the auto movement to the GAS? If so, how should I do it?

Thanks a lot,

B.

if you have an endless runner it probably doesn’t need to be an ability since its always on unless it can be interacted with? for instance if there are events where it may stop?

That’s my plan indeed. I’m thinking to add areas where the player can maybe shoot or attack, so it might need free movement.

My approach would be to add another flag in the current event tick (so it doesn’t pass the branch) when the player enter to these areas.

I just cannot figure it out with my current knowledge how to do this “auto movement” in the GAS without adding some kinda of loop, like a function timer in the ability, which I feel like it is not meant to be used like that (?)

Add Movement Input node does exactly the task I need but just because of learning new perspectives, I would like to know how this type of task can be accomplished in the gameplay ability system.

I would suggest you keep the character running in place, in other words, not moving at all.

For an endless runner will have to generate the new sections of the track runtime so they will be dynamic. These kind of games are usually done by moving the track under a “static” pawn instead. Static is not the right term as the pawn will probably move side to side, jump and duck.

Good luck with the the implementation.

i agree with this but to answer your question

you could do it in an ability but actually id treat it like an effect that just adds a GameplayTag then on Tick Check if it has the Tag

I see, that makes sense. Thanks! :slight_smile: