Action RPG Inventory System

Have a pre-sale question: will this work with User this Interface Kit? User Interface Kit in 2D Assets - UE Marketplace
Thanks!

EDIT: just bought it and will buy the Interface Kit also so I can test it and see if it is working :slight_smile:

Excellent!

I rebuilt the Hotbar and the Hotbar_Slots from scratch and it fixed the issue.

Since I am making changes to the UI I think Iā€™m going to take this opportunity to switch the UI to an interface system and remove all references for triggering the events on the PlayerController->InventoryManagerComponent.

So you will now just simply have to add the InventoryHUDInterface to your player controller and the HUD will just work. You wonā€™t need to go through the HUD and update/recast to your controller references during migrations. This will also potentially help avoid any other bugs that may happen down the road as changes to the engine and UMG are made by Epic.

I will keep you all posted on the progress of the 1.3 update.

*** UPDATE ***

Here is a quick example of what is changing with the removal of references to the Player Controller/InventoryManagerComponent in the Inventory UI in version 1.3

d1fa7af73e3f060794d30b3abf2a7ff1908b9504.jpeg](https://vanguardinteractive.com/storage/app/media/unreal/marketplace/arpginventorysystem/updates/1_3/InventoryHUDInterface.jpg)
Click to load the full version

I will submit v1.3 on Monday/Tuesday.

When I encountered this error on a previous occasion with a hotbar that I created following a tutorial, I rebuilt the nested widgets just as you describe. The issue appeared fixed at first but reappeared. I suspect that it is not the widgets themselves, but the engine.

Looking forward to it! The new design looks great.

Version 1.3 - February 23rd 2016
------- Update Notes -------

I have included links to previous posts where these changes/fixes were posted to help users who are migrating manually.

Inventory System:
Fixed issue with stats not calculating on start if the player is wearing starting equipment.
Fix details can be found here

Fixed issue with forward loop when removing multiple inventory slots dynamically.
Fix details can be found here

User Interface:

Update Added a UI Blueprint Interface class for the Player Controller to remove the need for casting to your own player controller in the UI widgets to access the InventoryManagerComponent.
This will insure that as the Unreal Engine progresses it will be less likely for blueprints or issues to arise from upgrading to newer versions of the engine.
Update details can be found here

Fixed UMG Hotbar not showing for some users when running in standalone.
This issue was caused by a corruption in the UMG BP. This was fixed with the changes to the UI widgets above.

**I would say that the UI changes are optional if you arenā€™t having any issues with the demo UMG content and unreal, but I recommended them if you are using the DEMO UI as a core part of your project. **
If able, please remove your old inventory files and merge a new copy into your project using the new version 1.3 migration video.

**A quick guide to manually making the changes from 1.3 for exiting projects that are using version 1.2 where merging from a fresh 1.3 isnā€™t an option. **

[SPOILER]
*
Some people who received the update early had luck migrating just the UI changes by replacing files, but with how the Unreal Engine is setup I wouldnā€™t recommend trying it unless you are very experienced.
It will probably take way longer fighting with Unreal then it would to just remove the old version of the inventory system from your project and merging it again. Donā€™t forget to back up your project first before updating.
*

The steps would be as follow for those of you that want to try it on your own and have a 2nd project with 1.3 open for reference.

Inventory Component/Inventory Manager Changes:
- First make sure to make the 2 fixes for the Inventory System listed in the update notes.

Player Controller Changes:
- Open an ARPGIS 1.3 project and migrate the InventorySystem\Bleuprints\InventoryHUDInterface into your own project.
This should only try and migrate the one file and it will place it into your Content\InventorySystem\Blueprints so just move it to wherever your other files are and then clean up redirectors in the content folder.

- Add the InventoryHUDInterface to YourPlayerController in the class settings by ā€œAddingā€ an interface.
*This will add two new interface functions, and you will have to create the events yourself. You can try copying the UI Interface Events from the open 1.3 projectā€™s **InventoryPlayerControllerā€™s **event graph and pasting into **YourControllers *event graph. This will either work or it will fail horribly. If it fails you need to create the events manually yourself using the other project as reference.
Donā€™t forget to add the logic to the two interface functions

User Interface:
- Using the Open project as a base go into the Inventory_Layout and replace any reference to getting a InventoryManagerComponent to use the new Interface Event call. All ControllerReferenceā€™s should be set to the basic PlayerControllerReference as we are no longer casting to ā€œYourPlayerControllerā€ and getting an InventoryManagerComponent reference. We can call the Interface events without casting and this is what helps prevent Issues with the current version of Unreal and UMG blueprint linking.

- Do the same as above for the blueprints in the UI\Blueprints\Inventory Folder. Some widgets will require minimal or no changes like the ToolTip.

- After these changes if you are still having issues with the Hotbar, please delete the Hotbar and Hotbar slot widgets and recreate them.
This should really only take a few minutes to build if you are looking at the other 1.3 project while you recreate the widgets.
If you had luck with pasting the Interface Events in the player controller, you can also try backing up your project and when itā€™s closed copy the new Hotbar and Hotbar_Slot widgets into your UI\Blueprints\Inventory folder and overrite the exiting ones. Please Backup first before trying this.

**
If you are having issues with migrating or updating with changes from 1.3 please send me a support email ASAP.**

[/SPOILER]

The new migration tutorial for update 1.3 is on YouTube.
I will point the original tutorial links to it when the update is live

Just a screenshot from our project that we are currently working on :).

