60FPS but the game seems lagging

Hi, i made a game, not much complex (with graphics or scripts) but nice. I found a script that shows fps in the game :

using UnityEngine;
using System.Collections;

public class fpsshow : MonoBehaviour
{
	float deltaTime = 0.0f;

	void Update()
	{
		deltaTime += (Time.deltaTime - deltaTime) * 0.1f;
	}

	void OnGUI()
	{
		int w = Screen.width, h = Screen.height;

		GUIStyle style = new GUIStyle();

		Rect rect = new Rect(0, 0, w, h * 2 / 100);
		style.alignment = TextAnchor.UpperLeft;
		style.fontSize = h * 2 / 100;
		style.normal.textColor = new Color (0.0f, 0.0f, 0.5f, 1.0f);
		float msec = deltaTime * 1000.0f;
		float fps = 1.0f / deltaTime;
		string text = string.Format("{0:0.0} ms ({1:0.} fps)", msec, fps);
		GUI.Label(rect, text, style);
	}
}

it shows me (in the build) 63-4 to 70 fps never under 60s (the same if I try the game in the Unity editor with stats active) I even turned down the quality settings a bit (but i think that is not that the probem, because the game uses 7% of the cpu and 70mb of ram, I have a gt 920m, which is enough for this game), but sometimes the game seems lagging or stuttering. I don’t know why… the camera movement is in the LateUpdate Function, and the player dosen’t move with animations but with phyiscs (rigidbody). (my fixed delta time is 0.01 s).

(I even don’t know why the “fpsshow” when the game is in the pause menu, timescale 0, shows infinity fps)

Thanks

camera movement is in the LateUpdate Function, and the player dosen’t move with animations but with phyiscs (rigidbody).

That’s probably your problem right there. Assuming your
camera is tracking your player, have you tried moving your camera movement to FixedUpdate also?

Depending on your scripts, it could also be the Garbage Collector. If it runs okay most of the time, but occasionally glitches or freezes momentarily, you may be generating memory every frame which then needs to be cleaned up. Check out the profiler’s GC Alloc column to determine if this is the problem.