This page is about making brand new items for your game. If you are looking to give or add items to a player's inventory or another storage component at runtime visit the Working in Blueprint / Add Items page instead.
How to Create New Items Video
How to Create New Items — 5:21
To follow along with this video, Download the Stone Mesh & Icon Texture
Create a New Item Step by Step
Follow these steps to create a new item for your game:
- Navigate to the Blueprints/Variables/DataTables/ folder and open the DT_Items data table. You should see a spreadsheet like list containing rows of data. This is the Data Table panel, each row is an Item. By default this list would show all the included demo items. [I don't see the Data Table panel]If you do not see the Data Table panel you can enable it from the Window menu. If you still don't see it after enabling it then you will probably need to reset your layout. From the Window menu select Load Layout > Default Layout to reset your editor layout.
- Click the + Add button on the toolbar. This will create a new row in the data table at the bottom of the list.
- Next set the row name to something unique for your item. [Show me how]By default it will say something like NewRow. Double click on this name in the table and it will convert the name to an input box for you to enter your own row name. When we reference our item we will use this row name. When you see ItemRowName mentioned throughout this system and documentation, I am referring to this RowName. Keep your item row names simple, and I recommend deciding on a naming convention before you start creating items. I am a fan of snake_case for my row names, which is all lowercase and underscore for spaces. When you are ready, decide on your row name and enter it into the table.If you change this row name after using it you will need to update what you entered in those locations as well.
- Select your new row from the list and then take a look at the Row Editor panel. [I don't see the Row Editor panel]The row editor panel provides a form with all our variables associated with the row we have selected. The variables you see is what defines our Item.If you do not see the Row Editor panel you can enable it from the Window menu. If you still don't see it then you will probably need to reset your layout. From the Window menu select Load Layout > Default Layout.
- Fill out the form with the data for your item. Below you will find a break down of what each variables is.
- Save your changes to the Data Table.
That's it! Your item is now ready for use. Anywhere that asks for an input of ItemRowName you would enter the Row Name you picked and the rest of the system will know you are talking about this item.
What makes an item? (Item Definition)
The F_Item structure in the Blueprints/Varaibles/Structures/ folder is what the data table is based on. Here is a breakdown of each of the variables found within it.
Name The display name for your item. Displayed to the player in the UI tooltip.
Description The text apearing under the name. Displayed to the player in the UI tooltip.
FlavorText Extra text apearing under the description, highlighted in gold on the UI tooltip. Often used in games as an optional display for some lore related to the item.
Icon The Texture 2D for the Item when displayed in the UI. The demo content uses 64x64 transparent PNGs for item icons, this is because that is how big they will appear in the grid based on the default padding and sizing of the item grid slots.
IconTint The color tint for the Icon (Default: White [no tint]). With tint you can optionally reuse the same icons and slightly tweak the color rather then creating new textures for each similar item.
ItemType The main type, or category, of the item. Based off of the data asset DA_ItemType. A few examples would be equipment, resource, or consumable. To create or modify item types see the Item Types chapter.
ItemSubType The optional sub type, or sub-category, of the item type. For example with an item type Equipment you might define a sub type as Weapon. Based off of the data asset DA_ItemSubType. To create or modify item sub types see the Item Types chapter.
ItemQuality The item quality, used to describe the rarity of the item. For example something that is not very rare would be Uncommon, while something that is very rare would be Epic. The quality is shown as a color tint on the item and tooltip. Based off of the data asset DA_ItemQuality. To create or modify item qualities see the Item Quality chapter.
Static Mesh Details/ StaticMeshMultiple Optionally show a different mesh for this item when it is spawned in the world and has a quantity greater then 1. If left unset it will use the default StaticMesh object.
Static Mesh Details/ StaticMeshWorldScaleMultiplier Optionally override the default scale for your mesh.
Static Mesh Details/ StaticMeshPawnCollision Optionally Override the default collision for this item relative to the pawn.
UsableItemHandler If this is a usable item, you can define what happens when you use the item with this handler. Learn how to create a usable item handler in the Usable Items chapter.
DropItemHandler If the player can drop this item define the drop item handler for it. By default will use the default pickup item. Learn how to create and implement a custom drop item handler in the Drop Items chapter.
MaxStackSize The max quantity of this item that can occupy a single stack before a new stack is started. Setting this to 0 will act as an unlimited, up to the hard cap which is set to 1,000,000,000 by default.
To change the hard cap edit MaxSizeStackHardLimit in the AC_Inventory_Storage component. Keep it within range of an integer (max of about 2.1 billion in blueprint). To remove the cap or to upgrade to an int64 for an even bigger cap (consumes more memory) use the Find in Blueprints tool to search for MaxStackSize to see where it is used. These uses will need to modified and reviewed.
DynamicData is our key value pair of the default variables and values for each instance of this item that is created. Dynamic data is an advanced feature but enables the possiblity to change certain attributes about our data at runtime. View the Dynamic Data chapter to learn more.
ItemTags Optionally associate gameplay tags to your items. Internally these can optionally be used to define criteria for our Specialty Slots, which let us define criteria for what can go into a specific slot.
SellPrice The base price of the SellItem to give the player when they sell 1 of this item to a vendor. The vendor can apply a personal multiplier to this price.
SellItem The ItemRowName for the item we want to give to the player when they sell this item to a vendor. This can be another item, or a currency. The quantity of this item given is defined by SellPrice.
UI Sounds/ PickupSound When the player picks up an item in the world or from the item grid this sound will play.
UI Sounds/ DropSound When the player drops an item in the world or on the item grid this sound will play.
UI Sounds/ MoveSound When the player moves an item from an item grid (with right click) this sound will play.