Add Controller Yaw Input is not framerate indenpendent?

If I clamp my FPS low, like around 20, mouse and gamepad look input becomes slower.

I read in an old post here from some staff that input and controller input nodes are handling framerate independence calculations under the hood if i understood correctly. But that does not seem to be the case for me.

The input vector comes from enhanced input here:

Mouse sensitivity = 1
Gamepad Sensitivity = 1.25

I would expect that the rate of turning would remain constant. Also, if I increase FPS, input rotation feels faster.

If i multiply by delta seconds like this:

That seems to create framerate independence, however I have to increase the Sensitivity values by about 40x.

The thing that makes me wonder is that this multiplication by delta seconds isn’t setup like that with the default template projects, and having to multiply by such a huge value seems strange. Makes me think I might be doing something weird.

1 Like

Hey there @BIGTIMEMASTER! I was under the impression that some of the movement nodes for the pawn/character classes were already multiplied by delta time already as well, now I’m curious.

Took a look into the source, and it’s not at all! Though it is affected by Input Scaling.

1 Like

yeah it was a surprise to me but it definitely seems like this setup of multiplying by delta seconds is making it work as intended - such that I can clamp FPS to <20 and >120 and the rotation rate stays the same.

The only weird thing about is that I have to then scale the input axis so greatly.

I also wasnt able to find virtually any talk about this anywhere, which further led me to believe that perhaps I am just doing something very weird. The only info I found was a post on these forums from like 2015.

I decided to take more than a cursory look at the functions called and it turns out higher up the chain there is a reference to DeltaTime, but it’s passed into the function APlayerController::UpdateRotation( float DeltaTime )

and that’s called in player tick, just to verify it does pass in actual DeltaTime, and it seems it does. Unsure of why this isn’t applied down the line if the input gets processed with DT.

1 Like

Just noticed this in Enhanced Input:

image

2 Likes

First I’ve seen of it and does fit the bill as a modifier! it does make sense to be decoupled from the base however for some types of inputs.

1 Like