Since changes might happen fully automated (e. g. a checkout/pull/clone/... of a version control system, code generation, and so on), the auto recompilation should only start after a short amount of time (1 second as a default value, will be configurable later on).
Each change after a timer started should reset the timer, either by restarting the same timer or by stopping the existing one and creating a new timer.
The callback needs to run in the Unity main/UI thread, or cause a method to run in it.
Since changes might happen fully automated (e. g. a checkout/pull/clone/... of a version control system, code generation, and so on), the auto recompilation should only start after a short amount of time (1 second as a default value, will be configurable later on).
Each change after a timer started should reset the timer, either by restarting the same timer or by stopping the existing one and creating a new timer.
The callback needs to run in the Unity main/UI thread, or cause a method to run in it.