Is there any disadvantage to using SendMessage instead of StartCoroutine to call a function on another object? I like the idea of just having to reference the object: Code (csharp): object.SendMessage("SomeFunction", param) rather than having to reference the script component of the object: Code (csharp): object.GetComponent(ScriptName).StartCoroutine("SomeFunction", param) But i want to be aware of any pitfalls of using SendMessage this way. Will coroutines will still work? Performance issues? Any other reasons I shouldn't do it?
It depends on the situaton but usually the performance overhead is not noticable at all. Coroutines will still work with this.