Errors during initial setup

Idialot

New member
Greetings all

I have been doing the video tutorial for the initial setup using a duplicated version of the demo database. I am using the inventory system in a 2.5D top-down game with my own top-down controller.

When I run the scene, everything works, pickup prefabs work all seems fine, but I get this error.

The inventory 'Player (Opsive.UltimateInventorySystem.Core.InventoryCollections.Inventory)' does not contain an item slot collection for the ID provided in the ItemSlotCollectionView
UnityEngine.Debug:LogError (object,UnityEngine.Object)
Opsive.UltimateInventorySystem.UI.Panels.Hotbar.ItemSlotCollectionView:OnInventoryChanged (Opsive.UltimateInventorySystem.Core.InventoryCollections.Inventory,Opsive.UltimateInventorySystem.Core.InventoryCollections.Inventory) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/Hotbar/ItemSlotCollectionView.cs:187)
Opsive.UltimateInventorySystem.UI.Item.ItemViewSlotsContainerBase:SetInventory (Opsive.UltimateInventorySystem.Core.InventoryCollections.Inventory,bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Item/ItemViewSlotsContainerBase.cs:339)
Opsive.UltimateInventorySystem.UI.Item.ItemViewSlotsContainerBase:SetInventory (Opsive.UltimateInventorySystem.Core.InventoryCollections.Inventory) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Item/ItemViewSlotsContainerBase.cs:322)
Opsive.UltimateInventorySystem.UI.Panels.ItemViewSlotContainers.ItemViewSlotsContainerPanelBinding:OnInventoryBound () (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ItemViewSlotContainers/ItemViewSlotsContainerPanelBinding.cs:99)
Opsive.UltimateInventorySystem.UI.Panels.ItemViewSlotContainers.InventoryPanelBinding:BindInventory (Opsive.UltimateInventorySystem.Core.InventoryCollections.Inventory) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ItemViewSlotContainers/InventoryPanelBinding.cs:89)
Opsive.UltimateInventorySystem.UI.Panels.ItemViewSlotContainers.InventoryPanelBinding:BindInventory () (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ItemViewSlotContainers/InventoryPanelBinding.cs:59)
Opsive.UltimateInventorySystem.UI.Panels.ItemViewSlotContainers.InventoryPanelBinding:Initialize (Opsive.UltimateInventorySystem.UI.Panels.DisplayPanel,bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ItemViewSlotContainers/InventoryPanelBinding.cs:44)
Opsive.UltimateInventorySystem.UI.Panels.ItemViewSlotContainers.ItemViewSlotsContainerPanelBinding:Initialize (Opsive.UltimateInventorySystem.UI.Panels.DisplayPanel,bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ItemViewSlotContainers/ItemViewSlotsContainerPanelBinding.cs:52)
Opsive.UltimateInventorySystem.UI.Panels.DisplayPanel:Setup (Opsive.UltimateInventorySystem.UI.Panels.DisplayPanelManager,bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/DisplayPanel.cs:137)
Opsive.UltimateInventorySystem.UI.Panels.DisplayPanelManager:SetupDisplayPanels (bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/DisplayPanelManager.cs:160)
Opsive.UltimateInventorySystem.UI.Panels.DisplayPanelManager:SetPanelOwner (UnityEngine.GameObject) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/DisplayPanelManager.cs:187)
Opsive.UltimateInventorySystem.UI.Panels.DisplayPanelManager:Initialize (bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/DisplayPanelManager.cs:123)
Opsive.UltimateInventorySystem.UI.Panels.DisplayPanelManager:Awake () (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/DisplayPanelManager.cs:79)

When I look at the demo scene, the required field is using the Player.Inventory yet when I set my player inventory I get the same error. I find the video somewhat out of date. I am also using the default RPG UI template which I did duplicate and verify.
Any help would be appreciated.
Also when I approach the item pickup, the UI does not face the camera and therefor not readable, I tried rotating it but it seems to reset itself. Not sure the setting for this is.
 
The error says that the Equipment window that shows your equipped items cannot find the equipment collection on your player Inventory.

Your Inventory must have an "ItemSlotCollection" (your equipment collection) and it's ID and ItemSlotSet must match what you've set in the UI so that the UI can find the equipped items and display them in the UI

You can check out the "12 Equipping" feature scene for a simple example of how equipping works

1701427037924.png
See how the ItemCollection purpose is set to Equipped, that means it will search for the ItemSlotCollection with purpose Equipped in the linked inventory.

1701427172011.png



Also when I approach the item pickup, the UI does not face the camera and therefor not readable, I tried rotating it but it seems to reset itself. Not sure the setting for this is.
Most likely this is caused by this script
1701427301952.png
It is supposed to point the canvas towards the camera, but perhaps it doesn't work well with a top down view? I'm not sure why it wouldn't rotate to the correct direction, But feel free to remove this component or replace it with something else
 
