Sorry if this question was answered before, but I wasnt able to find a solution.
This is my code:
I assumed, that the result would be an increasing number of Debug Logs while I hold the mouse button down. But it only writes one Debug Log per click.
How can one create a loop like I thought it would be?
And how could I decrease the frequency of that loop. I read, that there is no easy way for letting a c# script wait. Is that true?
Input.GetMouseButtonDown() return true only for the frame in which the mouse button is clicked. Input.GetMouseButton() will return true as long as the button is held down. You will get one Debug.Log() statement for each frame. The easiest way to moderate the number of checks is to put the check in a separate function and use InvokeRepeating() to make the checks.
Some info on Coroutines:
And Unity Gems has a more in-depth treatment of Coroutines.
This will explain why you are only getting output when you press the button:
Update occurs once each frame, so you cannot decrease how often it is called.