The system itself has quite a wide range of effects that touch on just about everything in the game. From each zone, all the monsters, the player’s character, the player control, UI elements, object interaction, and so on.
Just to put things into some kind of perspective of the size of this inventory system. 26 data tables contain around 40k words. Over 35 blueprints of varying different types. Over 500 icons. Along with over 200 functions and more variables than I even want to attempt to count.
The issue was some of the item data was being properly displayed from the mouse hover over event of the item in inventory. While the majority of the data either was not being displayed or was wrong. Which in itself was quite confusing of how that was even happening.
Attempt 1: Checking All Blueprints For A Compile Error
Attempt 2: Inspecting Some Items In The Data Table
In some instances, default variables were being displayed on the items. This however for some strange reason was not 100% of the time which left me more confused than anything. Even more, so that some data like the item names, quality, and type were displaying just fine.
Attempt 3: Restarting And Rebooting
When you have odd things working and not working my past experiences told me to just exit out of UE4 and reboot my system. With how much data got migrated over it was possible there was some kind of caching or similar error that was going on. That sadly did not resolve it.
Attempt 4: Fixing Redirectors
I knew it wishful thinking. The universe is just not that kind on this day.
Attempt 5: Delete All The Things!
Attempt 6: Rechecking My Work
I went through all my changes just to be on the safe side of things to make sure everything that I thought should be changed was done so correctly. Since a change in one blueprint can have rippling changes elsewhere with variables being changed I also went through and recompiled and saved all of them since that could also be what was causing the issue. Still nothing.
Attempt 7: Checking More Critial Blueprints
Since I was looking at the issue more from a macro standpoint I decided to just hyper-focus on a couple of blueprints and functions that could be the root of the issue. Hoping to either spot the issue or notice some common characteristic between them that perhaps could be the culprit. No such luck.
Attempt 8: Oh Mighty Google Save Me
At this point, I’m several hours into not resolving the issue and I’m feeling quite defeated. That is when I turn to one of my favorite tools for such an occasion-- google. I try a few different search quarries to see if I can find any kind of comparable to the issue I’m getting related to tooltips.
Endless results were dating back over five years with lots of people asking for help. More times than not a solution was never found and some people would even come back every few months re-asking for help or stating what did not work. This is not uncommon and I often wonder how many projects hit a bug and the developer just gives up entirely.
I was at least hoping it would give me some kind of spark of inspiration that would lead me to discover my issue and fix it. That is usually how it goes as there is not going to be something quite exactly like what you are dealing with. That sadly was not the case.
Attempt 9: Just the Dexterity
I even deleted, added it back, and tested it to see if that would resolve the issue in many blueprints. Making a game in a game engine can have some of the strangest quarks ever. This however was not one of its times. I also did not find any reasons why the single stat I was checking was not being displayed correctly.
Attempt 10. This Is A Basic Founction
This is a basic function. It’s not doing a lot and you could say it's not doing much of anything like it should be. Many short functions like this are sometimes nothing more than an input node and an output node. It from the surface was quickly looked at and skipped over without paying much attention to it.
If there was anything wrong with this function from it being migrated over there are a few expectations I would expect have to indicate to me something broke. Just any one of these would have caused me to look harder at it. Such as the blueprint showing it needs to be re-complied. The nodes are not being connected. Objects unconnected in the function but UE4 connected the nodes without it. A compiling error from something that broke.
What should not have happened was UE4 deletes something out of it entirely. Reconnects the pins because I guess it knows better than I do. Along with not displaying that the blueprint this function is in needs to be recompiled. It also did not leave the disconnected part behind to give a content clue that something amiss occurred. It also should have given a none error when running the game.
Due to all of that, I did not think much of things in this function as it looked not that important. This alone is a large system I don’t have everything mesmerized exactly how it should be and it takes a while to go through things.
Final Thoughts
Other Posts:
- 50. Game Development | Massive Increase In Items, Crafting, And Zone Loot Tables
- 51. The Inventory System That Broke Me
- 52. Alpha Channel, Fixes, And UE5
Information
Screenshots were taken and content was written by @Enjar. Screenshots are from Nightly Dungeon and Unreal Engine 4.
Game roadmap.