You should branch on the return value of your single line trace, it’s false when nothing is hit, that’s why you would get accessed none, only continue if it’s true, you wouldn’t need the IsValid macro then.
If hit object does not have the tag (i presume this means it isn’t grabbable), you should return and not continue, have your function return a bool, true if it got on an a grabbable actor, and false otherwise. All failures here should return false.
After the trace function you branch on the trace result, and only grab component if it’s true. This will also stop accessed none errors.
Possibly you should set grabbed component to none if it didn’t hit a grabbable actor. Your event tick should only continue if PhysicsGrabbedComponent is valid AND physcicshandle is active, that might be redundant but, just to be sure.
I done this in the character, so replace reference to self with your character:
pretty much the same except the branch:
the trace: (note the multiple return nodes)
This should fix any problems with accessed none. It works fine for me, if it doesn’t for you,. there musn’t be something else wrong. I notice you are using the old trace? Don’t know how that will affect it.