Moi_85 estoy pasa por ejemplo en PUBG, un juego con Unreal 5

Parece ser que por defecto este es el código que usa Unreal desde la versión 3
time = Time.currentTime;
if (time >= nextShotDelay) Shoot(); /
Y en los juegos que no tienen este problema es código es este
time = Time.currentTime;
while (time >= nextShotDelay) Shoot();
En Youtube hay varios vídeos en los que incluso muestran que en según que juegos, y el arma que uses si vas a ciertos FPS logras daños muy altos, por ejemplo en PUBG la SCAR hace mucho más daño a 125FPS que a 146FPS, mientras que otras armas por ejemplo hacen ese daño a los 90FPS (y parece ser que hay hasta tablas de Excel con los FPS óptimos para convertir cada arma en la BFG)
Lo de usar frames para contar tiempo explicaría que disparases más rápido o más lento, pero no explicaría el que a más FPS más daño hace la misma arma.