# Why GetKey make problem in GameTickSystem

**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)
---

**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)