Ok fixed the pickup text as the Billboard script was not attached as to why it did not look at the camera.
Still no luck getting the equipment UI working. Just keep getting errors. I compared the images you posted and checked and everything is the same and nothing but same error and more errors when I change anything.
The item slot collection 'ItemCollection(Equipped) Equipment' has an Item Slot Set '' which does not match with the Item Slot Set 'PlayerCharacterItemSlotSet (Opsive.UltimateInventorySystem.Core.InventoryCollections.ItemSlotSet)' provided in the ItemSlotCollectionView
UnityEngine.Debug:LogError (object,UnityEngine.Object)
Opsive.UltimateInventorySystem.UI.Panels.Hotbar.ItemSlotCollectionView:OnInventoryChanged (Opsive.UltimateInventorySystem.Core.InventoryCollections.Inventory,Opsive.UltimateInventorySystem.Core.InventoryCollections.Inventory) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/Hotbar/ItemSlotCollectionView.cs:193)
Opsive.UltimateInventorySystem.UI.Item.ItemViewSlotsContainerBase:SetInventory (Opsive.UltimateInventorySystem.Core.InventoryCollections.Inventory,bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Item/ItemViewSlotsContainerBase.cs:339)
Opsive.UltimateInventorySystem.UI.Item.ItemViewSlotsContainerBase:SetInventory (Opsive.UltimateInventorySystem.Core.InventoryCollections.Inventory) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Item/ItemViewSlotsContainerBase.cs:322)
Opsive.UltimateInventorySystem.UI.Item.ItemViewSlotsContainerBase:Initialize (bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Item/ItemViewSlotsContainerBase.cs:292)
Opsive.UltimateInventorySystem.UI.Item.ItemViewSlotsContainer:Initialize (bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Item/ItemViewSlotsContainer.cs:39)
Opsive.UltimateInventorySystem.UI.Panels.ItemViewSlotContainers.ItemViewSlotsContainerPanelBinding:OnInitializeBeforeInventoryBind () (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ItemViewSlotContainers/ItemViewSlotsContainerPanelBinding.cs:72)
Opsive.UltimateInventorySystem.UI.Panels.ItemViewSlotContainers.InventoryPanelBinding:Initialize (Opsive.UltimateInventorySystem.UI.Panels.DisplayPanel,bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ItemViewSlotContainers/InventoryPanelBinding.cs:42)
Opsive.UltimateInventorySystem.UI.Panels.ItemViewSlotContainers.ItemViewSlotsContainerPanelBinding:Initialize (Opsive.UltimateInventorySystem.UI.Panels.DisplayPanel,bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/ItemViewSlotContainers/ItemViewSlotsContainerPanelBinding.cs:52)
Opsive.UltimateInventorySystem.UI.Panels.DisplayPanel:Setup (Opsive.UltimateInventorySystem.UI.Panels.DisplayPanelManager,bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/DisplayPanel.cs:137)
Opsive.UltimateInventorySystem.UI.Panels.DisplayPanelManager:SetupDisplayPanels (bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/DisplayPanelManager.cs:160)
Opsive.UltimateInventorySystem.UI.Panels.DisplayPanelManager:SetPanelOwner (UnityEngine.GameObject) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/DisplayPanelManager.cs:187)
Opsive.UltimateInventorySystem.UI.Panels.DisplayPanelManager:Initialize (bool) (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/DisplayPanelManager.cs:123)
Opsive.UltimateInventorySystem.UI.Panels.DisplayPanelManager:Awake () (at Assets/Opsive/UltimateInventorySystem/Scripts/UI/Panels/DisplayPanelManager.cs:79)

Not an easy system to understand at all. The videos are way outdated. Where do I create this item slot set? Makes no sense as I am using the demo database copy so this item should still match. Where do I set the actual points where items will be attached to the model?
 
As the error says. your ItemSlotSet does not match on your character equipment and in the UI.
The ItemSlotSet defines what are the slots your character can equip items.

I think you should watch this video:

Yes they are slightly outdated but the things explained in the video are still relevant

I recommend you also read this page:

and this one:

If you are still struggling with this after going through all of that, send me some screenshots of you inspectors and hopefully I'll be able to point you in the right direction
 
Yup, watched the videos, and tried to work along with them but once again, elements were missing as more than likely moved with updates, and I can no longer get anything from them. Just keep getting the same or more errors. I'm still wondering where the ID is set that is supposed to match as I did not set anything just duplicated the RPG schema. If it is the name, then most are just blank. If I give it a name to match what is on the player I just get more errors.

As someone who has worked in the education field, the information (tutorials) needs to be up-to-date and accurate. There should be a set of tutorials for each scenario. FPS, TPS, and TOP down. Much of course would be similar but the tutorials make me feel like a dumb ass. Am I the only one with these problems? If so then maybe I am too dumb to catch on to this system.

Don't get me wrong, I love Behavior Designer and your products but this one just confuses me totally. I would say it would be easier to just code my own simple inventory rather than spend hours figuring this one out.
 
I'm very sorry to hear that.
I am more than happy to offer some support on the issues you are having.

As I mentioned previously if you can send me some screenshot I might be able to point you the the field you need to set.
I would recommend you check again the first message I sent you with the screenshots as those show the fields you need to double check.
You can even try to reset those fields to ensure that you aren't mistakenly assinging two different ItemSlotSets but with the same name.

UIS is an extensive system allowing you to make any kind of inventory you want for your games. The learning curve is steep, but the trade off is having something that is modular and allows you complete freedom.
It is important to read the documentation to understand some concepts.

As for the video tutorials, they take a long time to make, it is simply not viable for us to remake videos after each update.
We do make new video tutorials after major releases. Or when a feature works completely differently.
For smaller changes, we direct people to read the documentation as those are always up to date with the latest changes.

Let me know if there is anything I can help with. The more context you give me the better I can help. Screenshots, full error messages, etc...
 
Ok... I'll do the initial setup again and send the screenshots of the errors I keep getting... That may be the best solution. Cheers give me a day or so as I am not at home now.
 
Not only screeshots of the errors, but screenshots of the Inventory and ItemSlotCollectionView component inspectors (the ones I sent you in my first reply)
 
Top