Version 1.2 Update Guide
Version 1.2 comes with many improvements with a focus stability and feature completeness. The goal was to make a modular and flexible system that allows users to mix and match features available to create there very own Inventory UI.
Many of the changes made in V1.2 are related to feature requests by community members and better integration with other Opsive assets specifically the Ultimate Character Controller. Therefore some of the components from UIS 1.1.X might be incompatible with the new system. As a result of these changes, there are few steps required in order to update to version 1.2 from a prior version.
If you believe some information is missing, please ask us in the forum and we will review the upgrade steps.
Important: Make a backup of your project before updating!
Updating to version 1.1 can be accomplished by performing the following:
Remove version 1.1.x
Many scripts were renamed or removed and Unity Packages do not handle these changes very well. After version 1.1 has been removed (including the Shared folder) version 1.2 can be imported.
If you own one of the character controllers make sure the reinstall it too as it contains additional shared scripts which are not within the Ultimate Inventory System.
Check your scene and prefabs for Missing Components
As mentioned previously some scripts were renamed, replaced, modified or simply removed. Therefore some of you GameObjects or prefabs may need fixing.
Common Errors
TMPro could not be found
If you encounter this error you should find the Assembly definition for the Shared folder and Ultimate Inventory System and make sure it references the Text Mesh Pro Assembly Definition ( “Unity.TextMeshPro” ). The Assembly Definitions can be found in:
- Assets/Opsive/Shared/Opsive.Shared
- Assets/Opsive/UltimateInventorySystem/Scripts/Opsive.UltimateInventorySystem
Major Changes
Feature Demo Scenes
We added minimalist demos scenes which explain certain features in detail. This was a highly requested feature to help people understand how to use the asset with more examples.
CSV Import Export
You can now import and export inventory system databases to and from CSV files. There are some strict limitations to our solution but it should help people that like to visualize there items in a table format.
It is also useful when you transitioning from a previous inventory solution. where you already have a large list of items within a list.
Audio Manager
The Audio Manager has been rewritten from scratch. It is now a shared feature between the Ultimate Inventory System and the Character Controllers.
You will now be able to define how to play your audio clips with granular control. The Audio Config Scriptable Object lets you define a list of Audio Clips, Audio Mixer, volume, pitch and more which can be set to constant or random values.
You’ll also be allowed to extend the Audio Manager Module to use custom your own Audio System or Third party Audio systems bypassing the Unity Audio System.
Save Meta Data
The save system now allows for save meta data. The save meta data can be extended to add context to the save file, such as play time or player progress. The save meta data is available in the Save Views to show this custom information.
Potential changes required in your projects
Here are a few changes you might be required to make in your project when upgrading:
Functions renamed
- AddItemCondition -> CanAddItem: Within the Inventory, Item Collection and Restriction classes.
- RemoveItemCondition -> CanRemoveItem: Within the Inventory, Item Collection and Restriction classes.
Scripts Removed/Renamed
- Audio Manager: The Audio Manager is now a shared file between the Ultimate Inventory System and the Character Controllers. It is much more versatile than the previous Audio Manager.
- FixedSizeItemCollection: This Item Collection was rarely used and had some issues. It is now removed, instead use Item Restriction Object to limit the number of items you wish in your Inventory to Item Collection.