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. Carmexx

    Carmexx

    Joined:
    Jul 29, 2014
    Posts:
    63
    Hi,

    I just purchased the asset - setting up a couple of inventory items and following your youtube videos. On your video there's an option to set the rarity of an item, your example is apple, & under the behavior area, I see a drop down - On mine I do not see this as an option, has it moved somewhere else ?

    regards Paul.
     
  2. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Nope still there, maybe the rarity's color's alpha is set to 0? I've added warnings for this in the upcoming version.
     
  3. DMeville

    DMeville

    Joined:
    May 5, 2013
    Posts:
    418
    Hello! Looks like a cool system! I've watched the videos to see if this will work for me but I have a few questions first.

    - My game uses swords where each instance is slightly randomized (ie: dmg = 10 +/- 3, random special effects on them, etc), does this work with your system? My understanding is that each item needs to be strictly defined in the item database, is this not the case? Creating an entry for every weapon * random stat * random effect just sounds silly.

    Is this possible, if so how would I go about doing this?

    Thanks!
     
  4. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    It's not possible out of the box, but no worries, it's quite simple to make :). You can create a new class and implement the default equippable, then add your own custom stats, etc. http://devdog.nl/unity/document/extending-code/custom-item-type/
     
    DMeville likes this.
  5. UsefulWeapon

    UsefulWeapon

    Joined:
    Oct 26, 2013
    Posts:
    66
    Hi @jorisshh, i have a bug that appears regularly in UFPS scene. InfoBox with description of item sometimes don't fade out.
    Also i cant drop items, here's error:

    NullReferenceException: Object reference not set to an instance of an object.
     
  6. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Could you give me the full stack trace please? Once you select it there's a whole lot more gibberish at the bottom :)
     
  7. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hey Guys, I'd like some feedback on an extra feature of properties that I'm about to implement:

    Using properties as conditionals.
    For example: A property "level" exists, the user can then tell an item it is only allowed to be used, when the property "level" is higher or equal to 2 (or any other number).

    This way complex conditions can be set up, without writing a single line of code.


    Would this be something that you'd want, if so what would you use it for (use case?). Cool additions to this? Use cases? etc.. :)
     
    Malchior85 likes this.
  8. 99thmonkey

    99thmonkey

    Joined:
    Aug 10, 2012
    Posts:
    525
    @jorisshh Yes, this would be nice. Some example thoughts - crafting higher quality weapons if level 5, or even higher if level 10. crafting stronger items if level 5 or 10 where maybe the item doesn't last as long OR the item does not provide the same benefit (like a wood wall at level 2, vs a wood wall at level 10 where level 10 might have a health of 30 vs level 2 health of 5).

    Not sure how I could use this on picking up items. Like an apple is an apple no matter what level you are.
     
  9. breakspirit

    breakspirit

    Joined:
    Aug 11, 2013
    Posts:
    30
    I just want controller input.
     
  10. UsefulWeapon

    UsefulWeapon

    Joined:
    Oct 26, 2013
    Posts:
    66
    Here's the full version from editor's log

    NullReferenceException: Object reference not set to an instance of an object
    at Devdog.InventorySystem.Integration.UFPS.UnitTypeUFPSInventoryItem.Drop (Vector3 location, Quaternion rotation) [0x00011] in J:\Unity\U5Proj\22beta\Projects\Uni5.1\Assets\InventorySystem\Scripts\Integration\UFPS\ItemTypes\UnitTypeUFPSInventoryItem.cs:74

    at Devdog.InventorySystem.InventoryItemBase.Drop (Vector3 pos) [0x00000] in J:\Unity\U5Proj\22beta\Projects\Uni5.1\Assets\InventorySystem\Scripts\Items\InventoryItemBase.cs:656

    at Devdog.InventorySystem.InventoryUIItemWrapper+<TriggerDrop>c__AnonStorey3A.<>m__69 (Devdog.InventorySystem.Dialogs.InventoryUIDialogBase dialog) [0x00000] in J:\Unity\U5Proj\22beta\Projects\Uni5.1\Assets\InventorySystem\Scripts\UI\UIItemWrappers\InventoryUIItemWrapper.cs:429

    at Devdog.InventorySystem.Dialogs.ConfirmationDialog+<ShowDialog>c__AnonStorey37.<>m__57 () [0x00022] in J:\Unity\U5Proj\22beta\Projects\Uni5.1\Assets\InventorySystem\Scripts\UI\Dialogs\ConfirmationDialog.cs:38

    at UnityEngine.Events.InvokableCall.Invoke (System.Object[] args) [0x00010] in C:\buildslave\unity\build\Runtime\Export\UnityEvent.cs:137

    at UnityEngine.Events.InvokableCallList.Invoke (System.Object[] parameters) [0x00029] in C:\buildslave\unity\build\Runtime\Export\UnityEvent.cs:602

    at UnityEngine.Events.UnityEventBase.Invoke (System.Object[] parameters) [0x00006] in C:\buildslave\unity\build\Runtime\Export\UnityEvent.cs:744

    at UnityEngine.Events.UnityEvent.Invoke () [0x00000] in C:\buildslave\unity\build\Runtime\Export\UnityEvent_0.cs:53

    at UnityEngine.UI.Button.Press () [0x00017] in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\UI\Core\Button.cs:35

    at UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) [0x0000c] in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\UI\Core\Button.cs:44

    at UnityEngine.EventSystems.ExecuteEvents.Execute (IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) [0x00000] in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\ExecuteEvents.cs:52

    at UnityEngine.EventSystems.ExecuteEvents.Execute[IPointerClickHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) [0x0006f] in C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\ExecuteEvents.cs:269
    UnityEngine.Debug:Internal_LogException(Exception, Object)
    UnityEngine.Debug:LogException(Exception)
    UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1) (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\ExecuteEvents.cs:273)
    UnityEngine.EventSystems.StandaloneInputModule:processMousePress(MouseButtonEventData) (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:372)
    UnityEngine.EventSystems.StandaloneInputModule:processMouseEvent() (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:271)
    UnityEngine.EventSystems.StandaloneInputModule:process() (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\InputModules\StandaloneInputModule.cs:169)
    UnityEngine.EventSystems.EventSystem:Update() (at C:\buildslave\unity\build\Extensions\guisystem\UnityEngine.UI\EventSystem\EventSystem.cs:271)

    (Filename: Assets/InventorySystem/Scripts/Integration/UFPS/ItemTypes/UnitTypeUFPSInventoryItem.cs Line: 74)
     
  11. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    It appears you've enabled the UFPS Multiplayer support in the integration's manager, but there's no "vp_MPPickupManager" in your scene. Which is an UFPS script that is required to handle the multiplayer pickup / dropping.
     
  12. Carmexx

    Carmexx

    Joined:
    Jul 29, 2014
    Posts:
    63
    thanks, that did the trick. :)
     
  13. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Working on it :), I've already started the UI design and I'm looking at different integration options. (With thanks to Jimmy Poujade for helping me out)
     
  14. TRoNDaNeflin

    TRoNDaNeflin

    Joined:
    Mar 26, 2014
    Posts:
    67
    Hi there!

    First of all I want to say that this is a very valuable asset, very easy to work with and the documentation and support are super!

    Now I'm stucked with a little problem...

    I was testing and studying the avaiable features and I've replicated every one of them to my existing project and everything went fine except one - The CustomMonster. I applied the needed scripts to one of my NPCs but he refuses to die and gief the bloody loot ;)

    As soon I click on him the following error pops on console:
    __________________________

    NullReferenceException: Object reference not set to an instance of an object
    Devdog.InventorySystem.Demo.MyCustomMonster.OnMouseDown ()
    (at Assets/InventorySystem/Demos/Scripts/MyCustomMonster.cs:111)

    UnityEngine.SendMouseEvents:DoSendMouseEvents(Int32, Int32)
    __________________________

    The line 111 is:

    dmg = 40 + (int)character.characterStats["Default"].FirstOrDefault(o => o.statName == "Strength").finalValue
    __________________________

    I think the problem is some missing reference in the Manager script or maybe anywhere else but what and why? I've already spent several hours for two days now and I can't figure what I did wrong.

    The problem isn't on the Monster object because I've copied the cilinder-monster from AllDone scene and the behaviour is exactly the same :\

    All the other triggerers: vendors, chests, bank, custom collection work fine and the selectable object (with name and health pops nicely).

    Can I get some help on this please?
    Thanks!
     
  15. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    The error is caused because you most likely don't have a stat "Strength" on your character. I've hardcoded this, which I suppose isn't all that nice :). So you could fix this by either adding a strength property (assuming you want to use one), or simply remove the block of code from (110 - to - 113)

    So remove:
    Code (CSharp):
    1.             if (character != null)
    2.                 dmg = 40 + (int)character.characterStats["Default"].FirstOrDefault(o => o.statName == "Strength").finalValue;
    3.             else
    4.                 dmg = 40;
     
  16. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Good afternoon . Soon to be updated , and that has not happened to tie inventory = ( (
     
  17. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    ... Whut?
     
  18. TRoNDaNeflin

    TRoNDaNeflin

    Joined:
    Mar 26, 2014
    Posts:
    67
    Well, my bad. I had but mistyped it like 'Strenght' :p

    Now, still have an issue. Can't kill it yet with my Player (I use an UMA). But I can if I use some non-procedural char.

    Maybe one of your scripts, when checking for the player char, doesn't find him because it takes a few frames to be created.

    The error shoots from InventoryLookAtPlayer.cs, here:

    transform.LookAt(InventoryManager.instance.currentPlayer.transform, Vector3.up);

    'NullReferenceException: Object reference not set to an instance of an object'
     
  19. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    I ran into a similar problem, I added the following check in the code (first thing in the Update())
    Code (CSharp):
    1.  
    2. if (InventoryPlayerManager.instance.currentPlayer == null)
    3.     return;
    Most likely you want to get rid of this script anyway :) I only use it for demo purposes.
     
  20. TRoNDaNeflin

    TRoNDaNeflin

    Joined:
    Mar 26, 2014
    Posts:
    67
    Haha :) Sure but I like to check much details I can. That help me to better understand the systems I'm working with.
    Anyway. It's all fixed now. Thans a lot!
     
  21. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    How soon will update ? I was not able to make the inventory of the mistakes - (
     
  22. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Won't be updating any time soon, it's still at the least a week away. What exactly are you running into? Maybe I can help :)
     
  23. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Make a mini tutorial ( video) how to integrate properly with ufps multieplayer.
     
  24. jorisshh

    jorisshh

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

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    A little preview of the controller support I'm working on, I think it's staring to come together quite nicely :)

     
    cygnusprojects likes this.
  26. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Image does not appear.
     
  27. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Let's try that again then :)

     
    Last edited: Jun 25, 2015
    I am da bawss likes this.
  28. TimeCastle

    TimeCastle

    Joined:
    Jan 12, 2015
    Posts:
    32
    I just downloaded the update today, and I'm getting 22 errors pertaining to the InfoBox script
    All errors look similar to
    Assets/InventorySystem/Scripts/UI/WindowsOther/InfoBox.cs(21,27): error CS0102: The type `Devdog.InventorySystem.InfoBox.Row' already contains a definition for `title'
    any advice?
     
  29. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Hm.. most likely there are 2 scripts named "InfoBox.cs" in your project folder, this could cause some conflicts. Simply search for it, and remove the oldest one.

    If you run into more problems after you delete the file, the easiest way to fix it, would be to do a clean import.
     
  30. TimeCastle

    TimeCastle

    Joined:
    Jan 12, 2015
    Posts:
    32
    Did the trick, thanks
     
  31. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    Take on the screenshot above for UFPS Multiplaer. It is not necessary to combine the tools with character as you have done. I would like to see in Ufps still separate equipment and separate nature of the character with his image in the middle. I hope you understand what I mean. Just wait for a new update which I hope to do the integration without oschibok)) Your Asset as I said earlier has become the number one of all the assets list of this type! I wish you to make it even better !!!
     
  32. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Staring to look pretty good :) and the best part, to create this UI you need 0 lines of code ^^
    (Gif is a bit laggy, but no worries it's actually very smooth)

     
    Last edited: Jun 26, 2015
    superwendel likes this.
  33. Jaephen

    Jaephen

    Joined:
    Mar 7, 2013
    Posts:
    26
    Awesome progress with the asset jorisshh!

    I'm currently stuck on something.

    I've integrated UFPS with Inventory Pro..
    In the InventoryWindow and CharacterWindow's "UI Window" components, I have Block UFPS Input enabled.
    The issue I'm having is that UFPS input isn't blocked when I have the inventory and character windows opened.
    I"ve no idea if I may have done something wrong, or done the process in the wrong order since the Block UFPS Input isn't working for me.


    Also, I'm currently going along with the video tutorial and am up to Tutorial #3, 14 minutes in..
    I'm currently at the Settings editor editor in the main manager, looking for Other > Default character stat format. I can't seem to find it?
     
    Last edited: Jun 26, 2015
  34. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Did you add the InventoryUFPSInputController to your player? I've written some documentation on it here: http://devdog.nl/unity/document/integration/ufps/
     
  35. Jaephen

    Jaephen

    Joined:
    Mar 7, 2013
    Posts:
    26
    Ah! I missed placing the character in the input. Thanks for that!

    Also, thanks for the quick reply, but you may have missed my edit from my previous post..
    "Also, I'm currently going along with the video tutorial and am up to Tutorial #3, 14 minutes in..
    I'm currently at the Settings editor editor in the main manager, looking for Other > Default character stat format. I can't seem to find it?"
     
  36. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Ah sorry did indeed miss it, you can find it in the folder: "InventorySystem/Demos/Assets/UI/UI_Prefabs/Sum_Character_Stat_Formatter_PFB.prefab".

    I've removed this mechanic all together in the next update, it was a bit redundant.
     
  37. Jaephen

    Jaephen

    Joined:
    Mar 7, 2013
    Posts:
    26
    Oh, did you remove it from the Inventory Pro Main Editor completely for the current released version? I can't find the option to place the prefab in the first place.

    Also, I've added the CharacterWindow to the _Managers but I still can't seem to right click to equip items. Any ideas?
     
  38. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    The formatter should be under "Other" tab, I've removed it in v.2.1.6 but it isn't yet live in the asset store :)

    Most likely there is no CharacterUI set on your player (InventoryPlayer).

    I'll be updating the video tutorials after the update I'm working on, quite a few things have changed
     
  39. TimeCastle

    TimeCastle

    Joined:
    Jan 12, 2015
    Posts:
    32
    Question; the boxes on the skill bar aren't popping up, and the skillbarui script becomes disabled when I press play. Same with the inventory window, so I can't drag items around my inventory.
    An advice?
     
  40. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Just upgraded to Unity v5.1.1 and upon opening my old project it automatically upgraded my project, and throw a bunch of errors including the following:


    Assets/InventorySystem/Standard Assets/Utility/CurveControlledBob.cs(8,18): error CS0101: The namespace `UnityStandardAssets.Utility' already contains a definition for `CurveControlledBob'

    Assets/InventorySystem/Standard Assets/Utility/FOVKick.cs(8,18): error CS0101: The namespace `UnityStandardAssets.Utility' already contains a definition for `FOVKick'

    Assets/InventorySystem/Standard Assets/Utility/LerpControlledBob.cs(8,18): error CS0101: The namespace `UnityStandardAssets.Utility' already contains a definition for `LerpControlledBob'

    Assets/InventorySystem/Standard Assets/Utility/WaypointCircuit.cs(11,18): error CS0101: The namespace `UnityStandardAssets.Utility' already contains a definition for `WaypointCircuit'

    Assets/InventorySystem/Standard Assets/Utility/WaypointCircuit.cs(226,18): error CS0101: The namespace `UnityStandardAssets.Utility.Inspector' already contains a definition for `WaypointListDrawer'
     
  41. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Any errors / warnings? Also did you assign the skillbar to the InventoryPlayer AND the managers?
     
  42. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    This appears to be a conflict with the standard assets. Most likely you already have the standard assets imported in your project, Inventory Pro also lends some of the standard assets, hence the conflict.

    You can solve this by removing the duplicate files from either the InventorySystem folder, or from the Standard assets folder outside of the InventorySystem folder.

    I'll be removing the standard assets from Inventory pro, because of reasons like this :)
     
    I am da bawss and hopeful like this.
  43. Carmexx

    Carmexx

    Joined:
    Jul 29, 2014
    Posts:
    63
    Hi,

    How do we import in bulk, is there an option ? From text file or csv, I have about 1000 items to add.


    Regards
     
  44. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Not yet, although it's on my todo list :)

    Edit: Writing your own implementation shouldn't be to hard, all items are essentially just prefabs
     
    Last edited: Jun 27, 2015
  45. Jaephen

    Jaephen

    Joined:
    Mar 7, 2013
    Posts:
    26
    Hey,

    I seem to be having issues with the skillbar thing..
    When I press the button, it's not actually consuming the item.
    Do you think it's conflicting with UFPS? I'm currently using the HeroHDWeapons prefab from UFPS for the player character.

    any ideas?

    Also, how can I have my character window be moved around in-game?
    I think I may have missed a part, but I rewatched the video and can't find where I went wrong
     
    Last edited: Jun 28, 2015
  46. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    A few things to check..
    • On the skillbar is "Can use item from collection" enabled?
    • On the inventory (or wherever the original item is stored, not the reference) is "Can use item from reference" enabled?
     
  47. Jaephen

    Jaephen

    Joined:
    Mar 7, 2013
    Posts:
    26

    Thanks! I just didn't have "Can use item from collection"

    Also, forgot to add draggable window to my character window, stupid me :p
     
  48. Jaephen

    Jaephen

    Joined:
    Mar 7, 2013
    Posts:
    26
    Is there a detailed documentation or video on how to get Inventory Pro working with UFPS?
    I can't seem to get your "Video Tutorial 6 - Visual item equipment" to work with it..

    I tried messing around with the Items Editor, and tried making UFPSBase and EquippableUFPS but none of them were actually letting me pick them up..
     
  49. MadeThisName

    MadeThisName

    Joined:
    Mar 14, 2015
    Posts:
    115
    Keep up the outstanding work. You should look into creating a separate plugin for an xp leveling system to work with Inventory Pro. There is not much available on the asset store at the moment and i am certain it would do very well.
     
  50. jorisshh

    jorisshh

    Joined:
    Oct 6, 2009
    Posts:
    1,522
    Which UFPS items are you trying to visually equip them? UFPS Items are equipped? Or are you trying to do this with UFPS Multiplayer?