OK, so if I make it in the Items category then it equips. However, when I start swinging the weapon I get the following error:
Texture rectangle is out of bounds (1189 + 1 > 512)
UnityEngine.TerrainData:GetAlphamaps(Int32, Int32, Int32, Int32)
Opsive.UltimateCharacterController.SurfaceSystem.SurfaceManager:GetDominantTerrainTexture(Vector3, Terrain) (at Assets/Opsive/UltimateCharacterController/Scripts/SurfaceSystem/SurfaceManager.cs:799)
Opsive.UltimateCharacterController.SurfaceSystem.SurfaceManager:GetTerrainTexture(Collider, Vector3) (at Assets/Opsive/UltimateCharacterController/Scripts/SurfaceSystem/SurfaceManager.cs:763)
Opsive.UltimateCharacterController.SurfaceSystem.SurfaceManager:GetTerrainSurfaceType(RaycastHit) (at Assets/Opsive/UltimateCharacterController/Scripts/SurfaceSystem/SurfaceManager.cs:729)
Opsive.UltimateCharacterController.SurfaceSystem.SurfaceManager:GetSurfaceType(RaycastHit) (at Assets/Opsive/UltimateCharacterController/Scripts/SurfaceSystem/SurfaceManager.cs:278)
Opsive.UltimateCharacterController.SurfaceSystem.SurfaceManager:GetSurfaceEffect(RaycastHit, SurfaceImpact, SurfaceType&, Boolean&) (at Assets/Opsive/UltimateCharacterController/Scripts/SurfaceSystem/SurfaceManager.cs:250)
Opsive.UltimateCharacterController.SurfaceSystem.SurfaceManager:SpawnEffectInternal(RaycastHit, SurfaceImpact, Vector3, Single, GameObject) (at Assets/Opsive/UltimateCharacterController/Scripts/SurfaceSystem/SurfaceManager.cs:184)
Opsive.UltimateCharacterController.SurfaceSystem.SurfaceManager:SpawnEffect(RaycastHit, SurfaceImpact, Vector3, Single, GameObject) (at Assets/Opsive/UltimateCharacterController/Scripts/SurfaceSystem/SurfaceManager.cs:168)
Opsive.UltimateCharacterController.Items.Actions.MeleeWeapon:HitCollider(MeleeHitbox, Collider) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/MeleeWeapon.cs:595)
Opsive.UltimateCharacterController.Items.Actions.MeleeWeapon:UseItemUpdate() (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/MeleeWeapon.cs:466)
Opsive.UltimateCharacterController.Character.Abilities.Items.Use:LateUpdate() (at Assets/Opsive/UltimateCharacterController/Scripts/Character/Abilities/Items/Use.cs:566)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:LateUpdateActiveAbilities(Ability[], Int32&) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:843)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:LateUpdateUltimateLocomotion() (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:831)
Opsive.UltimateCharacterController.Character.CharacterLocomotion:Move(Single, Single, Single) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/CharacterLocomotion.cs:476)
Opsive.UltimateCharacterController.Game.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)
I should note that the terrain is using a custom shader so this is probably because your system doesn't handle special cases. The weapon is not positioned correctly initially and is hitting the terrain when swinging. I'll switch to a standard shader for now on the terrain and revisit this issue later.
[EDIT]
Maybe not. It seems the error occurs with Standard and Legacy terrain shaders as well.