Awesome stuff, canā€™t wait to see more :smiley:

could your system be easily adopdet to a point & click adventure inventory ?

I donā€™t see why not, as it can be used in any type of game design. How you interact with the items is up to your UI and game design.

My plugin project has hit a wall and I was hoping to get back on the inventory integration. Have you had any word when the update will be available?

They have had the files for awhile now, I guess with Tuesday/Wednesday usually being about the new releases they didnā€™t do it. I will hassle them some more and hopefully it gets released tomorrow.

what is your plugin project about if you donā€™t mind me asking?

Itā€™s just a learning project. C++ is not my native tongue and it is difficult for me. I want to expose the functions of the the Mysql c++ connector to blueprints so that I can make a direct connection from my project to my Mysql database. For certain things, i.e. player location and inventory, I want fast updates without an extra layer such as might be done with VaRest (which I would have to learn how to use) or similar.

Mostly Iā€™m just digging through search results trying to sort out the Link errors that I have encountered. Thus far, I canā€™t get my UE4 C++ code to recognize/find the mysql libraries. UE4 c++ projects have Makefile configurations and I am not familiar with these at all. Iā€™m still trying to understand functions in the Build.cs.

But the plugin work was just a fill-in and Iā€™m going to let it languish for a while and hope for inspiration. As soon as I get the ARPGIS back up to snuff, Iā€™m going to get the A.S.S.

Awesome, I know VaRest might not seem like the best option because of the added overhead but if you have that MySQL code as part of the client it might present issues down the road with hacking.
Atleast with VaRest and the webserver you can limit who can talk to the webserver to send these requests for data.

I have experience using VaRest but I am looking to come up with my own solution that doesnā€™t use PHP. This is something I am going to be working on over the next few months on our game and Iā€™ll be happy to share my findings as I go.

As far as MySQL without PHP goes, I keep seeing talk about Node.js on here and there is a connector for that. I think Flathead is the plugin but it hasnā€™t been updated in a while. I think there is Unreal.JS as well which I think could communicate with MySQL via REST.

From reading a number of comments around the web, my understanding is that php is slow. I would be more than happy to purchase your solution from the Marketplace. :slight_smile:

Yes PHP is slow and a resource hog.
I have been speaking with a few people and I am thinking about creating a python or node.js backend to handle all my server list/database work.
I doubt this will ever be something that would be put up for sale on the marketplace. It would more likely be information and plugins shared with the community to help you building your own solution.

Hereā€™s a game thatā€™s using ARPGIS. See video in last post:

First item test

Missed a few verts and wrong bone parenting

thatā€™s a cool player model, but Iā€™m guessing itā€™s not using the unreal skeleton by the way the items are aligned.

Itā€™s the Makehuman Game skeleton, which is compatible (same bone names and structure, different joint rotations) with the Unreal skeleton. This allows the use (with minor adjustments) of the exiting animations, free and on the marketplace. We were using the MXH2 skeleton and rig to create new animations from public domain mocaps, but that is very time consuming.

Weā€™re going to port or replace the ARPGIS demo wearable items as placeholders until we can get new clothing and armor items built.