For most use cases I would recommend using Events or UnityEvents because for Broadcast Message to work, Unity has to load up every GameObject with a script and then do reflection on the assembly to see if it has this method, not only is that an issue on itself. But this also use strings and causes some Garbage Collection to occur. For more information docs.microsoft.com/en-us/windows/mixed-reality/develop/unity/performance-recommendations-for-unity?fbclid=IwAR2Kyish0Nus37R7Ydy7WulRItFJGvbBBjT0S6DD7Zjfq0_B_keouHsNRbs