UIS Setup

BDSmith

New member
So. I went and bought the UIS. I really wanted the total bundle but already spent roughly 300 in the past day on asset stuff so decided to wait.

I've been stuck at the Inventory Menu Setup for over an hour now. The two setup portions I am stuck at are "Inventory" and "Currency Owner". The "Getting Started" isn't too clear about what is to be done here but after glancing at the demo scene, I gather that you need to use your character controller.

Now, the problem is, when I click on the little circle "add" button, nothing is available in both the scene and asset lists. As a temporary solution until I get UCC I'm using Invector's Basic Locomotion - Free. (Was better than the standard assets controller).

I'm at a loss for what to do here to fix the problem.

I've only been able to find a post from last month: here

However, he uses UCC and the solution was a UCC integration fix. I on the other hand am not.

I'm willing to right now buy, UFPM if it's compatible but the original idea was 3rd person. Not a deal breaker if I change to FP. Wish the 3P had melee capability. Oh well.

So does anyone know a solution for this for those of us that are not using the UCC?
 
@BDSmith As pointed out in the other post UIS is a standalone asset and works perfectly on its own.

From what you are saying my guess is that you have not created and or assigned your inventory system database in your scene.
Make sure to watch the video tutorials: https://opsive.com/videos/?pid=22330

In the Main editor manager (Tools -> Opsive -> Ultimate Inventory System -> Main Menu). Go to the setup tab and make sure you have a database assigned. If not create a new one. Then if you are in an empty scene use the Scene setup Add components button to add the singletons.
1594883496172.png

To make sure things are set up look in the scene for your Inventory System Manager
1594883569632.png

Finally on your character add the Inventory component (you can also add the CurrencyOwner component on the character)
1594883659287.png
That is all you need to do.

Then it is up to you what you should do with those items.

Of course you'll need to create some categories and item definitions before anything can appear when trying to add items to your inventory.

Once you have the inventory component and the currency owner component on your character you can open the Setup tab again and the fields for the inventory and currencyOwner will be set automatically. If not select your character from the scene.

And with that you should get a UI to view your new items. In the long term you'll want to make sure to replace the UI with your own prefabs and scriptable objects but this is a great way to get started.

Let me know if you have any other questions, I'm happy to help :)
 
Last edited:
@BDSmith - If you're still having problems after going through @Sangemdoko's post can you post a quick video of your workflow? This will help us understand what is going wrong, and maybe improve the editor for those just getting started.
 
@BDSmith As pointed out in the other post UIS is a standalone asset and works perfectly on its own.

From what you are saying my guess is that you have not created and or assigned your inventory system database in your scene.
Make sure to watch the video tutorials: https://opsive.com/videos/?pid=22330

In the Main editor manager (Tools -> Opsive -> Ultimate Inventory System -> Main Menu). Go to the setup tab and make sure you have a database assigned. If not create a new one. Then if you are in an empty scene use the Scene setup Add components button to add the singletons.
View attachment 3457

To make sure things are set up look in the scene for your Inventory System Manager
View attachment 3458

Finally on your character add the Inventory component (you can also add the CurrencyOwner component on the character)
View attachment 3459
That is all you need to do.

Then it is up to you what you should do with those items.

Of course you'll need to create some categories and item definitions before anything can appear when trying to add items to your inventory.

Once you have the inventory component and the currency owner component on your character you can open the Setup tab again and the fields for the inventory and currencyOwner will be set automatically. If not select your character from the scene.

And with that you should get a UI to view your new items. In the long term you'll want to make sure to replace the UI with your own prefabs and scriptable objects but this is a great way to get started.

Let me know if you have any other questions, I'm happy to help :)

I love you! haha. So I didn't see anything in the Getting Started documentation about adding those 2 components to the controller! I've never had an inventory system or currency system before (first game in Unity, pretty much first game at all haha). Thank you so much!!!
 
@BDSmith - If you're still having problems after going through @Sangemdoko's post can you post a quick video of your workflow? This will help us understand what is going wrong, and maybe improve the editor for those just getting started.

It was just in the Getting Started documentation:

"An inventory component must be specified in the Inventory field to setup the inventory menu."

I wasn't aware that it was stating there was an Inventory Component that had to be added to the controller. After reading Sangemdoko's post, I realized that. haha.
 
My sincere apologies for hijacking this thread. Not my intention, but I believe it to be related.

My Inventory, ItemUser, and ItemHotbarOwner instances are on a prefab that I instantiate at runtime. Is there a way I can assign the InventoryMenuStup>Inventory and CurrencyOwner fields at runtime to this prefab?

capture.PNG
 
Hi @spryx

[EDIT]

Sorry after reading your post again I think I got a better idea of what you are trying to achieve. You won't be able to achieve this using the editor window. The editor window is meant to be used at edit time to quickly set up some values.

Could you write a new forum post about this and I'll find a solution for you. The idea will be to create the menu at edit time using the editor (you can drag your prefab in the scene to use it to set the menu and once it is created you can remove your character from the scene) and then bind it at runtime using a custom script.

I can guide you to write the custom script once you make the other post.
 
Last edited:
Hi @spryx

[EDIT]

Sorry after reading your post again I think I got a better idea of what you are trying to achieve. You won't be able to achieve this using the editor window. The editor window is meant to be used at edit time to quickly set up some values.

Could you write a new forum post about this and I'll find a solution for you. The idea will be to create the menu at edit time using the editor (you can drag your prefab in the scene to use it to set the menu and once it is created you can remove your character from the scene) and then bind it at runtime using a custom script.

I can guide you to write the custom script once you make the other post.

I'll hold off on creating another post for now. I believe everything should be working. Dragging the prefab object into the Inventory and CurrencyOwner caches the refs for the required fields. After instantiating the play prefab (See screenshot), the references are maintained even between Unity sessions. Apologies for my previous post, as I had not tried this prior to posting. If I have any further difficulties, I will let you know, but I think a simple remedy for those of us that want to do this outside of the easy menu is just to list what fields are being assigned from this dialog in the docs. Thanks!

capture.PNG

Unrelated edit: I have to remove Antlr3.runtime.dll from the package contents as Unity's new PlasticSCM plugin also has the same precompiled assembly. Just though you should know as you might see an influx of users using it after UT's recent acquisition of the company.
 
Last edited:
Top