# Why GetKey make problem in GameTickSystem ![](https://i.imgur.com/msHnh4S.png) **GetKeyDown() & GetKeyUp() change value in only one frame, And GameTickManager doesn't update with Unity's Update(), Than it will return the wrong value.** (Actually is the value we don't want) --- ![](https://i.imgur.com/eRnBRJ7.png) **To solve this problem, I extended its signal to match the different update frequency.** ( Also the custom frequency, that's most annoying ) --- **So when you need to use Input.GetKey() use this instead.** ``` csharp= private GameTickManager gameTick; private void Start() { gameTick = GameTickManager.Instance; } public void TickUpdate() { gameTick.GetKey(KeyCode.Mouse0); gameTick.GetKeyDown(KeyCode.Mouse0); gameTick.GetKeyUp(KeyCode.Mouse0); } /*-------------------- or -----------------------*/ public void TickUpdate() { GameTickManager.Instance.GetKey(KeyCode.Mouse0); GameTickManager.Instance.GetKeyDown(KeyCode.Mouse0); GameTickManager.Instance.GetKeyUp(KeyCode.Mouse0); } ``` See Also : [**While Coding**](/r-zm-BRATqWjlWZibznHzQ)