I’ve set up a third person movement system, using the same system in the third person tutorial videos by unreal.
I’m looking to start out making a simple running game but I’m finding it difficult figuring out how best to keep the player moving forward, originally I originally removed the get forward vector and MoveForward input and added an event tick with the world direction set to 20 which allowed the player to run forward but my left right controls stopped working (my guess being that It was being overwritten on tick).
Does anyone have a solution for this or will I need to set up a custom player controller?
To get a constant forward movement you were correct. replace the inputaxis moveforward with an event tick and plug that into the add movement input node. After this set the scale value to the desired number (I used 1 for testing). This should move your character forward while still allowing for side to side movement, Though the animation of the TPP will still look as though they are running at an angle instead of directly left or right this should allow you the basic movement you are looking for. Have a great day!
The way I did it was just get a reference to your player pawn and add a vector in the desired location every tick. You can keep this group of nodes completely separate from your actual movement nodes. Something like this:
You might be able to substitute Set Actor Location (which is what I’m using) to Add Movement Input (what you’re using) although I haven’t tested it.
You don’t have to, though what you can do is where the vector information is located on the Add Movement Input component you can write a specific value into the X vector, so let’s say you wanted your pawn to move forward at 120 units, you can specifically state 120 units and plug delta time into the scale value, which would remove the need for the get forward vector as you are simply telling the pawn to move along the x axis at all times at 120 units per tick.