Releases history
-
4.0
The Bear Song
November 2024
- π Updates all APIs for Unity 6
- π All methods in InventorySelectionMarker are now marked as protected virtual
- π Requires Unity 6000.0.23f1 or higher
-
3.10
The Future People
September 2024
- π Adds support for more use cases of MoveWhenEquipped
- π Adds ChangeTargetInventory method to the InventoryDisplay
- π Requires Unity 2020.3.48f1 or higher
-
3.9
The Daydreaming
June 2024
- π Unequipping an item via an equip swap now triggers an item unequipped event
- π InventoryItem:SpawnPrefab now returns a GameObject
- π Adds options to allow/forbid specific shortcuts for move/drop/equip/use/etc per item
- π Fixes a display bug when setting DrawEmptySlots:false and using items
- π Fixes the ItemUsed event firing one line too early
- π Tweaks the InventoryInputManager's execution order to enforce consistency
- π Removes unused using directives
- π Mutualizes a number of GetComponent calls in InventoryItem:SpawnPrefab
- π Adds a spacer and title to the PickableInventoryItem's inspector
- π Removes a useless null check in Inventory:FindTargetInventory
- π Improves the "item not found" error message
- π¦ Updates MMTools to v4.1.2
- π Requires Unity 2022.3.23f1 or higher
-
3.8
The Almanac
February 2024
- β¨ Adds a MaximumQuantity to Item definitions, beyond which items of that type can't be added to an inventory
- π Most properties are now virtual
- π Requires Unity 2020.3.48f1 or higher
-
3.7
The Land
October 2023
- β¨ Adds the InventoryCounterDisplay, a simple helper that lets you display the total quantity of one or more items, in one or more target inventories
- π If equipping an item forces a swap with another item, Unequip will now be called on this other item
- π Moves statics initialization outside of generic classes to avoid build errors on 2021+
- π Requires Unity 2020.3.48f1 or higher
-
3.6
The Baby Blue
September 2023
- π The MMPersistent component can now save the enabled state of all components
- π Adds some RuntimeInitializeOnLoadMethod static resets
- π Fixes a bug that would cause incorrect quantities of objects to be set on the picker when dropping an object from an inventory
- π Fixes a typo in the naming of the PersistenceManager objects in the PixelRogue demo scenes
- π Requires Unity 2020.3.48f1 or higher
-
3.5
The Justified
July 2023
- β¨ Adds the PersistenceManager system, which will let you, very easily, save data across scenes and sessions. Adds examples of it in use in the PixelRogueRoom demo scenes, where pickers now remain picked across scene transitions and across sessions, until you reset their state via the new button in the demo's UI. Also adds a persisting ball in PixelRogueRoom2 for you to play with.
- β¨ Adds the MMSaveLoadManagerMethod helper, which lets you force a project-wide save/load IO method
- π Adds RequirePlayerTag option to ItemPicker
- π Mutualizes use of the ToggleInventory method
- π Fixes unequipping not respecting ForceSlotIndex settings
- π Removes useless prefabs in the PixelRogueWeaponBar demo scene
- π Adds a Tools menu entry to delete all data saved by the MMSaveLoadManager
- π Fixes alignments in the WeaponBar demo
- π Fixes buggy mipmaps on some of the PixelRogue demo sprites
- π Requires Unity 2020.3.48f1 or higher
-
3.4
The Pink Rabbit
March 2023
- π Hotbars now use InputActionProperties
- π Adds ForcePrefabDropQuantity option to InventoryItem
- π Inventory path and extensions are now static for easier control (typically to handle save slots and the likes)
- π Adds a new IsFull property to the Inventory, to quickly check if an inventory is full or not without having to check free slots
- π Adds InputSystem support to the DemoCharacterInputManager
- π Adds an option to InventoryItems to not be equippable if the target inventory is full
- π The InventoryInputManager now exposes Overlay Active/Inactive Opacities
- π RemoveItemByID now returns false if the entire requested quantity couldn't be removed
- π Adds tooltips to the InventoryItem, ItemPicker, InventoryInputManager and ChangeLevel components
- π Requires Unity 2019.4.28f1 or more
-
3.3
The Knotty Pine
February 2023
- π Adds stacking support to the AddItemAt method
- π Adds InputActionProperty support to the InventoryInputManager (you may have to redo your bindings on it)
- π Adds dedicated Input System actions to open/close inventories
- π Fixes bugs that would occur when an InventoryDisplay was asked not to draw empty slots
- π Fixes a bug that could cause display issues when an inventory would change more than once per frame
- π The Inventory:Content array is now readonly in the inspector to prevent accidents
- π Requires Unity 2019.4.28f1 or more
-
3.2
The Moonpeople
September 2022
- π Adds InputSystem support to InventoryInputManager
- π Slots in the demo inventory display now force reset their rotation on instantiation
- π Fixes InventoryDisplay's auto setup not initializing selected sprites correctly on slots
- π Fixes a selection bug when in equip mode from an equipment inventory
- π Requires Unity 2019.4.28f1 or more
-
3.1
The Highway Song
June 2022
- β¨ Adds options to enable/disable inventory action buttons on a per-item basis
- β¨ Adds a storage box example in the PixelRogueRoom2 demo scene
- π Adds RemainingQuantity to ItemPicker
- π Removes the Demos assembly definition to replace it with an assembly definition reference
- π Fixes a bug that would prevent ItemEquipped events from retaining all their data
- π The selection marker now runs on unscaled time
- π Fixes indentation inconsistencies across a few classes
- π Requires Unity 2019.4.3f1 or more
-
3.0
The Heart of the Party
November 2021
- β¨ Adds local multiplayer support, letting you create separate inventories for any number of players, and interact with them (add, remove, use, equip, etc) any way you want
- β¨ Adds the PixelRogueMultiplayer demo scene, where two players can move around and collect/use/equip/drop items, with their respective inventories and UI interfaces
- β¨ Adds support for weapon bars (or any type of bar really), where each slot is bound to a specific input and a specific action (equip, use, drop, etc)
- β¨ Adds the PixelRogueWeaponBar demo scene to showcase how to setup and use a weapon bar
- β¨ Adds the EventTester example class, showing how to listen to MMInventoryEvents
- π InventoryDetails now auto hides on Drop, and updates quantities on UseRequest
- π Adds extra checks to the RemoveItem method
- π Adds an option to InventoryDisplay to use a specific Slot prefab instead of drawing it programatically
- π Adds a new method to Inventory to remove items via ID
- π Adds an option to inventory items to not move when equipped, leaving them in the old inventory and creating a copy in the target one
- π Adds options to add a specific item at a forced index in its target inventory
- π The DemoCharacterInputManager now exposes key bindings
- π Improves the demo Character's speed reliability
- π Improves performance across the board
- π Removes a useless SO copy when comparing last update content in InventoryDisplay
- π Improves InventoryDisplay::Focus performance
- π Refactors the way slots, slots icons and slot quantities are drawn to save on memory and improve performance.
- π Reduces runtime GetComponents on InventoryDisplay, improving performance
- π Fixes a bug that would prevent inventory displays from refreshing correctly in DontDrawEmptySlots mode
- π Fixes a bug that could prevent an item from being picked if all slots were full but space remained in some stacks.
- π Renames a few parameters that could lead to confusion in ItemID search related methods
- π Replaces the protected _inventoryDisplayIsOpen with a public IsOpen boolean
- π An equip request now hides inventory details by default
- π Adds visual explanations to the demo scenes
- π Adds tooltips to the Inventory inspector
- β The signature of many Inventory methods have changed to included a playerID reference
- π¦ Updates MMTools to its latest version
- π Requires Unity 2019.4.3f1 or more
-
2.0
The Messenger
March 2021
- β¨ Adds an option to the InventoryInputManager to manage buttons. If set to true, the manager will automatically enable/disable buttons based on the permissions set on the target selected item. Buttons can be set interactable or not, or active or not.
- β¨ Adds options to InventoryItems to be consumable or not (defines whether calling Use on them will remove a customizable quantity or not)
- β¨ Adds an option to specify whether or not an item can be dropped
- β¨ Adds the MoveItemToInventory method, letting you move an item from inventory A to B, with an optional destination index
- β¨ Adds the InventoryTester class, a test class that lets you play with the Inventory API easily
- π Adds an option to InventoryDetails to display details globally, regardless of target inventory
- π Improves the way inventory item drop works, and how the dropped item gets positioned around the dropper. Items created on previous versions will need to have their drop properties redefined.
- π Adds new methods to InventorySlot (Movable, Droppable, Unequippable) to poll slots more accurately
- π Adds a public InventoryIsOpen bool to the InventoryInputManager, letting you poll it to know the current state of your inventory.
- π Adds event mode to InventorySoundPlayer, to play sounds via the MMSoundManager
- π Fixes a bug that would cause ItemUsed events to be fired too late in some situations
- π Fixes a bug that could occur when unequipping a weapon from a main inventory while a clone of it was equipped
- π Adds an extra check to InventorySelectionMarker
- π Removes unused PickAsMuchQuantityAsPossible attribute in ItemPicker
- π Improves the reliability of the Content array display in inspector
- π Adds a missing comment on one of Inventory's UseItem methods
- π Requires Unity 2019.3.3f1 or more
-
1.5
The Assembly
January 2020
- π Improves performance of tags comparisons
- π Adds assembly definitions for faster compile times
- π¦ Adds latest version of MMTools
- π Requires Unity 2019.2 or more
-
1.4
The Pile
August 2019
- π Improves the way items get added when incomplete stacks are already present
- π Requires Unity 2019.2 or more
-
1.3
The Border
April 2019
- π Fixes a bug that would cause inventory slots to not refresh properly when moving to the same slot
- π Requires Unity 2018.3.8 or more
-
1.2
The Architect
January 2019
- π Most Items methods (Use, Equip, Drop, Unequip, Pick) are now bool functions, allowing you to extend them to add conditions to allow or prevent these methods to be called
- π Fixes a bug that would leave an InventoryDisplay in a weird state when dropping an object mid-move
- π Fixes a minor typo in inventory that could cause a target equipment inventory not to be found
- π Improves event calls architecture
- π Requires Unity 2018.2.6 or more
-
1.1
The Override
December 2018
- π Adds an overridable method to determine whether an object is usable or equippable
- π Adds custom editors for extended item editors
- π Adds a method to explicitely destroy an item
- π Adds an option for easy setup of IsEquippable and IsUsable
- π Updates the way events are triggered
- π Inventories can now be edited in bulk
- π Improves item editor's property exclusion
- π¦ Moves the MoreMountains menu under Tools
- π¦ Updates MMTools to their latest version
- π Requires Unity 2018.2.6 or more
-
1.0
The First Item
July 2017
- β¨ Inventory Management
- β¨ Inventory Display
- β¨ Items creation
- β¨ Item actions : pick, drop, equip, unequip, use, move, swap
- β¨ PixelRogue demo scenes
- β¨ Minimal demo scenes
- β¨ Stackable items
- β¨ Equipment inventories
- β¨ Intra and extra inventory navigation
- β¨ Save and load inventories
- β¨ Automatic inventory display setup
- β¨ Hotbars
- β¨ Selection Marker
- β¨ Inventory Sounds
- β¨ Corgi Engine integration
- π Requires Unity 2017.0.1 or more
Constantly updated assets
All More Mountains assets receive regular updates, which always include bug fixes for all known issues at the time of the update, compatibility with new Unity releases,
improvements on existing features, and of course new features. All these updates, for all these assets, have always been free. You can see how often updates get released
in the graph below.
What's next?
I'm always working on new features. Here's a roadmap for the incoming ones.
Warning : I won't be held responsible if some of these items never make it to a release.
Buy this asset (and anything, really) for what's been released, not what's possibly coming.
(Still, I'll probably be doing most of these.)
Coming next (in no particular order) :
- More tutorials and use cases
- More inventory skins