[Beginner asks for help]

Iamata

New member
Dear Opsive Support Team:

Hi, I'm a beginner at ULTIMATE INVENTORY SYSTEM. It's really an amazing plugin for building an inventory system.
After I go through the documentation and tutorial video, I try to customize my own UI. I encounter some problems.

  1. How could I change the item slot UI? Unfortunately, I can't find a method in "UI designer".I replace the UI element in Unity Editor, but it goes back in Play mode.
1651536834525.png


2. I delete all "item slot view" gameobject by mistake. Then I try to change the Grid size in UI Designer, but it doesn't make sense. How could I fix this?
1651536845665.png


3. I find that if there is no available action for the item, the item action button will appear like below. It's a little strange for users. How could I avoid this?

1651537067988.png



4. The item action panel always appears in the same place, I think it could be better if its position depends on the item's poison(close to the item, like the tooltips) in some situations.

Here is my Unity and UIS Version:
Ultimate Inventory System: 1.2.7
Unity Version: 2021.3.0f1c1 LTS

Thank you!
 
1)
The slot UI is part of the ItemView. The ItemViews are spawned at runtime in most cases, that's why changing it in the scene won't change anything in playmode.
You'll have to find the ItemViewDrawer component on the InventoryGrid , it will have a scriptable object that define what ItemView prefab to draw when the slot is empty.

You can customize each ItemView prefab for certain categories to have complete control over the looks of the Grid and the items. You can Add ItemViewModules to add even more variations using Item Attribute values etc...

You can learn more here:

And a video tutorial:

2)
Not really sure, you might need to create a new Inventory Grid, or manually re-add the ItemViewSlots

3)
There should be an option to not open the ItemActionPanel if no actions are available. I believe it can be found on the ItemActionBinding component next to the Inventory Grid component.

4)
You can change that using UI Designer. There should be an option to set the Item Action Panel as a Tooltip. Go in the Inventory Grid tab and scroll down to the ItemAction section.


I hope that guides you in the right direction
 
1)
The slot UI is part of the ItemView. The ItemViews are spawned at runtime in most cases, that's why changing it in the scene won't change anything in playmode.
You'll have to find the ItemViewDrawer component on the InventoryGrid , it will have a scriptable object that define what ItemView prefab to draw when the slot is empty.

You can customize each ItemView prefab for certain categories to have complete control over the looks of the Grid and the items. You can Add ItemViewModules to add even more variations using Item Attribute values etc...

You can learn more here:

And a video tutorial:

2)
Not really sure, you might need to create a new Inventory Grid, or manually re-add the ItemViewSlots

3)
There should be an option to not open the ItemActionPanel if no actions are available. I believe it can be found on the ItemActionBinding component next to the Inventory Grid component.

4)
You can change that using UI Designer. There should be an option to set the Item Action Panel as a Tooltip. Go in the Inventory Grid tab and scroll down to the ItemAction section.


I hope that guides you in the right direction
Hi Sangemdoko
I'm so appreciative of your response.
I think I mixed up some concepts and prefabs such as "ItemViewSlotForGrid" and "ItemViewForGrid".
I will check these links and learn more about UIS.
One more question, would you plan to add some demos or tutorials for mobile?
Thank you for being so supportive! :)
 
One more question, would you plan to add some demos or tutorials for mobile?
Unfortunately probably not.
But there shouldn't be any big differences from using the mouse and a mobile.
The examples we have are the Feature Scenes which are divided per feature and the main demo scene (which could also work on mobile if you were to add custom virtual controls for moving and interacting)
 
Unfortunately probably not.
But there shouldn't be any big differences from using the mouse and a mobile.
The examples we have are the Feature Scenes which are divided per feature and the main demo scene (which could also work on mobile if you were to add custom virtual controls for moving and interacting)
Fine, Thank you very much.
 
Hi Sangemdoko,
1) In Demo scene, I modified the "Empty Item View" prefab in UI Designer , but it seems the empty grid slots UI don't change.
1651588505238.png

I modified the "Empty Item View" prefab UI like blow:
1651588639088.png
In Play mode the empty grid slot look the same as before:
1651588678619.png

Do I misunderstand something?
 
1)
The slot UI is part of the ItemView. The ItemViews are spawned at runtime in most cases, that's why changing it in the scene won't change anything in playmode.
You'll have to find the ItemViewDrawer component on the InventoryGrid , it will have a scriptable object that define what ItemView prefab to draw when the slot is empty.

You can customize each ItemView prefab for certain categories to have complete control over the looks of the Grid and the items. You can Add ItemViewModules to add even more variations using Item Attribute values etc...

You can learn more here:

And a video tutorial:

2)
Not really sure, you might need to create a new Inventory Grid, or manually re-add the ItemViewSlots

3)
There should be an option to not open the ItemActionPanel if no actions are available. I believe it can be found on the ItemActionBinding component next to the Inventory Grid component.

4)
You can change that using UI Designer. There should be an option to set the Item Action Panel as a Tooltip. Go in the Inventory Grid tab and scroll down to the ItemAction section.


I hope that guides you in the right direction
Hi Sangemdoko,

Sorry for bothering you again.
I could not find an option to not open the ItemActionPanel if no actions are available on the ItemActionBinding component.
1651640718582.png
And this is related Item Action Panel setting.
1651640768375.png
Also, I found that it does not change the action button UI after I changed the “Action Button Prefab” :
1651640921519.png
 
Ah you are right. There is only the "m_DisableActionOnEmptySlots" option.

So in the ItemViewSlotsContainerItemActionBindingBase.cs script I added on line 35:
Code:
[Tooltip("Prevent opening the Item Action Panel when no actions are available for the item.")]
[SerializeField] protected bool m_PreventOpenWhenNoAction;

and in the line 302 I added:
Code:
if (m_PreventOpenWhenNoAction && m_ItemActionListSlice.Count == 0) { return true;}

I also renamed the function "CanOpenItemActionPanel" to "CannotOpenItemActionPanel" because the output was reversed.

As for the prefab, I believe it is only used if it cannot find enough exising Item Action Buttons in the content. So Either remove the edit time Item Action Buttons, or replace them by the prefab.
 
Ah you are right. There is only the "m_DisableActionOnEmptySlots" option.

So in the ItemViewSlotsContainerItemActionBindingBase.cs script I added on line 35:
Code:
[Tooltip("Prevent opening the Item Action Panel when no actions are available for the item.")]
[SerializeField] protected bool m_PreventOpenWhenNoAction;

and in the line 302 I added:
Code:
if (m_PreventOpenWhenNoAction && m_ItemActionListSlice.Count == 0) { return true;}

I also renamed the function "CanOpenItemActionPanel" to "CannotOpenItemActionPanel" because the output was reversed.

As for the prefab, I believe it is only used if it cannot find enough exising Item Action Buttons in the content. So Either remove the edit time Item Action Buttons, or replace them by the prefab.
Thanks a lot for your quick response!(y):D
 
Top