I was already doing every step you mentioned in your response except for the "uncheck wait for animation event". The only way I could learn how to set this up with the ultimate Inventory System was by studying the demo, which I have done and Im constantly referencing back and forth to setup my character just like Nolan, but Im having the same issue. This is going on an entire day of me trying different things. I've unchecked the "wait for animation event" on the Melee script, like you said and still the same issue. After I punch and/or kick, my character walks funny and is not able to equip any items, nor be killed or use any other abilities besides walking and running. Im not doing anything with animation events, although I was already aware of those two commands you gave me. Anyways, my issue still exists,If your character is stuck in an attack state my guess is that the use ability is waiting for an animation event that does not exist, so the attack never completes.
Either change it such that you do not wait for the animation event and instead wait a constant amount of seconds, or add the animation event on your item.
View attachment 7251
View attachment 7252
The animation events are called:
OnAnimatorItemUse
and
OnAnimationItemUseComplete
The Body Item is setup like any other Melee Item. In the integration all Items must be set as prefabs and must be dynamically added to the character. The way the item knows where the colliders are (legs, arms, etc...) is by using ObjectIdentifier IDs.
If you go in the weapon properties and click on one of the hitbox colliders within the list you'll be able to set the ID for it:
View attachment 7253
This ID is unique and the item will search for it on the character when the item is equipped.
If you wish to make the body item default, and that it can never be unequipped, I recommend making two "Equippable" ItemCollections. On for your equipment, and the other for your body item. Then you can simply set the body in the body Item Collection at edit time and it will be equipped automatically.
Check out the integration demo to see this in action.
I will update the documentation when we the new version is realeased to make this more clear.
I hope this helps.
if(ItemSetManager.ActiveItemSetIndex[categoryIndex] != -1){ return; }
Thanks to your reply I realized the code had change between my current version and the one that is currently released. We planned for an update soon but it was delayed to early next month. So I searched in the forum to see if someone had the same error as you previously.
I think your issue is related to this post, the error happens on the same line of code:
BridgeEquippableProcessing m_PreviousActiveSets initialised too early
Hi, I get an error when I try to assign a weapon to the character. I must have something set up incorrectly in my project, but I am not sure how to fix this. Here are the details: The problem is the CharacterInventoryBridge.Awake is being called before the InventoryItemSetManager.Initialise...opsive.com
There I shared the code changes that should fix your issue.
I'm very sorry for the inconvinience. The next update is a very big one that will fix and add new functionalities to both UCC (2.4) and UIS (1.2). We'll make quicker/smaller updates more often once those are released.
Out of curiosity why did you make the Body Item on another Item Set Category?
Item Set Categories are meant to be used as ways to equip Item Sets in parrelel. For example we use it in the demo scene to equip any magic with all othe ItemSets, or allow to throw grenades whether your left or right hand is available not matter what item is equipped in the other hand.
Does your character not die only when the body item is added?
Do you have the Die ability set?
Are you still gettings errors or warnings?
Did you check the Animator at runtime to see if the character is locked in one of the animations?
After creating the new body Item, did you setup the collider IDs and Melee Weapon Animator events?
I'd recommend you open your body Item prefab next to the demo body item prefab and compare it in detail, you might find things that you missed. Also read some of the messages above again where I explain how the colliders are setup in case you missed it.
If you are still struggling with this you can send us your project again. But this time make sure the package you send us compiles and can be used to replicate your error. You can do so by importing the package you exported in a new project and testing it.
It would also help if you can send us some reproducution steps to get to where things fail.