Generic Reloader Cannot Reload

I have an enemy agent set up, which runs fine when not equipping a weapon. But when I add a shootable weapon, I get the errors below. The character also has the Reload Item Ability enabled. I've fished for quite a while, but can't figure out why I'm getting these errors when logging. Anybody have an idea of where I'm screwing this up?

Code:
[15][EnemyLaserTower_Weapon] : Cannot Reload because of module: [0] GenericReloader
UnityEngine.Debug:Log (object,UnityEngine.Object)
Opsive.UltimateCharacterController.Items.Actions.CharacterItemActionLogger:Log (string) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/CharacterItemActionLogger.cs:89)
Opsive.UltimateCharacterController.Items.Actions.ShootableAction:CanReloadItem (bool) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/ShootableAction.cs:549)
Opsive.UltimateCharacterController.Character.Abilities.Items.Reload:CanStartAbility () (at Assets/Opsive/UltimateCharacterController/Scripts/Character/Abilities/Items/Reload.cs:118)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:TryStartAbility (Opsive.UltimateCharacterController.Character.Abilities.Items.ItemAbility,bool) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:988)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:TryStartAbility (Opsive.UltimateCharacterController.Character.Abilities.Ability,bool,bool) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:837)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:UpdateAbilities (Opsive.UltimateCharacterController.Character.Abilities.Ability[]) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:652)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:UpdateCharacter () (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:580)
Opsive.UltimateCharacterController.Character.CharacterLocomotion:Move (single,single,single) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/CharacterLocomotion.cs:564)
Opsive.UltimateCharacterController.SimulationManager/SmoothedCharacter:Move (bool) (at Assets/Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:169)
Opsive.UltimateCharacterController.SimulationManager:MoveCharacters (bool,single) (at Assets/Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:723)
Opsive.UltimateCharacterController.SimulationManager:FixedUpdate () (at Assets/Opsive/UltimateCharacterController/Scripts/Game/SimulationManager.cs:671)
 
Hold the phone, I adjusted some of the other modules (Simple Trigger only, no Usable Actions) and deactivated the Reload Item Ability, and everything functions just like I thought it should. The only artifacts are an error message about a null reference in the CharacterItem.Initialize function (which is thrown no matter how I set up my weapons), and another one about setting the parent of a transform in a Prefab (I'm sure that's due to my own prefab setups.
 
Glad you are making progress.

What is the stack trace of the null reference? Do you have a similar module setup as the assault rifle?
 
Thanks for your reply. Yeah, this stuff is fun to play with. My modules are close to the assault rifle setup, modified a bit. I'll paste them below, along with the error message. My player is using UIS, enemy is UCC only, but I get the same message with any weapon that I equip. They seem to behave fine, but that bothersome error keeps cropping up. Give me a heads up if you can see what I'm doing wrong.

Code:
NullReferenceException: Object reference not set to an instance of an object
Opsive.UltimateCharacterController.Items.CharacterItem.Initialize (System.Boolean force) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/CharacterItem.cs:243)
Opsive.UltimateCharacterController.Items.CharacterItem.Awake () (at Assets/Opsive/UltimateCharacterController/Scripts/Items/CharacterItem.cs:228)
UnityEngine.Object:Instantiate(GameObject, Vector3, Quaternion, Transform)
Opsive.Shared.Game.ObjectPoolBase:InstantiateInternal(GameObject, Int32, Vector3, Quaternion, Transform)
Opsive.Shared.Game.ObjectPoolBase:InstantiateInternal(GameObject, Vector3, Quaternion, Transform)
Opsive.Shared.Game.ObjectPoolBase:Instantiate(GameObject, Vector3, Quaternion, Transform)
Opsive.Shared.Game.ObjectPoolBase:Instantiate(GameObject, Vector3, Quaternion)
Opsive.UltimateCharacterController.Items.Actions.Modules.Shootable.SpawnProjectile:GetProjectileDataToFire(ShootableUseDataStream, Vector3, Vector3, ShootableAmmoData) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Modules/Shootable/ProjectileModule.cs:537)
Opsive.UltimateCharacterController.Items.Actions.Modules.Shootable.SpawnProjectile:GetProjectileDataToFire(ShootableUseDataStream, Vector3, Vector3, ShootableAmmoData, Boolean, Boolean) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Modules/Shootable/ProjectileModule.cs:379)
Opsive.UltimateCharacterController.Items.Actions.ShootableAction:GetProjectileDataToFire(ShootableUseDataStream, Vector3, Vector3, ShootableAmmoData, Boolean, Boolean) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/ShootableAction.cs:411)
Opsive.UltimateCharacterController.Items.Actions.Modules.Shootable.ShootableShooterModule:GetProjectileDataToFire(ShootableUseDataStream, Vector3, Vector3, ShootableAmmoData) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Modules/Shootable/ShooterModule.cs:107)
Opsive.UltimateCharacterController.Items.Actions.Modules.Shootable.ProjectileShooter:ProjectileFire(ShootableUseDataStream, ShootableAmmoData) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Modules/Shootable/ProjectileShooter.cs:221)
Opsive.UltimateCharacterController.Items.Actions.Modules.Shootable.ProjectileShooter:Fire(ShootableUseDataStream) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Modules/Shootable/ProjectileShooter.cs:196)
Opsive.UltimateCharacterController.Items.Actions.ShootableAction:TriggerItemAction(TriggerData) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/ShootableAction.cs:267)
Opsive.UltimateCharacterController.Items.Actions.Modules.SimpleBaseTrigger:UseItemTrigger() (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/Modules/TriggerModule.cs:400)
Opsive.UltimateCharacterController.Items.Actions.UsableAction:UseItem() (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/UsableAction.cs:521)
Opsive.UltimateCharacterController.Items.Actions.ShootableAction:UseItem() (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/ShootableAction.cs:245)
Opsive.UltimateCharacterController.Items.Actions.UsableAction:UseItemUpdateInternal(Use) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/UsableAction.cs:665)
Opsive.UltimateCharacterController.Items.Actions.UsableAction:UseItemUpdate(Use) (at Assets/Opsive/UltimateCharacterController/Scripts/Items/Actions/UsableAction.cs:633)
Opsive.UltimateCharacterController.Character.Abilities.Items.Use:LateUpdate() (at Assets/Opsive/UltimateCharacterController/Scripts/Character/Abilities/Items/Use.cs:463)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:LateUpdateActiveAbilities(Ability[], Int32&) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:679)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:Update() (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:605)
 
Top