CommunicationBridge Class
            Holds references and methods for communications with active Multiplayer component.
            Unlike CommunicationBridgeUID, this component does not have a unique identifier (UID).
            
Namespace: AlterunaAssembly: Alteruna.Trinity (in Alteruna.Trinity.dll) Version: 1.3.4+03e8eebec78141d9d3b2022fda2c0ac58d3116b9
public abstract class CommunicationBridge : MonoBehaviour
- Inheritance
 - Object    Object    Component    Behaviour    MonoBehaviour    CommunicationBridge
 
- Derived
 - More Less 
 
 
            The CommunicationBridge class can be used to get a Multiplayer reference and possession of avatars.
            
public class MyCommunicationBridge : CommunicationBridge
{
    private bool _isPossessed = false;
    private bool _isPossessor = false;
    private Avatar _avatar;
    // The possessed event is called after awake and before start when the avatar is initialized.
    public override void Possessed(bool isMe, User user)
    {
        _isPossessed = true;
        // also known as is owner
        _isPossessor = isMe;
        // Inside CommunicationBridge, we can access the Multiplayer component through the Multiplayer property.
        // We can use it to get the avatar for a user.
        _avatar = Multiplayer.GetAvatar(user.Index);
    }
    // When the player is removed form the game or the avatar is repossessed, we can manage it using the Unpossessed method.
    public override void Unpossessed()
    {
        _isPossessed = false;
        _isPossessor = false;
        _avatar = null;
    }
}
| OnEnable | 
            Collects Multiplayer reference.
             | 
| Possessed | 
            Called when Avatar is possessed by a user.
             | 
| Reset | 
            We set the Multiplayer reference when component is reset inorder to save performance in the spawn frame.
             | 
| SetMultiplayerComponent | 
            If the Multiplayer reference is null, set it to active Multiplayer component.
            void OnEnable() => SetMultiplayerComponent();
  SetMultiplayerComponent call it in  OnEnable unless hidden.
              | 
| Unpossessed | 
            Called when Avatar gets unpossessed.
             | 
| Multiplayer | 
            Reference to Multiplayer controller component.
            sets in OnEnable unless hidden.
             |