Positive direction movement of gamepad always seems to move player left?

I move left and back, and it seems to work fine. But then when I move right and forward, I fly to the left… keyboard movement is fine but gamepad is the problem.

This line is in Tick of my player character:

AddMovementInput(GetActorForwardVector() * MovementVector.Y + GetActorRightVector() * MovementVector.X, 1);

And this is in SetupPlayerInputComponent:

InputComponent->BindAxis("Forward", this, &AMyPlayerCharacter::MoveForward);
	InputComponent->BindAxis("Right", this, &AMyPlayerCharacter::MoveRight);
	InputComponent->BindAxis("Mouse Y", this, &AMyPlayerCharacter::Look);
	InputComponent->BindAxis("Mouse X", this, &AMyPlayerCharacter::Turn);
	InputComponent->BindAction("Shoot", IE_Pressed, this, &AMyPlayerCharacter::Shoot);
	InputComponent->BindAction("Shoot", IE_Released, this, &AMyPlayerCharacter::ShootRelease);

And my functions:

void AMyPlayerCharacter::MoveForward(float AxisValue)
{
	MovementVector.Y = AxisValue;
}

void AMyPlayerCharacter::MoveRight(float AxisValue)
{
	MovementVector.X = AxisValue;
}

void AMyPlayerCharacter::Look(float AxisValue)
{
	MouseVector.Y = AxisValue;
}

void AMyPlayerCharacter::Turn(float AxisValue)
{
	MouseVector.X = AxisValue;
}

And finally, my input settings.

I hope this can be resolved and I thank everyone in the community for their time!

I tried separating the controller mappings from the keyboard mappings, but nothing worked :confused:

If you trying to bind Axis on gamepad, you need bind axes from gamepad (not inputs on Right/Left/Up/Down). Of course we are talking about settings of project.

You have choices like:
Gamepad Left Thumbstick X-Axis
Gamepad Left Thumbstick Y-Axis
Gamepad Right Thumbstick X-Axis
Gamepad Right Thumbstick Y-Axis

… with scale to 1.0 (if you want scaling from -1 to 1)

That’s really it, hope it helps :slight_smile: