Version 1.1.5 of the Ultimate Inventory System is making its way to the Opsive Store and the Asset Store. Ensure you update by following the Version 1.1 Update Guide if you are coming from a version prior to version 1.1.

Note: The Unity Package Manager doesn’t always import the most recent update after you download the asset. Ensure you are getting the latest by removing the package cache from the Asset Store download folder.

IMPORTANT ACTIONS REQUIRED!

  • Action Required: Some obsolete scripts were deleted from the package. Unity packages do not handle deletions very well so before importing the Opsive/UltimateInventorySystem folder should be removed.
  • Action Required: The input handling has been changed in this update. Inputs are no longer defined in one place within the Inventory Input script. We are now using a shared input system between Ultimate Character Controller and Ultimate Inventory System. Inputs are now defined within their own component and managed by the Player Input component. Therefore a few components need to be added/replaced in your scene to get things working.
    • Project:
      • If you wish to use the default Unity input manager system, you must import the inputs. This can be done in the Setup Menu within the Ultimate Inventory System editor.
    •  Character:
      • Inventory Input: Inventory Input was deprecated, it is now empty and logs warnings on awake with instructions to remove it. This missing component can be removed.
      • Unity Input (or Rewired Input, Unity Input System, etc.): Add one of the Player Input scripts to your character. Unity Input is the default one that uses the default Unity Input Manager. Other input integrations can be downloaded here.
    • Display Panel Manager:
      • Display Panel Manager Handler: This component is used to open/close panels and optionally also manages when the cursor is visible. Add this component next to the Display Panel Manager.
    • Item Hotbar:
      • Item Hotbar Handler: This component triggers the items action for the hotbar. You may add multiple inputs per Item View Slot.
  • Action Required: Because of the input refactor some prefabs in the schemas have been changed. The main change was adding a Item Hotbar Handler component to the Item Hotbar prefab.

This version contains the following changes:

  • Added the shared input classes.
  • Input system refactor allowing for easy integration with all the most popular input systems available for Unity.
    • We are now using the same input system between all Opsive assets. And therefore all the input integrations that worked with Ultimate Character Controller will now work with Ultimate Inventory System.
    • Refer to the Required Actions to fix an existing project.
    • The demo scene was updated to use the Unity Input component.
    • The Inventory Input is now obsolete.
    • A Setup option in the Editor was added to easily add all the missing inputs used in the demo scene within the Input Manager in the project settings.
    • Added a Item View Slot Container Item Action Handler which lets you define inputs to use Item Actions within a Binding. Extremely useful when you wish to have different actions on the selected Item View Slot when different inputs are used.
    • Added support for split screen co-op (restrictions apply, please read more about it here )
  • Improved performance of drawing Inventory Grids and especially Item Shape Grid dramatically. The Item Shape Grid in the demo scene is now drawn 10x faster when drag and dropping.
  • Fixed the Item Shape Grid Data from preventing Item Shapes from being used in the character controller integration.
  • Add a component to save Item Shape Grid Data.
  • Added an overloaded function to the Inventory when checking if an inventory had an Item by saying whether that item should be value equivalent or just similar.
  • Fixed the following with drag & drop:
    • Improved drag & drop when moving very fast in small distances.
    • When dragging with multiple mouse inputs (now only one can be used at a time).
    • An unwanted offset when dragging items using Item Shape Grid.