Multi-Slot Grid based Inventory System

The concept is very similar to Champions of Norrath’s (Realms of Everquest or Return to Arms) inventory system.

Where there is a grid and the items vary is size: 1x1; 2x1; 1x2 ect.

I made a ui inventory window widget with a grid and filled it up with slots as a separate widget using add child to grid then set row and column to variables I created on the slot widget itself: X for row (RED) and Y for column (GREEN). I’m thinking I could layer another grid widget over the slots to add the different sized items to and depending on their position (x,y) lock down the individual slots with a Boolean named Occupied (true or false) to avoid overlap.

If you have any idea how I can make any of this possible please don’t hesitate to drop an answer.
Any feedback is appreciated.

P.S. If for some reason it can’t be done with blueprints or you know how to do it but only in C++ please let me know.