Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Inventory Pro - uGUI - Performance - Mobile support & More

Discussion in 'Assets and Asset Store' started by jorisshh, Mar 8, 2015.

?

What should I build next?

  1. New currency system

    14.1%
  2. Improved serialization / saving for web

    10.8%
  3. Better properties for items (percentages, base values, etc)

    27.2%
  4. Controller support

    15.4%
  5. Unity 5.1 networking (multiplayer)

    36.9%
  6. More modular build to simplify extending

    25.1%
  7. UFPS Multiplayer (Asset integration)

    11.5%
  8. Core GameKit (Asset integration)

    4.1%
  9. Dialogue system (Asset integration)

    21.3%
  10. Wordpress integration (Asset integration)

    4.1%
Multiple votes are allowed.
  1. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Last edited: Mar 11, 2017
    Gozdek, danreid70, XCO and 2 others like this.
  2. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
  3. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    New features are coming, Vendors (NPC buying / selling + buy back) & crafting will be done soon. Want to request more? Please leave a reply.
     
  4. Henk845

    Henk845

    Joined:
    Mar 9, 2015
    Posts:
    7
    Very nice, I'll buy the package once these features are implemented.
     
  5. Socrates

    Socrates

    Joined:
    Mar 29, 2011
    Posts:
    787
    A little feedback, since you asked about our biggest issue with the asset.

    Overall, the package looks very interesting. You seem to have developed a robust inventory system that has a lot of features. My current project does not require an inventory system, but I have put your system on my watch list for another project that will require one. I am looking forward to seeing how this asset grows in the mean time.


    On the constructive criticism end, there are a few things you could to improve your presentation of the project.

    First, your sample demo did not sell me the asset at all. I did not understand the point of it, since all you could do was open and close the inventory window. It was not until I watched the YouTube video above that I realized those boxes in the scene had a purpose and that you could click on them. This needs to be clear inside the demo. To me, a white box is just how you build a demo level, not a pickup. (I did try running into them in case they did something, but did not think of clicking on them.)

    Additionally, the controls for the demo are listed outside of the demo window. They should be in GUI text. I opened the demo full screen by default and did not see them until I had exited out of the demo.


    On your Asset Store page for "The InventorySystem - Normal", none of the links to your Pro version or the demo work. The Pro page links do not work either. The demo link is "http://\\devdog.nl/unity/inventorysystem/". The links to your other Asset Store pages are all "https://www.assetstore.unity3d.com/en/#".


    [SNIP] Ignore my previous comment on the YouTube video. Turns out a recent Firefox crashed somehow cranked the volume of all YouTube videos up to max. Sorry for the user error.

    Looking forward to seeing how this asset evolves. Good luck with it.

    Also, I really like the product image you used on both pages. That is an great looking bag full of interesting stuff.
     
    Last edited: Mar 9, 2015
  6. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hi Socrates,

    Thank you for the amazing feedback. When reading I realized you were absolutely right about the white cubes, smacked myself in the face for feeling like an idiot and immediately started on an update. I've added controls and explanations in the new demo build, and hope it's much clearer now.

    As for the Asset store links, this is because Unity hasn't processed the update yet, should be fixed soon.

    Please try the New demo
     
    Last edited: Mar 9, 2015
  7. sanuvin

    sanuvin

    Joined:
    Feb 11, 2014
    Posts:
    61
    Nice

    Character screen would prefer to see an actual character outline and what goes where or something like below. Should handle two handed weapons automatically. So If you had a shield and/or shield weapon equpped and tried to put in a 2h weapon then both items would go to inventory and replaced with 2h item

    If implement items below then when you drag item then perhaps correct spot would be highlighted. Another option is if you double click an item in inventory it automatically goes to correct spot on character. If character has item in spot that goes to inventory.

    Couple ideas below

    upload_2015-3-9_17-12-24.png upload_2015-3-9_17-15-13.png
     
    Last edited: Mar 9, 2015
    jorisshh likes this.
  8. Socrates

    Socrates

    Joined:
    Mar 29, 2011
    Posts:
    787
    You are quite welcome.

    Overall, you made it much more obvious that you get items from the blocks. The text telling you to take them is hard to read though. It's behind the blocks and too big to see while the blocks are in the way. (See image below.) I believe you will get a better "user experience" if you put the instructions as just normal-sized text in the corner of the player's screen. Maybe with a "hide" button if you want.

    Honestly, you could probably scale down the various text elements and boxes quite a bit. Demo users should be focusing on the inventory screens, not these big objects and such in the screen. Don't draw attention away from the product.

    The bank should probably be a different color than the treasure chests so you know it is something different to experiment with.

    I was able to equip a sword from one of the chests, but I did not see any notation of a key to hit for how to open the character worn gear screen. (If that's a screen you want people to look at.)

    There's something wrong with the avatar's movement though. I noticed when I hit the "s" key to go backwards, I stutter in place like crazy but never move. A minor thing, but it's always good to have a demo as smooth as possible so nobody thinks it has to do with your inventory system itself.


    Hard to read text:
    upload_2015-3-9_17-28-40.png
     
    jorisshh likes this.
  9. Henk845

    Henk845

    Joined:
    Mar 9, 2015
    Posts:
    7
    I Agree you could really use a better character UI, have a look at the Guild wars 2 UI, I really like it.
     
  10. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    its a code asset, there is no point on focusing on AI aspect as every game would need a different one, but there is a section in asset store that have lot of different GUI template that you can use with this asset.
     
  11. devenv

    devenv

    Joined:
    Sep 24, 2014
    Posts:
    3
    Not generic enough IMO.
    Too RPG-oriented, for someone who wants to do RPM the price is great, for other genres it's too expensive...
    Also you have "to" instead of "too" in the first poll option :)
     
  12. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Damien is right, I can't possibly create a single solution with all the properties that everyone wants to use. So instead I'll make it as simple as possible to manage and tweak to your own needs.

    I think I came up with a solution that will make everyone happy.
    The default classes have attributes that mark a field as a potential stat.

    I wrote a custom editor. First you select your types that you want to scan for stats, basically anything that's equippable.

    After you've scanned the types you can choose which to display and which to ignore. Show types don't work yet, maybe i'll use a code / interface solution instead for more freedom.


    Attributes can also be added on runtime, just in case you want to write something custom yourself :).
     
  13. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    thats great, what are the others type with "Sum"?
     
  14. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I understand your concern, I'm working on this as we speak, and allowing multiple different implementations. I'll be sure to add demo's for other game types as well (in the near-ish future)
     
  15. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Those are the formatters, maybe you want to show the sum of all items that contain the stat, and maybe you want to show the average.

    I'm swapping the enum out for an interface though, so the user can manage it 100%.
     
  16. SimonDarksideJ

    SimonDarksideJ

    Joined:
    Jul 3, 2012
    Posts:
    1,688
    A very nice asset overall, with a lot of promise. A great use of the new UI system.
    Will need to support multiple layouts and item styles plus animation in the future.

    Not clear in the video or your notes. Will this be screen space only or will it also support world space?
     
  17. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Thanks, by multiple layouts and styles do you mean modifying the grids by columns, rows, etc, and skinning / tweaking it to your needs? Because if so, this is already possible :). Also animations are already supported, windows have a show and hide animation, currently it's just a little pop, but in fact everything has animations even the tooltip.

    To my own surprise the InventorySystem works for 90% in worldspace, the tooltip still leaves a bit to desire, as well as dragging windows around. Swapping, merging, banks, looting, all works, just need to fix some small visual bugs.

    A little teaser :)


    For now I'll hold off on this until the system has the proper functionality and is stable enough, after that I'll be sure to add support for worldspace.
     
  18. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Working on this as we speak, I think you're going to like this:

    The UI is obviously completely adjustable.
    You can add as many slots for the character UI as you like.

    Stats are generated from the selected fields of the editor. (check previous post)
     
    Last edited: Mar 10, 2015
  19. sanuvin

    sanuvin

    Joined:
    Feb 11, 2014
    Posts:
    61
    impressive
     
  20. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Again great feedback, I've added the text in the top left just to be safe, in-case people couldn't read the text behind the white blocks.

    I also swapped the bank color, made the text a bit smaller in the world.

    I've also added the key combination to show the character UI, which now looks quite different, which way more features (check previous posts).
     
    Socrates likes this.
  21. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Thanks :), much more on it's way though, the character UI is far more advanced now, and comes with a cool editor to manually pick the stats you want to show.

    Once I have this all wrapped up, vendors are next as well as crafting :).
     
  22. goldencruz

    goldencruz

    Joined:
    Oct 2, 2013
    Posts:
    94
    this look real nice if I am not a programmer will be able to use this
     
  23. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Of course, there are plenty of editors to create items, properties, categories, set all the settings and more :). All basic elements are modifiable through the UI. Some things such as formatters arent, because I wanted to keep the system as extensible as possible, and allow people to integrate it into their own system or write extensions.

    But yes It's designer friendly :)
     
  24. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
  25. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I'm starting on the vendor functionality, any specific requests?
     
  26. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    A little update on the character and equipment system. I decided to make it as flexible as possible, to allow an infinite number of use cases.

    Equip types can be defined using a new editor. Certain items might use up multiple slots, or are just not compatible with one another. Once you define an item type you can define the "blocks" these are the in-compatible fields. When you equip an item, the blocks are checked and un-equipped if necessary.


    This allows you to handle various concepts, create equip items for a pet, even add body parts to a car for a racing game :).
    Hope you like it, let me know what you guys think.
     
    Hans and Socrates like this.
  27. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Update
    • Mobile UI drawcalls have been reduced, the InventorySystem should now run much faster on mobile devices.
    • The equipment system has had a big update, fields can be defined using the editor for full customization.
    • Item properties are now global and can be created using the editor.
    • Re-factoring to keep it all nice and consistent
    • Multi-inventory support, create multiple inventories and define restrictions and a priority per inventory. This allows you to create consumable only inventories, quest item only, etc. You can also create multiple restrictions such as consumable and equippable only.

    What's next?:
    • Vendor system with buyback.
    • Crafting system
    If you like to see specific features for what's to come, be sure to speak up :)

    The update should be live in the asset store in a few business days.
     
    Last edited: Mar 13, 2015
  28. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    A little update on the vendor (npc) system.

    Items can be defined through the editor, or through code, whichever suits you best.
    A feature to randomly fill the vendor was requested, considering that the loot / treasure system might need something similar I decided to build a generator (check below).


    The generator:
    By default there is the BasicItemGenerator class that can filter and generate based on the item settings, for example.

    Code (CSharp):
    1. var generator = new BasicItemGenerator();
    2. generator.SetItems(InventoryManager.instance.items); // Add all available items (sets default weight to 0.5f / 50%)
    3. generator.onlyOfTypes.Add(typeof(ConsumableInventoryItem)); // Only want consumable items
    4. generator.minRequiredLevel = 5; // Required level needs to be atleast 5
    5. generator.Generate(5); // Generate 5 elements
    6. // generator.Generate(5, 7); // Generate between 5 and 7 items.
    Custom item weights can also be set by creating an array of InventoryItemGeneratorItem and set the weight per item.

    The generator can be used for any collection, this obviously includes the inventory, bank, vendor, looting, or any other collection.

    Hope you like it :)
     
    Henk845 likes this.
  29. Henk845

    Henk845

    Joined:
    Mar 9, 2015
    Posts:
    7
    Looks very good! There will be buy-back support right?
     
  30. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Yep, working on it as we speak :)
     
    Henk845 likes this.
  31. Henk845

    Henk845

    Joined:
    Mar 9, 2015
    Posts:
    7
    Any news on the vendor system? Love to see some screenshots.
     
  32. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Always good to hear someone is interested in your work :), alright here goes.

    I've worked on a lot of things actually,

    Message center
    Messages and be displayed through the message center. Each message can of-course be fully customized, if you have your own message center / system you can simply hook to the event and transfer them to your own system.


    Item usage override

    The item usage as well as the context menu can be overridden / adjusted based on the collection they're in. For example when using an item directly from the bank it will be stored in the Inventory. When using an item from the inventory while the bank is open, it will be stored in the bank. When using an item while the vendor window is open a sell dialog will be popped.

    Of course this behavior is customizable and can be modified through the editor.


    Vendor system (almost done)
    The vendor system can either generate items or manually define them.

    Also the buy/sell factor can be modified per vendor, by default it's 1, 1.1 would be a 10% increase.
    The close and open animations will be triggered when selecting the vendor, this can be useful to play an animation on a character / the vendor.

    Vendors have a category and buy back can be shared by category. For example when selling to a vendor with the category "Grocer", all other vendors with the same category will have the items available for buy-back.




    Window pages

    Some pages might have tabs or "pages", pages can be defined through the editor.
    Assume you want to make a character window with multiple tabs, pages is what you want to use :). Window pages are backward compatible, so if your windows have no extra pages, just continue as you were.



    Hope you like it and more to come soon :)
     
    Last edited: Mar 16, 2015
    Henk845 and Tiny-Tree like this.
  33. Henk845

    Henk845

    Joined:
    Mar 9, 2015
    Posts:
    7
    Really nice, but I have to ask, is there an ETA?
     
  34. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    738
    Hello, it would be nice if there is an android.apk demo.

    I wanted to buy this for mobile development, but I am not sure how it works on mobile.
     
  35. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hey Gekigengar,

    Ill do my best to upload an APK tonight, no promises though :).
     
  36. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hey Henk845

    I just have to wrap up some code and update the documentation, shouldn't take longer than 1-2 days tops.
     
  37. Hans

    Hans

    Joined:
    Feb 20, 2007
    Posts:
    422
    Hi
    Just wondering if the above is in yet?
    i have not had a good look through your app yet :)
    Looking forward to the new additions
     
    Last edited: Mar 17, 2015
  38. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hey Gekigengar,

    I've send you a link where you can try out the APK, I'm not posting it on the forums yet because the UI is clearly not designed for mobile usage and feels rather clunky, this has nothing to do with the capabilities of the InventorySystem, just that the design is not optimized for it. When I have the time I'll make a proper demo, but for now you can try the "clunky" demo to see all the functionality in action.

    Cheers,
    Joris
     
  39. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hey Hans,

    Well almost, I've submitted the package to the Unity asset store and it's pending review. I've submitted it last week on a... Friday, so it should be live any day now.
     
  40. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    The vendor system is done and tested :) will push for Unity asset store first thing tomorrow.
     
  41. Hans

    Hans

    Joined:
    Feb 20, 2007
    Posts:
    422
    Nice work Jorisshh

    Looking forward to the crafting & Vendor system

    What are you planning to add to the inventory system in the future?

    Thanks
     
  42. sanuvin

    sanuvin

    Joined:
    Feb 11, 2014
    Posts:
    61
    Perhaps a compare two items ability? Grab an item from inventory and character screen is open shows you what you have currently equipped in that slot and what is in hand via double tool tips. Drop an item on character portrait in character screen and automatically equips in correct spot? I recall another game if you looted an item and character equipment was empty it would automatically equip item if allowed. Just some thoughts
     
  43. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Well let's see I have the following on my list (Just a copy paste):
    • Messaging system (notice)
    • Vendors
    • Crafting (2 types, Guildwars & Minecraft)
    • Playermaker, iCode, Behavior designer (Research)
    • Crafting + editors
    • Crafting - choose craft result bag (all crafted items go into inspector defined bag)
    • Extra demo level with list view? (Mobile)
    • Make new graphic - Advertise as multi-use system not just RPG
    • Record video of editor / video tutorial?
    • Worldspace UI
    • Launch party - temp 30% off?
    • Inventory bags -> show amount of bags with icons (WOW style)
    • Video tutorials (Maybe)
    • Support other systems (Research)
    Features can of course be requested :)
     
  44. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Oh I like that the tooltip comparing shouldn't be to hard to build in so I've added it to my list to look into after I'm done with the crafting. The automatic equipping shouldn't be to hard either, but might be a little to specific in some cases.. I'll be sure to look at it though.
     
  45. Henk845

    Henk845

    Joined:
    Mar 9, 2015
    Posts:
    7
    What kind of crafting system will you create, systems like Minecraft are quite popular lately, with the grids and placing items in the right order?

     
  46. sanuvin

    sanuvin

    Joined:
    Feb 11, 2014
    Posts:
    61
    Thanks

    If I recall right the one that was equipped actually had equipped displayed in tool tip replacing name of item or something different. An issue I just though of if it was a ring you picked from bag or a weapon and you had two single handed weapons equipped or two rings you would thus need triple tool tips.

    In any case keep up the good work.
     
  47. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hey Henk845,

    I'll be supporting the layout style as in Minecraft as well as the more conventional Wow / Guildwars style with a list of items and as long as the items are the inventory the item can be crafted with a single button.

    I'm writing the editor today / tomorrow, once I have something to show I'll be sure to post it here :)
     
  48. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hey Sanuvin,

    A solution to this could be to check both ring slots, and pick the one with the worst stats, it's likely the one you want to swap anyway.
     
  49. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    A little speed boost:

    A lot more people than I anticipated are working on mobile platforms, and because mobile GC (garbage collection) can cause hickups I decided to go over the system once more to ensure stability and speed.

    • At idle runtime (when no direct actions are performed) no GC cleanups are performed :)
    • Only visible UI elements are updated / called, closed the Inventory? Then it won't update the UI until you open it again
    • Repaint is only triggered when an item changes it's properties (We already had this, but cleaned up some useless repaints)
    • Super fast and mobile ready!


    Crafting system is in development, data structure is laid out, just got to write the code ^^
     
    Last edited: Mar 18, 2015
    Henk845 likes this.
  50. Henk845

    Henk845

    Joined:
    Mar 9, 2015
    Posts:
    7
    Very nice :) keep up the good work ;)