I’ve found a solution to the problem that works in my case. The problem lies in a check that happens in the BP_MotionController blueprint that checks if there actually is an opbject parented to the motioncontroller that can be dropped. Only if this is the case, the event Drop is fired. This means Event Drop can normally only be used when the object is parented to the motioncontroller.
To fix this I took out the Branch that does the check, which was fine because I don’t really need that functionality in my current project. The downside to doing this is that when the branch is disconnected, objects just release if you for example pick up a second object with your other hand.
Using a bool in combination with the tick event would indeed be a good option, but only after using the branch fix, because the drop event would still not fire if one just switches from gate to bool.
This is the node I disconnected