Search Unity

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
    Thanks guys :) means a lot, will continue to do my best ^^
     
  2. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    It's actually already here :), the current character can be set in the InventoryManager.instance.currentCharacter, once you swtich the character the system will also switch the inventories and the equippable collection.

    Have a peek at: http://devdog.nl/unity/document/customization/multiple-characters/
     
  3. cmcdonald

    cmcdonald

    Joined:
    Aug 26, 2014
    Posts:
    2
    Hey, does this have support for items larger than 1 'slot'? So say items that are 1x2, 2x2 grid slots in size. If it isn't already implemented, would this be something you would like to add or at least would it be possible to extend your system to create this functionality? Thanks.
     
  4. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    This isn't supported right now, as it is (for some reason) not all that commonly requested. I'm using a flat data structure (an array) for the collections, when using a grid based inventory I think it might be more suitable to use a different structure. Although this isn't a huge setback, I don't think it would be super easy to build in a grid system, considering sorting collections, stacking, UI stuff, etc.

    I'll put it on my list of potential new features, I'll look into it, no promises though :)
     
  5. cmcdonald

    cmcdonald

    Joined:
    Aug 26, 2014
    Posts:
    2
    Thanks, we'll probably pick up the asset anyway and take a gander around. Thanks for the quick reply.
     
  6. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I've added a 2D demo scene showing the basics, it's all very straight forward :)
     
    matteo-piccioni likes this.
  7. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,139
    So I'm having some trouble. I'm following the tutorials and I'm up to item creation, only to get this error:

    I'm running 5.0.2f1 on OS X 10.10.3 and have followed the tutorials word for word so far.
     
  8. Mark Henderson

    Mark Henderson

    Joined:
    Oct 25, 2013
    Posts:
    41
    @jorisshh
    The current item creation process starts to get really painful when I'm creating a few dozen items at once.

    As a feature request, here are some ideas to improve it:

    1) Import from JSON or CSV to create items
    2) spreadsheet view to change many items quickly
    3) fast way to duplicate an item (i.e. CTRL+D)

    A few minor things that add to the annoyance:
    -no way to indicate default item prefab to use (that I've found)
    -When entering / changing the name of an item, the editor goes really slow - I think it's renaming the prefab (and thus updating all links to said prefab) every time I enter a letter.
    - the previous mentioned bug where the "sell price higher than buy price" error takes focus away as those fields are being changed
     
    jorisshh and boysenberry like this.
  9. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,139
    This is exactly what's going on. I watched a prefab rename as I typed in to confirm this and it really bogs things down. It'd be nice if we could name the item before the creation process at the very least to help alleviate this.
     
  10. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Got it, I'll be sure to fix the annoyances, excel / json import has been requested a few times now, I'll write this down as a feature and consider it for the following development cycle :)
     
  11. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Is this perhaps happening when selecting the item in your project folder? If so, this was a bug caused in the editor code, I've recently fixed this and the fix will be available
     
  12. SuperNewbee

    SuperNewbee

    Joined:
    Jun 2, 2012
    Posts:
    196
    Does anybody know if this is easy to integrate with Realistic FPS prefab?
     
  13. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I've contacted on of the inventory pro users, who I know is working on a RFPS integration, once he's done and has something to share he'll post it on the Inventory Pro's forums :)
     
  14. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Bought this yesterday in the sale, trying to import the asset package in an empty project and I'm facing 2 errors:

    Code (CSharp):
    1. Assets/InventorySystem/Scripts/Other/BasicInterfaceImplementations/JsonCollectionSerializer.cs(40,64): error CS0234: The type or namespace name `DeserializeObject' does not exist in the namespace `SimpleJson'. Are you missing an assembly reference?
    2. Assets/InventorySystem/Scripts/Other/BasicInterfaceImplementations/JsonCollectionSerializer.cs(44,47): error CS0021: Cannot apply indexing with [] to an expression of type `object'
    Anything I can do to fix this so I can test the asset?
    I'm running Unity 5.1.0f1.
     
  15. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    It appears to be a unity 5.1 specific but, I don't have unity pro, so don't have access to the beta.
    As a temporary fix you can remove the method's body of JsonCollectionSerializer.cs.
    So, to fix:

    1. Double click the error, or manually open the JsonCollectionSerializer.cs file
    2. Replace the contents of the file with the code below:

    Code (CSharp):
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5. using Devdog.InventorySystem.Integration.SimpleJson;
    6. using Devdog.InventorySystem.Models;
    7. using UnityEngine;
    8.  
    9. namespace Devdog.InventorySystem
    10. {
    11.   public class JsonCollectionSerializer : ICollectionSerializer
    12.   {
    13.   public byte[] SerializeItems(IList<Models.InventoryItemSaveLookup> toSerialize)
    14.   {
    15.   return null;
    16.   }
    17.  
    18.   public byte[] SerializeItemReferences(IList<Models.InventoryItemReferenceSaveLookup> toSerialize)
    19.   {
    20.   return null;
    21.   }
    22.  
    23.   public IList<Models.InventoryItemSaveLookup> DeserializeItems(byte[] data)
    24.   {
    25.   return null;
    26.   }
    27.  
    28.   public IList<Models.InventoryItemReferenceSaveLookup> DeserializeItemReferences(byte[] data)
    29.   {
    30.   return null;
    31.   }
    32.   }
    33. }
    Obviously this will break serialization, but at least you'd be able to use the other features :)
     
  16. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Thanks for the quick reply, I'll first test the other stuff (in the meantime UT can make 5.1.0 public ;))
     
  17. cygnusprojects

    cygnusprojects

    Joined:
    Mar 13, 2011
    Posts:
    767
    Hmm, getting this error when clicking on a box in demo scene 3.ItemEditor:
    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. Devdog.InventorySystem.InventoryManager.CanAddItemCount (Devdog.InventorySystem.InventoryItemBase item) (at Assets/InventorySystem/Scripts/Managers/InventoryManager.cs:347)
    3. Devdog.InventorySystem.InventoryManager.CanAddItem (Devdog.InventorySystem.InventoryItemBase item) (at Assets/InventorySystem/Scripts/Managers/InventoryManager.cs:340)
    4. Devdog.InventorySystem.InventoryManager.AddItem (Devdog.InventorySystem.InventoryItemBase item, ICollection`1 storedItems, Boolean repaint) (at Assets/InventorySystem/Scripts/Managers/InventoryManager.cs:241)
    5. Devdog.InventorySystem.InventoryItemBase.PickupItem (Boolean addToInventory) (at Assets/InventorySystem/Scripts/Items/InventoryItemBase.cs:477)
    6. Devdog.InventorySystem.ObjectTriggererItem.PickupItem () (at Assets/InventorySystem/Scripts/Other/Triggerers/ObjectTriggererItem.cs:96)
    7. Devdog.InventorySystem.ObjectTriggererItem.OnMouseDown () (at Assets/InventorySystem/Scripts/Other/Triggerers/ObjectTriggererItem.cs:55)
    8. UnityEngine.SendMouseEvents:DoSendMouseEvents(Int32, Int32)
    Looks like some initialisation issue.
     
  18. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Ah yep, your're right, in the last update the references to the inventory, equipment collection and skillbar moved to the player, to allow multi character support. Must have forgotten to update the scene.

    To fix the issue, select the player and scroll to the InventoryPlayer component, and set the references to the inventories, that should fix the issue :)
     
  19. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Another inventory pro user who's using Unity 5.1 just mailed me a potential fix.
    Replace line 40 in JsonCollectionSerializer.cs with:

    var dict = (IDictionary<string, object>)Devdog.InventorySystem.Integration.SimpleJson.SimpleJson.DeserializeObject(json);
     
  20. rekaenz

    rekaenz

    Joined:
    Oct 8, 2013
    Posts:
    1
    Hello there!, i love your inventory and the tutorials this far have been great, but as i have seen many people need what i need aswell, "equipping item > change texture of character (needs to be multi part so you can pick fx, hands, feet, chest or pants texture to switch) and ofcourse tooltips :)" thanks alot in advance! great great asset
     
  21. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
    Hi, jorisshh. :)
    I have been using the Top-Down RPG Starter Kit.( https://www.assetstore.unity3d.com/en/content/15552)
    I want to save the game data without the EasySave2.
    And I want to put skill icon from skill window slot to hotkeyslot of this InventorySystem.
    What I should do ?
     
    Last edited: Jun 1, 2015
  22. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    Hello everyone,

    Just droping by to say that Inventory Pro now has NodeCanvas integration tasks :)
    You can download them here.

    Cheers!
     
    jorisshh and hopeful like this.
  23. giotta

    giotta

    Joined:
    May 31, 2015
    Posts:
    48
    In the video tutorial I did not see if you can create objects of different sizes, it is possible?
    I mean 2-3 slot for one single item.
    Thx and sorry for my poor english ;)
     
  24. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Yep, makes sense, I've put it on my list :)
     
  25. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    You can save collections using the SimpleCollectionSaverLoader component, it currently doesn't handle references (like the skillbar).

    Not entirely sure what you mean by this?
     
  26. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Nope, not at the moment, currently only 1 slot items are possible. I've had this request a few times now, I'll ask the moderator to remove the poll, so that users can vote what they prefer to see next :)
     
  27. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Good afternoon. When you are done UFPS MULTIEPLAYER? Already very hunt to use your inventory
     
  28. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Yes, it is very necessary!
     
  29. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    I found a couple of helmets and backpack on his back. Like all writing, they are free. I can throw, if needed. While that's all unfortunately = ((. I thought the Internet on this subject can be found greater.
     
  30. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    10,139
    I'm going through the docs and there seems to be no way to add multiple instances of an item to a character's inventory? I want my player to be able to buy something like 6 apples and add that to their inventory but it seems like I can only add one at a time, or is there something I'm missing here?
     
  31. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Sure you can :) you can add an item to a collection with myCollection.AddItem(myItem) and InventoryManager.AddItem(myItem) to "a" inventory (considers all inventories).

    so to add multiple items:
    Code (CSharp):
    1. var myItem = GameObject.Instantiate<InventoryItemBase>(apple);
    2. myItem.currentStackSize = 6;
    3. InventoryManager.AddItem(myItem);
     
  32. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Updated language and settings editor

    The new and improved language and settings editor, the search also searches through the values inside the settings for easy access :)


    And settings :)
     
  33. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    UFPS multiplayer is proving to be a bit of a pain in my ass :p. I'm working on it, but not entirely sure when it will be done.

    It's a very nice system, but still in beta, so some bugs are to be expected.
     
    boysenberry likes this.
  34. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
  35. Regularry

    Regularry

    Joined:
    Aug 9, 2008
    Posts:
    161
    What I would love to see most is for you to expand into other areas beyond inventories. Like maybe create a series of modular assets for doing various things that all work together with Inventory Pro. Each module could be sold separately. Or maybe make some big full RPG maker system that would expand upon Inventory Pro and sell at a much higher price point.

    Maybe you could include something like that in the poll if it interests you.
     
  36. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Certainly have been thinking about it :), but the thing is, there are so many RPG systems out there already. Of course the best counter argument would be, there are also a lot of inventory systems on the store.

    But the way I broke it down::
    Assume you want to do quests, grab The Dialogue System, it's a solid and very advanced asset
    If you want more RPG control you can use plyGame
    If you want combat / ai, grab something like RAIN

    So I have been considering it, but haven't really decided what I'd do with it.
     
  37. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I'm currently a bit swamped with features and integrations that I won't add any more for the near future. There's still a lot of features I wish to build into Inventory Pro itself, rather than link the basis to other systems :)

    Of course implementing it yourself shouldn't be to hard, the RPG starter kit is event driven you could simply hook onto the events, and reroute them to Inventory Pro, maybe it has a data layer, etc?
     
  38. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    909
    Any chance to see this fix about vendor on mobile :(
     
  39. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I've created a new poll, please vote for the features you would like :)
     
  40. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Haven't got around to it yet, but I'll be sure to include it in the upcoming update :)
     
  41. takapi

    takapi

    Joined:
    Jun 8, 2013
    Posts:
    79
    Hi, jorisshh.
    Thank you for your advice.
    I will try my best.
     
  42. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Finish UFPS multieplayer! ) It is very necessary . Way more fun to do things for strength . I do not know have it or not.
     
  43. Mark Henderson

    Mark Henderson

    Joined:
    Oct 25, 2013
    Posts:
    41
    I did a bit of playtesting over the weekend, and I think some of the feedback will apply generally to anyone using this.

    1) Font sizes need to be larger. On a 1080p screen, 10 and 12 point font looks tiny, and I observed a few players having to lean forward in order to read the inventory text. I've manually increased a lot of the font to 16 point in my build, but I had to resize a bunch of elements.

    2) handle Escape properly. The expectation from all of my players was the Escape key would close any interrupting dialogues (i.e. the "how many do you want to sell" dialogue), then any open windows, then if nothing is open it would open an exit menu. I've had to dive in and modify a couple classes in order to handle this close to properly, since I created my exit menu using your classes.

    3) (minor compared to first 2) It would be nice to get the InfoBox to show when hovering over an item that's been dropped to the ground, rather than having to pick it up then mouse over it in the inventory.
     
    boysenberry and hopeful like this.
  44. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hm.. the font size is actually quite readable on my screen, guess it comes down to PPI. Alternatively you could scale it on the Canvas, although this would scale the entire UI.


    I'll look into it a bit more.

    Yep, this is actually a more commonly requested feature, I've created a feature task of this at https://bitbucket.org/jjahuijbregts/inventorypro/issue/20/pressing-escape-to-close-dialogs-and

    Also requested and dropped in bitbucket: https://bitbucket.org/jjahuijbregts/inventorypro/issue/21/tooltip-for-lootable-items
     
  45. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
  46. Mark Henderson

    Mark Henderson

    Joined:
    Oct 25, 2013
    Posts:
    41
    Huh, didn't know you had issue tracking. The constant scale would also stretch out icons and whatnot, which I don't want to do.

    Another thing that would be fairly easy to add to the vendor ui - automatic tabbing. most of the setup is already there, we'd just need to be able to run multiple item generators with different settings for different tabs. I'm probably going to wind up putting that together in the next couple of days myself, if I do I'll forward you the code.
     
  47. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    And the tooltip you guys have been asking for :)

    It can of course be disabled for those who don't like it, also you can enable / disable it for items that are out of range.
     
    boysenberry and hopeful like this.
  48. Mark Henderson

    Mark Henderson

    Joined:
    Oct 25, 2013
    Posts:
    41
    sweet! if that's a simple bit of code that'll work with the released version, would you mind PMing it to me?
     
  49. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Ah I've actually refactored some things to keep the code clean and consistent, so it's not just a single line of code I'm afraid :). But not to worry the release cycle is almost to an end, likely pushing the update by the end of the week, worst case scenario start of the next.

    Plus I've also added events for the ShowObjectTriggerer that the InfoBox / tooltip now uses.
     
    boysenberry likes this.
  50. Regularry

    Regularry

    Joined:
    Aug 9, 2008
    Posts:
    161
    Yes, there are lots of alternatives but the way you do things is special! Assets from other authors don't have the same kind of attention to detail that you provide, and trying to get things from a number of different authors all working together correctly is often problematic.

    Also it doesn't have to be just RPG stuff. plyGame for example was originally going to have all sorts of different modules for different types of games, but that seems to have been abandoned.

    Anyway, I hope you'll give it some further consideration. It would be a great thing for Unity and maybe make you a lot of money too!