If I have small value for repeating rate, say 0.1s and my code in invoke method takes more then 0.1s to finish how InvokeRepeating behave?
It waits for my invoked method to finish and then calls invoke again?
It calls again my method at a specified rate, no matter if previously called method finished (so I can have multiple invoked methods running parallel)?
On a specified rate if called method still executing, it stops it, and then call my method again from start?
I haven’t tested it, and if you want you can test it.
But I’m willing to bet that since the callback for InvokeRepeating occurs on the main thread (and thusly blocks the main thread), it’ll block for the duration of the callback then wait approximately 0.1s again.
So if the callback takes 0.2s, it’ll start every 0.3s.
It definitely won’t run parallel, since unity is all on one thread. If you want something that is multi-threaded, you’ll need to spin those threads yourself.