Action RPG Inventory System

fix* hhaha. I didn’t think the controls were that bad :frowning: I thought it would be neat to do it closer to a MMO style control scheme and a little different than what everyone else is used to for some variety :slight_smile:

I can see that being an issue if you’re moving widgets and tossing them around a lot. I will work on adding a “Lock to viewport” type setup for the next update.
Also I’ll add Tooltip at mouse location to the TODO list.

I am very invested in this and I want to assure you all that I will do my best to support the products and make improvements as the engine changes and newer features are made available.
I also welcome feedback and want to make sure even the demo content is a good working base. If the suggestions benefit all users I am happy to make the updates.
If it’s a more specific request I’ll try to do a tutorial so it doesn’t clutter the base code for others who won’t need that change.

That would be great if you can post it in the thread so other people can make the changes themselves too instead of waiting for an update.

Because it might not be until Monday at the earliest until the update is out as epic doesn’t work through the weekend and I am working on creating a bunch more video tutorials over the next few days.

I will also be creating a changelog in the first post so that people can see what is coming in the next update and a change log of all the additions since launch.

Hey !
Great work ! this is awesome.

I’ve read people have managed to merge this system into their own project, but I can’t seem to figure out how. I already have a character bluprint in my prototype and merging this system in my project (obviously), doesn’t seem to do much. I thought I could copy the gist of it in the level blueprint but since I’m a beginner of course I didn’t realize my mistake before visualizing it.
Any idea how I can merge the systems with my own project ?

Thanks again for this hard work, the example map itself works very well.

Ok I did figure out how to do half of it. Selecting the Inventory classes for hud etc in the game mode merged all the inventory aspect. Now all I have to figure out is how to merge my character controller class with the inventory character class without having to recreate all the functions :v

You will have to update the cast from InventoryPlayerController to your own controller in some of the Usable blueprints and also the InventoryManager and UI Blueprints.
Also I would recommend changing your character class to use the EquipmentCharacter as it’s base that way you don’t have to manually move the player equipment setup into your own character if you don’t want to right away.

I will be releasing a video later this evening that will go over the merge steps.

:slight_smile:

Thanks for the quick response! That makes sense now, and I will probably cap each stack of inventory items to 99 to keep things neat, but am looking forward to uncapping the Currency limit. That will make boss rewards, quest rewards, etc more lucrative. Thanks again!

We know about the problem when dragging the UI off screen it seems to break it, but it also breaks when dragging one UI on top of another, I haven’t had time to play around with it yet but thought i would bring it to light.

Ok great, I’ll make sure it’s in the update.

lol that’s why I said “fix”, it’s definitely not bad!
Just know that some people like to change the camera style and it’s done super cleanly, and with the video you guys made, SUPER easy. :slight_smile:

I have done couple my own items like health etc and weapons. I have made like tutorial, and player pick-ups scifi knife and add it to inventory, but when try to move it to player hand it doesn’t happen anything. Screenshot: Screen capture - e372ae9334357bc6428ac3ef0a2fd1cc - Gyazo

If a player dies in multiplayer, does his inventory become available for pick up by other players? If not, I’m sure it would be easy to just add an event on death to drop a container that holds all of the player’s inventory. I guess I’m going towards a more PVP survival type of inventory where players can loot each other.

Can you please show me the item properties in the ItemList and what the weapon skeletal mesh looks like in the asset preview viewport window.

You can see on the NPCs how using the Equipment Inventory on a Character class with the Inventory Interface makes it easy to loot them.

You would just need to do this for the Player by moving the EquipmentInventoryComponent (named PlayerInventoryComponent) in the Controller class To the Character class.
Then you add an InventoryInterface to it so you can setup an OnActorUsed() that allows players to interact with the inventoy when that player is dead.

I will do a quick tutorial showing how to set it up tonight.

I’m very attached to my character class and controller. Will your video focus on merging your content into existing classes?

The video will merge the Inventory System and example content into a new Third Person Project.
This should give everyone a good overview of how you would hook up your own projects character and controller to use all the content out of the box.

