GetVelocity().Z works in BP but not CPP?

I want the SpringArm.TargetLength to change when the character is launched into the air. In BP, calling GetVelocity.Z and checking if it is not equal to 0 works no problem, but in CPP, it doesn’t work at all (although will happily log expected numbers into the outputlog!)

I am using GetVelocity().X and .Y in other parts of my CPP code and they work, but Z doesn’t seem to. Any idea what I’m doing wrong? I’ve tried but Actor’s GetVel and MovementComponent GetVel.

Here’s a ss of my blueprint (which works)

and here is the CPP (I know I’m not changing the camera here but as you can see by the breakpoint, this code isn’t even entered)
Screenshot 2024-09-04 162005