Hello, I am working on making an inventory menu for my game that is in the style of a notebook. On One side is a list of all the items the user has. And on the right side are details about those items. What I want to happen is when a user hovers or clicks on one of the left-hand items, the details panel on the right opens up to give some more information about that item and gives the ability to drop the item.
So far it looks like this:
I am roughly following along with this tutorial on Udemy, Unreal Engine 5 UI Design: Advance inventory system with UE5 but have gone and done my own thing quite a bit.
What I am currently struggling with is when something is hovered or clicked on a left item, the details on the right update. I have not got this to work correctly at any point and for the most part I’m getting errors like these:
Blueprint Runtime Error: “Attempted to assign to None”. Node: Set Item Graph: EventGraph Function: Execute Ubergraph WBP Inventory Item Blueprint: WBP_Inventory_Item
Blueprint Runtime Error: “Accessed None trying to read property Inventory Item Details”. Node: Set Item Graph: EventGraph Function: Execute Ubergraph WBP Inventory Item Blueprint: WBP_Inventory_Item
I know what it’s getting at, it can’t update something when it’s None, but where I am having issues is I can’t get it to say anything but this error. I’m assuming it’s an issue with my casting and I am hoping someone can orient me in the right direction.
In my button from the left side, I’ve got this set up to cast into the Details Blueprint.
Basic set nodes to set the Detail’s Item Variable to the current Blueprint Item.
It then goes into my details Blueprint, these nodes all seem to work just fine. I can update them on my main inventory blueprint, here I changed it to my wallet option.
All of the items are connected to this structure:
That data table looks like this:
And since I am casing to my Third Person Character with the linked Details Blueprint, that is done here:
Does anyone have any ideas on what I have done wrong? I’ve tried to do everything I can think of and wasted close to two days on this.