> For the complete documentation index, see [llms.txt](https://kdoore.gitbook.io/cs2335/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kdoore.gitbook.io/cs2335/inventory-system/inventory-scriptableobject/customization-steps.md).

# Customization Steps

### Configure Animation - Recommended

Although it is optional to configure animation for the InventoryDisplay, it is recommended that you configure animating visibility of this, so that it can be off-screen during the MiniGame, and using Tab key can bring it back on screen.  If you don't want to configure animation, then you should create buttons that can show-hide the inventoryDisplay.  You can use the Hide\_Show\_Panel script on the InventoryDisplay, but you'll probably need to add some additional logic to allow the panel to close when a button is clicked.  In addition, you'd need to remove the Animation logic that's already included  in the **`InventoryDisplay.cs`** script.  It is probably easiest to implement the Animation following the steps on the [Configure Animation ](/cs2335/inventory-system/inventory-scriptableobject/customization-steps/ui-animation.md)page.

## Required Customizations

### Create Custom Item: Concrete Child Class

The video below gives an overview of the MVC Pattern that the Inventory System is based on.  It shows the relationship between the abstract base class: item and concrete child classes that are used to create types of items that can be stored in the inventory system.  It shows the separation of logic into 3 components of MVC pattern:  Model ( Data ) - View ( UI ) - Controller ( Manager ).   \
\
**See updated code in Item, Gem, Potion, Food code - 4/11/2020 -** \
[**Instructions and Link to Install Updated Code - 4/11/2020**](/cs2335/inventory-system/inventory-scriptableobject/install-and-configure.md)

**You will need to add one additional line of code to the constructor for each Concrete child-class** to set the Item.instanceType variable that is used in the InventoryDisplay class. See code listed below - **this step was not included in the video linked below.**

```
//.......other Food class code above here

public Food() //constructor - updated
    {
        itemType = ItemType.Food;
        instanceType = foodType.ToString(); //UPDATE requires adding this line 
    }
    
//.......other Food class code below here
```

{% embed url="<https://youtu.be/sqSbo494AJQ>" %}
