/// <summary>
    /// Sets up weapon model animator based on the equipped weapon.
    /// </summary>
    private void RefreshWeaponModel()
    {
        // get player char the UI is associated with
        PlayerCharacterMasterController playerChar = _uiManager.UiPlayerCharacter;

        // if player char found
        if (playerChar != null)
        {
            // get currently equipped weapon
            WeaponData equippedWep = playerChar.GetEquippedWeapon();

            // if a weapon is equipped
            if (equippedWep != null)
            {
                // get equipped weapon's ID
                string wepId = equippedWep.itemInfo.itemId;

                // get equipped weapon's associated 1st person model animator
                AnimatorOverrideController newWepAnim = AssetRefMethods.
                                                        LoadBundleAssetFirstPersonWeaponModelAnimator(equippedWep.weaponType, wepId);

                // if animator found
                if (newWepAnim != null)
                {
                    // turn ON 1st person weapon object
                    wepHeadAnim.gameObject.SetActive(true);

                    // set weapon model animator to retreived weapon animator
                    wepModelAnim.runtimeAnimatorController = newWepAnim;

                    // DONT continue code
                    return;
                }
            }
        }

        // if got here then, turn OFF 1st person weapon object
        wepHeadAnim.gameObject.SetActive(false);
    }