You can actually avoid this complexity if you use the MouseEnter event.
That’s what I did when I wrote the inventory for my game, Whisperbit.
I have an ImageLabel position itself to the mouse’s X and Y properties.
If you really want draggable Ui stuff, I’d recommend this post by a Roblox staff member. It works pretty well.
When I wrote that open source inventory, I used a load of object values because I wanted things to be simple. The only real drawback to that system is that you can’t have infinite items in your backpack. It works fine for most games.