I will also be uploading a 2nd merge video this weekend/next week that will cover merging the Inventory System into the Multiplayer TopDown Kit that is out on Feb. 10th.
Since the TopDown Player Controller has it’s own logic for usable actors it will skip that part and it has a few similar textures and assets (Door, Wood, Etc) so it will also cover merging cleanly and replacing duplicate content.

The Player Character class only includes what is needed for the Inventory system to work that why it’s great to just re-parent to it. But it is easy to to move it into your own character as it’s mostly just Skeletal mesh variables to equip and replicate equipped meshes. You will need to make minimal changes to the EquipmentInventoryComponent. I will make this a separate tutorial and give an overview about equipment inventories and how to add/remove equipment slots.

I wasn’t able to get one of the new tutorials uploaded tonight but I will upload it first thing tomorrow.

To recap I will be adding the following tutorials over tomorrow and Saturday.

  • Changing Item Properties - (example will change the Amount / MaxStackAmount from BYTE to INT and show where in the code you need to update your Item Struct changes)
  • Player Looting - (Moving the Player’s EquipmentInventoryComponent from the PlayerController to the PlayerCharacter)
  • Merging the Inventory System - ( Merge with example content into a new/existing project using the TPP as a base)

And these additional tutorials next week

  • Character Equipment customization - (Changing equipment slot amounts and migrating the needed Character Class changes into your own character (if you don’t want to parent to the EquipmentCharacter)
  • Overview of the network and Item design - (To help people understand and extend the Inventory System)
  • Merging the Inventory System into the Multiplayer TopDown Kit - (MPTopDownKit will be released Feb 10th.)

As well as working on the 1.1 Update for early next week that will include the following
*- Changing Item Amount & MaxItemAmount from BYTE to INT

  • Prevent widgets from being able to be dragged off screen
  • Show ToolTip offset from Cursor Position
  • Update the HotBar to show the amount of that ItemType you have in your inventory.*

Looking forward to this.

There’s a lot of nodes to root through to ensure everything is using my existing controller, character, and HUD references. It would be nice to see you step through it and hopefully I’ll figure out what I’m missing.

After a lot of cursing, and rooting around, I was finally able to get all instances of Amount byte switched over to Integers. So I can now give out more cash. I then created a new item that, like the single coin item, gives money. I cannot, however, figure how to have it give me more than 1 gold. Anyone else figure out how to change that? Altering the item list to a higher amount number does not seem to work. I’ve also (somewhat) successfully added a custom highlighter that changes the outline color to gold if it is money. I may try to integrate it into rarity. Next step will be getting rid of the crosshair and having the system work via mouseover events and/or collision for ease of use; like the Action RPG Inventory w/ MP TopDown Kit Video.

If anyone figures anything out, let me know. If I can get things figured out we can trade notes. Thanks again for all the help Pirate!

Pirate, in a future update can you make the action bar its own inventory instead of being a shortcut to items in your inventory.

Dragging the UI off screen or on top of another UI seems crash it rather than just being place off screen you mite want to look into that.

That’s probably not going to happen, as an action bar is meant specifically to be a shortcut to items in your inventory and skills.
But what do you mean exactly? Can you elaborate on that idea?

Already on it lol

Not necessarily in a lot of games the action bar is more classed as a belt inventory, this means items can be placed and scrolled though using the mouse wheel rather than referenced like skills are.

Played a bit more with it and tested on LAN, and it the system does work very well in multiplayer :slight_smile:
I’m running into an issue though, When creating a new inventory item :
1- duplicating a helmet and changing it to ‘mine’ still keeps the same thumbnail of the blueprint actor.
2- I keep trying different settings but my skeletal mesh doesn’t seem to go on the head socket. It’s instead glitching at the skeletal base.
Any idea ?

Edit: I realized I didn’t try the thumbnail map. However, trying it didn’t work either. I’m sure the system works and I’m doing something wrong :slight_smile: I just thought it might help myself and somebody else that might run into the same issues while waiting for the merge tutorial