At 00:31, connect LookAtObject left of your CastTo nodes to itself.
Remember, data lines(colored lines) should better be from with in the same part of execution lines(white), your style of connection will confuse blueprint compiler and make it thinks extra hard.
(And probably why it’s random, because you tap multiple times, the function is returned multiple times, which another execution line[my guess is OnTick], trying to see if it’s possible to cast a data input that comes from no where.)
Also, check my answer hub questions that shows you how to properly do trace and validate and save your reference.
And, you should really make the whole process(trace and pick up) with in one event.