Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    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

    13.9%
  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)

    37.0%
  6. More modular build to simplify extending

    25.2%
  7. UFPS Multiplayer (Asset integration)

    11.6%
  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
    Oh I certainly haven't discarded the idea, there are plenty of inventory solutions out there, but I guess ours isn't doing so bad :). I think I'll continue a few more weeks adding new features and polishing Inventory Pro, adding more documentation and simplifications to make it as nice as it can be.

    After that, I'll have summer vacation, and we all know what programmers do during a summer vacation :p

    ( I do plan to make more assets, just haven't decided on what yet :) )
     
    boysenberry likes this.
  2. Dan_lala

    Dan_lala

    Joined:
    May 14, 2015
    Posts:
    42
    Does your asset work together well with this extension? :) Just got Inventory Pro and I am thinking of getting the Dialogue System for Unity at a certain point for my project, but I would prefer it all to run smoothly together.
     
  3. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Not yet, I do plan to integrate it at some point, I already have the asset ready for developmet, currently just a little swamped with a bunch of feature requests :).

    The dialogue system will likely be the last integration I'll do in a while, as I really want to work more on the core features of Inventory Pro.
     
    hopeful likes this.
  4. Mark Henderson

    Mark Henderson

    Joined:
    Oct 25, 2013
    Posts:
    41
    Another piece of feedback from playtesting:

    It would be really good to have a fast and simple way to assign inventory items to skill slots, like "hover over and click shift+<number> to assign to that skill slot".

    A couple of people playing on laptops with a basic travel mouse found the drag and drop for assigning stuff to the bar really tedious.
     
  5. Dan_lala

    Dan_lala

    Joined:
    May 14, 2015
    Posts:
    42
    That is completely fine if you take your time... I was just wondering as you mentioned it by yourself :)
     
    Last edited: Jun 3, 2015
  6. ants303

    ants303

    Joined:
    Jun 3, 2015
    Posts:
    1
    How can I make the items created goes directly to the inventory without picking it up / auto loot?
    Example: I created 2 items on item editor, item A (#0) and B (#1).

    Code (CSharp):
    1. if (monster == killed)
    2. {
    3. //let say the monster drops item A, how can i code it here?
    4. //move dropped item to inventory, how?
    5. }
    I'm new to c# so i'm lost.
     
  7. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    766
    Just wondering how I can access all functions using a gamepad ... little tricky as I noticed everything is designed with a desktop approach in mind.
     
  8. Dan_lala

    Dan_lala

    Joined:
    May 14, 2015
    Posts:
    42
    I don't know if you remember but I bought it in the recent sale anyway and found the problem:

    Turn off Hdr in the attached camera bloom script. Then it works on OSX 10.8 systems. Maybe you want update the web demo to reduce the chance of problems.
     
    Last edited: Jun 3, 2015
  9. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I've added a monster demo in the upcoming release, please have a look at that :)
     
  10. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Planning to do controller support in the next development cycle, bought a new xbox controller last week :)
     
    montyfi likes this.
  11. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I like it :), but this would depend on the "More modular build", which I plan to do in the next cycle. Once the modularity is done, I can add controller support, new key handles, etc.
     
  12. Mark Henderson

    Mark Henderson

    Joined:
    Oct 25, 2013
    Posts:
    41
    Bug:
    Treasure Chests do not save using UniSave.

    I expect it would be rather hard to do without some sort of command, but as far as I can tell I'm going to have to manage saving what is in them manually.
     
  13. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Not so much a bug as it is a missing feature :(, treasure chests (or lootable objects), aren't serialized / saved yet, as they aren't item collections.

    Please add a feature request at bitbucket and I'll consider it for the next cycle :)
     
  14. giotta

    giotta

    Joined:
    May 31, 2015
    Posts:
    48
    There are hopes of seeing objects occupy 2-3-4 slots?
    It finds it hard to believe that a ring occupy as much space as an armor.
    For me it is the only thing missing, in any case you are doing a great job, I think that soon will buy this asset.
    (yes, my english sucks)
     
  15. Mark Henderson

    Mark Henderson

    Joined:
    Oct 25, 2013
    Posts:
    41
    Somewhat Idle musing but if this was integrated with G2U (https://www.assetstore.unity3d.com/en/#!/content/11818) I would be so happy.

    Define your items in a google spreadsheet, then just import everything at once. Would make balancing prices and whatnot so much easier.

    *edit*

    On a side note, I got saving and loading working for the TreasureChests, though I'm calling it from my own system.

    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using Devdog.InventorySystem;
    4.  
    5. public class SaveableTreasureChest: TreasureChest {
    6.     public const string ITEM_LENGTH = "NumLootItems";
    7.     public const string ITEM_PREFIX = "LootItem";
    8.     public const string ITEM_COUNT_PREFIX = "LootItemCount";
    9.  
    10.     public virtual void Save(ES2Writer save, string prefix) {
    11.         int j = 0;
    12.         if(items != null) {
    13.             for(int i = 0; i < items.Length; i++){
    14.                 if(items[i] != null) {
    15.                     save.Write(items[j].ID, ITEM_PREFIX+i);
    16.                     save.Write(items[j].currentStackSize, ITEM_COUNT_PREFIX+i);
    17.                     j++;
    18.                 }
    19.             }
    20.         }
    21.         save.Write(j, ITEM_LENGTH);
    22.     }
    23.     public virtual void Load(ES2Reader save, string prefix) {
    24.         if(save.TagExists(ITEM_LENGTH)) {
    25.             int length = save.Read<int>(ITEM_LENGTH);
    26.             ItemManager itemManager = ItemManager.instance;
    27.             items = new InventoryItemBase[length];
    28.             for(int i = 0; i < length; i++) {
    29.                 if(save.TagExists(ITEM_PREFIX+i)){
    30.                     items[i] = GameObject.Instantiate<InventoryItemBase>(itemManager.items[save.Read<uint>(ITEM_PREFIX+i)]);
    31.                     items[i].currentStackSize = save.Read<uint>(ITEM_COUNT_PREFIX+i);
    32.                 }
    33.             }
    34.         }
    35.     }
    36. }
     
    jorisshh and boysenberry like this.
  16. Karearea

    Karearea

    Joined:
    Sep 3, 2012
    Posts:
    386
    boysenberry likes this.
  17. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
  18. Silverlode

    Silverlode

    Joined:
    Apr 9, 2013
    Posts:
    41
    Thanks for the great asset! I would like to second other people' comments here about being modular and extensible - general tidy-up and hardening/bug-fixing. Is that likely before your summer vacation? Cheers
     
  19. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    It's currently not planned, but perhaps in one of the upcoming updates :)
     
  20. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Yeah I think that's quite reasonable, the converting to modularity is largely creating interfaces and moving code around, so it shouldn't take to long. Rough estimate ~4 weeks.
     
  21. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Duly noted, I've put it on my list of possible integrations. (can't add any more features to the poll, it's maxed out :p)
     
  22. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Something people might enjoy :) - Drag (drop positions) highlights
     
    boysenberry likes this.
  23. Jaephen

    Jaephen

    Joined:
    Mar 7, 2013
    Posts:
    26
    Hello,

    I've purchased your asset from the store after playing the demo.
    I have to admit, the features stated seem simply amazing.

    I'd like to know if this works with UFPS and Building smart system ( https://www.assetstore.unity3d.com/en/#!/content/26464 )?
    and if it does, is there documentation around somewhere to help an artist like me to have it work hand-in-hand with UFPS and Building smart system?
     
  24. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    UFPS is supported, however Building smart system is not, it's a rather specific implementation, however building it might not be very difficult. I'm a "little" swamped at the moment :), so I've contacted the creator of Building smart system for you, I've asked him if he'd like to integrate it with Inventory Pro.

    I'll keep you updated :)

    (UFPS documentation is here: http://devdog.nl/unity/document/integration/ufps/ )
     
  25. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
    Hi, jorisshh. :)
    Do you have plans to implement the skills system in Inventory Pro?
     
    Last edited: Jun 6, 2015
  26. Mark Henderson

    Mark Henderson

    Joined:
    Oct 25, 2013
    Posts:
    41
    Bug report:
    Using the sort button on your inventory breaks all links to the skill bar. The rendering doesn't update immediately, but trying to use any skill bar slot results in the slot swapping to the empty icon.
     
  27. Jaephen

    Jaephen

    Joined:
    Mar 7, 2013
    Posts:
    26

    Thanks for that! Really happy with this purchase and the quality of the support :)
    Really excited to use this for my major game project assignment!
     
  28. Vintage_Green

    Vintage_Green

    Joined:
    Mar 27, 2015
    Posts:
    22
    Hello I just finished following the tutorials for getting started. I can pick up my object it goes into my inventory (I can eat it the sound plays), however it will not let me remove/drop the item from the inventory; back to the ground. I have gone through this entire forum, and can't find and answer, and I've exhausted all options as far as I know.

    I think yall should add a video tutorial on how to pick up and drop items from Inventory. I don't have any of the extra stuff like Playmaker etc..

    Here is the Three errors I am getting.


    NullReferenceException: Object reference not set to an instance of an object
    Devdog.InventorySystem.InventoryUIUtility.get_clickedUIElement () (at Assets/InventorySystem/Scripts/Other/Utilities/InventoryUIUtility.cs:44)
    Devdog.InventorySystem.ObjectTriggererItem.OnMouseEnter () (at Assets/InventorySystem/Scripts/Other/Triggerers/ObjectTriggererItem.cs:29)
    UnityEngine.SendMouseEvents: DoSendMouseEvents(Int32, Int32)


    NullReferenceException: Object reference not set to an instance of an object
    Devdog.InventorySystem.ShowObjectTriggerer.Update () (at Assets/InventorySystem/Scripts/Other/Triggerers/ShowObjectTriggerer.cs:66)


    NullReferenceException: Object reference not set to an instance of an object
    Devdog.InventorySystem.InventoryUIItemWrapper.TriggerDrop (Boolean useRaycast) (at Assets/InventorySystem/Scripts/UI/UIItemWrappers/InventoryUIItemWrapper.cs:375)
    Devdog.InventorySystem.InventoryUIItemWrapper.OnEndDrag (UnityEngine.EventSystems.PointerEventData eventData) (at Assets/InventorySystem/Scripts/UI/UIItemWrappers/InventoryUIItemWrapper.cs:186)
    UnityEngine.EventSystems.ExecuteEvents.Execute (IEndDragHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:80)
    UnityEngine.EventSystems.ExecuteEvents.Execute[IEndDragHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) (at C:/buildslave/unity/build/Extensions/guisystem/UnityEngine.UI/EventSystem/ExecuteEvents.cs:269)
    UnityEngine.EventSystems.EventSystem:Update()
     
    Last edited: Jun 6, 2015
  29. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I've certainly been thinking about it, but because it doesn't really have much to do with an Inventory system, I might package it as a separate asset. I don't want to bloat Inventory Pro with illogical features :)
     
  30. jorisshh

    jorisshh

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

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Did you attach a InventoryPlayer component to the player? Also please verify if you have a ShowObjectTriggerer attached in your scene.

    Also, video tutorial on looting items is here :):


    Let me know if you still have problems afterwards, and I'll look into it further ^^.
     
  32. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
    Hi, jorisshh.
    Thank you for your reply. :)

    Hero of InventoryPro will move by pressing the WASD keys, but the hero of my game will go to the location where the player has a mouse click.
    When a player is grabbing the icon for the item, the character will move.
    I want to control this.
    I was looking for a bool variable when you are grabbing the icon.
    However, I was not able to find it.
    Do you have any good way?
     
  33. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Saying this almost became a cliche, but "In my next update" :), I've added events for the ShowObjectTriggerer (OnStartHoveringItem & OnStopHoveringItem & OnStartHoveringTriggerer & OnStopHoveringTriggerer).

    Don't worry the update is really close I was finally able to get UFPS multiplayer working as it should :)
     
    blunty likes this.
  34. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    The mail I just received from Charly (creator of Building smart system):

    Yes, I know your great plugin (I bought it !) .
    I'm currently working on a big project, but I will take a look on this request as soon I will have free time, no problem.
    Thanks !
     
  35. Jaephen

    Jaephen

    Joined:
    Mar 7, 2013
    Posts:
    26
    Yes, sounds great!
     
  36. Vintage_Green

    Vintage_Green

    Joined:
    Mar 27, 2015
    Posts:
    22
    I have the InventoryPlayer component is on the player already, aswell as the ShowObjectTriggerer attached in my scene also. I'm not that dumb lol :). I just don't know what it is. I swear like I said I've checked everything. I'm using a rigidbody character and in first person view. The item picks up and I can eat it etc.. could use more tutorials and video examples. I can do everything showed in the video, but cannot drop.

    Also the video shows looting, not him dropping the item afterwards. And that's what I need. Thanks for the quick reply.

     
    Last edited: Jun 6, 2015
  37. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Ah, I just found the problem, and it's of course, a silly one on my part. Roughly 2 weeks back I refactored the problem, so naturally it now works on my version, but the refactoring isn't yet live in the asset store.

    What it comes down to, the uiElement visualizes the triggering process for FPS games, if it isn't assigned it throws an error, which it really shouldn't.

    As a quick hotfix you can add the following line before 66 & line 80 in ShowObjectTriggerer.cs:

    Code (CSharp):
    1. if (uiElement != null)
    So the end result would look something like:
    Code (CSharp):
    1.  
    2. if (uiElement != null)
    3.     uiElement.Repaint(pickupSprite, itemTriggerHoverKeyCode.ToString());
    4.  
     
  38. Vintage_Green

    Vintage_Green

    Joined:
    Mar 27, 2015
    Posts:
    22
    Thank you soo much.
     
  39. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    @jorisshh Is it possible to put your asset in "Standard Assets" folder to avoid recompile it everytime ?
    i drag and dropped the folder seems that there is a window "Language editor" that throw an error:

    Instance of InventoryLangDatabaseEditor couldn't be created. The script class needs to derive from ScriptableObject and be placed in the Assets/Editor folder.
    UnityEditor.Editor:CreateEditor(Object)
    Devdog.InventorySystem.Editors.LanguageEditor:Draw() (at Assets/Standard Assets/InventorySystem/Scripts/Managers/Editor/InventoryEditors/Language/LanguageEditor.cs:71)
    Devdog.InventorySystem.Editors.InventoryMainEditor:OnGUI() (at Assets/Standard Assets/InventorySystem/Scripts/Managers/Editor/InventoryMainEditor.cs:174)
    UnityEditor.DockArea:OnGUI()
     
  40. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I actually want to get rid of the Standard assets they cause a lot of trouble, and all I'm really using is a tree and a character. Haven't found a proper replacement yet though.
     
  41. blunty

    blunty

    Joined:
    Dec 14, 2012
    Posts:
    7

    I think your issue there is having a "editor" folder inside the "standard asset" folder , i might be wrong , but i think that its a compile order error.
     
  42. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    i was not talking about standard asset files but about the folder structure, when you put script inside this folder, they compile only once, then when you modify other script unity does not recompile script in standard assets folder, that makes a huge difference on project from 20 sec time compile reduced to 2~3 sec

    Thank blunty, i moved the folder Assets/InventorySystem/Scripts/Managers/Editor/ into Assets/Editor, then Inventory folder in standard Assets now it just works.
     
    Last edited: Jun 7, 2015
  43. TimeCastle

    TimeCastle

    Joined:
    Jan 12, 2015
    Posts:
    32
    Core Gamekit compatibility would be great, would be very helpful for me.
     
  44. Dan_lala

    Dan_lala

    Joined:
    May 14, 2015
    Posts:
    42
    Just a stupid question, maybe someone can help me out... if i just want a more attribute/skill system, I think plyGame/ORC etc is too much for it, kind of like taking a sledgehammer to crack a nut. Let's say I have 20 stats and stat 3 = (stat1 + stat2) / 2 and so on and I need this for different random npc classes, are there some scripts for this I can extend on or a small asset for overview's sake? I know this might be the wrong place to ask, but I noticed that the inventory items also have attributes, so I could maybe extend from this?
     
  45. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
    I tried to build my project. (PC Standalone)
    However, an error has been displayed on the console screen.

    Failed setting triangles. Some indices are referencing out of bounds vertices. IndexCount: 876, VertexCount: 37974
    UnityEditor.UnityBuildPostprocessor:OnPostprocessScene()
     
    Last edited: Jun 9, 2015
  46. blunty

    blunty

    Joined:
    Dec 14, 2012
    Posts:
    7

    Sounds like a broken mesh render maybe? i think you might have to be way more specific as to what you did up to this stage to get that error , and i am not sure inventory pro would be behind it , maybe the weapon placer?
     
  47. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    This is probably a faulty mesh / model. The model's indices (indexes of vertices) refer to a vertex to save space. The index is out of bounds and drops this error.

    Do you have custom models in your scene? Maybe a re-import of your models fixes the problem.
     
  48. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Your timing is impeccable :) in the (currently pending) release I've updated the properties a bit.

    Properties can now be used in your player's stats, and these stats (like before) can be used on items. Currently only equippable items are supported, but I'll add consumable soon as well.


    If you want to do things like divisions you'll have to write some custom code, but don't worry it's quite simple. The simplest way to achieve this is to create a new script and implement the CharacterUI. Next override the UpdateCharacterStats, call the base.UpdateCharacterStats(repaint) to handle all the default stats, next do your calculation on this.characterStats (from your own script), and once done don't forget to call Repaint() again, as you just modified some stats :)

    Let me know if you run into some trouble with this.
     
  49. Dan_lala

    Dan_lala

    Joined:
    May 14, 2015
    Posts:
    42
    Ahh great.... going to play around with the package elaborately soon, probably by next week. Hope your asset is updated soon on the store, I'm already waiting :)
     
    Last edited: Jun 9, 2015
  50. Tiny-Tree

    Tiny-Tree

    Joined:
    Dec 26, 2012
    Posts:
    1,314
    i got some issue to display the tooltip as i want, is it possible to have on type of tool tip per collection ? i have stats on the item using [InventoryStat] and i created stats in the editor too, so i have two stats on same item with both method, one method does not show on the tooltip and the other one do not have stats calculated. so its a bit hard to use stats right now i feel