When I don’t multiply my velocity by delta then movement speed is the same at both moderate and high FPS but still slow at low FPS but if I do multiply by delta then my character becomes slower at high FPS and faster at low FPS
I figured out that the problem was that I was using get_process_delta_time() when I should’ve been using get_physics_process_delta_time() and or moved the code to a _physics_process function and used regular delta. now the issue is mostly fixed except movement speed is still slower when at extremely FPS but I’m not sure if this is normal or not
If this isn’t normal then the relevant code I am using is
extends CharacterBody2D
var Friction = 15
@onready var Speed = 7000
func _physics_process(delta: float) -> void:
var direction := Input.get_axis("MoveLeft", "MoveRight")
if direction:
velocity.x = direction * Speed * delta
move_and_slide()
move_and_slide already handles frame-time, velocity is used as per-second a unit; multiplying by delta is actually worsening your frame dependency issue.