OK, now the bow is returning to it's original position if I let go of the charge button. However, I'm getting this error only when switching from the assault rifle back to the bow:
ArgumentException: An element with the same key already exists in the dictionary.
System.Collections.Generic.Dictionary`2[UnityEngine.Material,Opsive.UltimateCharacterController.ThirdPersonController.Camera.ObjectFader+OriginalMaterialValue].Add (UnityEngine.Material key, OriginalMaterialValue value) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:404)
Opsive.UltimateCharacterController.ThirdPersonController.Camera.ObjectFader.InitializeCharacterFadeRenderers (UnityEngine.Renderer[] renderers) (at Assets/Opsive/UltimateCharacterController/ThirdPersonController/Scripts/Camera/ObjectFader.cs:602)
Opsive.UltimateCharacterController.ThirdPersonController.Camera.ObjectFader.OnShowProjectile (UnityEngine.GameObject projectile, Boolean show) (at Assets/Opsive/UltimateCharacterController/ThirdPersonController/Scripts/Camera/ObjectFader.cs:625)
Opsive.UltimateCharacterController.Events.InvokableAction`2[UnityEngine.GameObject,System.Boolean].Invoke (UnityEngine.GameObject arg1, Boolean arg2) (at Assets/Opsive/UltimateCharacterController/Scripts/Events/InvokableAction.cs:132)
Opsive.UltimateCharacterController.Events.EventHandler.ExecuteEvent[GameObject,Boolean] (System.Object obj, System.String eventName, UnityEngine.GameObject arg1, Boolean arg2) (at Assets/Opsive/UltimateCharacterController/Scripts/Events/EventHandler.cs:425)
Opsive.UltimateCharacterController.Items.Actions.ShootableWeapon.DetermineVisibleProjectile (Boolean forceDisable) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/ShootableWeapon.cs:809)
Opsive.UltimateCharacterController.Items.Actions.ShootableWeapon.Equip () (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/ShootableWeapon.cs:456)
Opsive.UltimateCharacterController.Items.Item.Equip (Boolean immediateEquip) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Item.cs:378)
Opsive.UltimateCharacterController.Inventory.InventoryBase.EquipItem (Opsive.UltimateCharacterController.Inventory.ItemType itemType, Int32 slotID, Boolean immediateEquip) (at Assets/Opsive/UltimateCharacterController/Scripts/Inventory/InventoryBase.cs:328)
Opsive.UltimateCharacterController.Character.Abilities.Items.EquipUnequip.ItemEquip (Int32 slotID, Boolean canUpdate) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/Abilities/Items/EquipUnequip.cs:849)
Opsive.UltimateCharacterController.Game.Scheduler.AddEventInternal[Int32,Boolean] (Single delay, InvokeLocation invokeLocation, System.Action`2 action, Int32 value1, Boolean value2) (at Assets/Opsive/UltimateCharacterController/Scripts/Game/Scheduler.cs:527)
Opsive.UltimateCharacterController.Game.Scheduler.ScheduleFixed[Int32,Boolean] (Single delay, System.Action`2 action, Int32 value1, Boolean value2) (at Assets/Opsive/UltimateCharacterController/Scripts/Game/Scheduler.cs:512)
Opsive.UltimateCharacterController.Character.Abilities.Items.EquipUnequip.ItemUnequipComplete (Int32 slotID, Boolean canUpdate) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/Abilities/Items/EquipUnequip.cs:776)
Opsive.UltimateCharacterController.Game.Scheduler.AddEventInternal[Int32,Boolean] (Single delay, InvokeLocation invokeLocation, System.Action`2 action, Int32 value1, Boolean value2) (at Assets/Opsive/UltimateCharacterController/Scripts/Game/Scheduler.cs:527)
Opsive.UltimateCharacterController.Game.Scheduler.ScheduleFixed[Int32,Boolean] (Single delay, System.Action`2 action, Int32 value1, Boolean value2) (at Assets/Opsive/UltimateCharacterController/Scripts/Game/Scheduler.cs:512)
Opsive.UltimateCharacterController.Character.Abilities.Items.EquipUnequip.ItemUnequip (Int32 slotID, Boolean canUpdate) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/Abilities/Items/EquipUnequip.cs:692)
Opsive.UltimateCharacterController.Character.Abilities.Items.EquipUnequip.Update () (at Assets/Opsive/UltimateCharacterController/Scripts/Character/Abilities/Items/EquipUnequip.cs:454)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion.UpdateAbilities (Opsive.UltimateCharacterController.Character.Abilities.Ability[] abilities) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:585)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion.UpdateUltimateLocomotion () (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:512)
Opsive.UltimateCharacterController.Character.CharacterLocomotion.Move (Single horizontalMovement, Single forwardMovement, Single deltaYawRotation) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/CharacterLocomotion.cs:455)
Opsive.UltimateCharacterController.Game.DeterministicObjectManager+DeterministicCharacter.FixedMove () (at Assets/Opsive/UltimateCharacterController/Scripts/Game/DeterministicObjectManager.cs:146)
Opsive.UltimateCharacterController.Game.DeterministicObjectManager.FixedUpdate () (at Assets/Opsive/UltimateCharacterController/Scripts/Game/DeterministicObjectManager.cs:589)