I have learned a lot about unity over the years. I also have made quite a quite a few mistakes in design and how to work the most efficently with it. My old inventory systems used a lot of internal code swapping data / windows / array checks / LOTS OF CODE THAT CAN FAIL. So this time through it has gone at least 10x faster by using unitys design. What I am doing is all objects ARE game objects. Thus only 1. If the item is in your hand it IS in your hand. If the item is in the inventory it IS in the inventory heirchy in the scene. If it is in your right or left quick action rings then it IS. Thus no dups, losses, data corruption / extra checking code. The items simply have methods to destroy the 3D representation or rebuild it. ALL the data comes from an excel spread sheet. Items,combat,story,cut scenes, etc comes from spread sheets (Data driven as it all should be) and external for QUICK and easy testing / updates. Seen below is the starts of the inventory window with the left and right hand quick rings. drag and drop an item from the central inventory wheel and they change places.
For speed I expect to add in only 8 or so items are displayed on the wheel at a time in front of you. There will be a set of labels at the bottom and a wheel side by side for each that comes into focus when that tab is selected. The inventories auto sort on loot pickup. Each inventory wheel has 32 slots. There are 7 wheels. The wheels are from left to right as you start in the middle for speed. The seperate wheels (inventories) are Materials, Schematics, Abilities, Weapons, Medication, Armor, Ammo. Each wheel stores 32 slots. So 224 total items. However, they are limited to the type of item weapons cannot go in materials. This will be to fast of a game for that. You also have 16 quick ring slots so a grand total of 240 slots. People like their loot =). The way they are currently designed to be used is a hud pop up in camera space (locked to your scree) as the quick rings left and right will be around your hands if possible. I am worried about collision with models and do not want to set up to many extra depth clears with transparent items… but I may (I may get it to one extra). Remember Vr has to draw the scene twice already. After the inventory is up then the right control stick spins the wheel by how hard it is pressed and in the up and down direction. The center item is then selected with a press and then a direction and it will move to that spot in your ring and that item returned to your inventory. The left stick controls what section you are in and slides the wheels. All in all it only took a day so far. That is EONS faster the the old design and MUCH more easy. I think I may have 20 pages of code total for all the menus so far (probably less). That is always good when not in native code. Anywho. I will be working as much as I can now on this and seeing where I get. After I get the menus working I plan on moving them to VR. Then getting simple combat protos up. Gameplay is king and that will be the inital focus before any eyecandy is made. After I feel it is a heck of a good time playing on a simple plane with some AI. I will move to playing in levels etc.. After that its mission editor time. Which I had a pretty fancy one I need to adapt to the new databased systems. (It was native to unity and their node based systems in my own editor code.)
Off to the races!