private void Update()
    {
        #region INPUT HANDLING
        if (active)
        {
            // Move with horizontal axis
            if (Owner != null)
            {
                Move();
            }

            // Get ready
            if (closeEnough && anim.GetBool("NameSet"))
            {
                if (Owner.GetButton("Dash", consume: false))
                {
                    anim.SetBool("Ready", true);

                    // If both are ready
                    if (other.anim.GetBool("Ready"))
                    {
                        // Save names
                        Owner.name       = userName.text;
                        other.Owner.name = other.userName.text;

                        // Save player selection into their owners
                        Owner.playingAs       = showcase[selected].ID;
                        other.Owner.playingAs = other.showcase[other.selected].ID;

                        // Notify that players are ready
                        Lobby.charactersSelected = true;

                        // De-activate both selectors
                        SwitchState(state: false);
                        other.SwitchState(state: false);
                    }
                }
            }
        }
        #endregion

        #region MOVING TO POSITION
        // Move towards selected character
        var tPos = showcase[selected].transform.position;
        transform.position = Vector3.Lerp(transform.position, tPos, Time.deltaTime * Speed);
        // Check if close enough to selected to keep moving
        closeEnough = Vector3.Distance(tPos, transform.position) <= 0.4f;

        // Move animator towards selected value
        float iValue = anim.GetFloat("Blend");
        float tValue = selected / 3f;
        anim.SetFloat("Blend", Mathf.Lerp(iValue, tValue, Time.deltaTime * Speed));
        #endregion

        // Make info face camera
        canvas.LookAt(cam);
    }