Attach to Actor Component not working?

I have a very simple blueprint for a “torch” that I want my character to be able to pick up by running over it.

When the player runs over it, it should be attaching to a custom component that I added to my character blueprint. The RightObject component is what the torch should be getting attached to. In the torch blueprint it pulls the root component of the character which is the CapsuleComponent. Index 2 is pulled from that to get the Camera, then it pulls the component from the camera before initiating the attachment.

The problem is, it doesn’t attach to that component. It decides to attach itself to the camera or on top of the camera for some reason, even though the RightObject component has a heck of an offset in front of the camera.

I will post the next two images in a coupe of comments since posts are restricted to 2 attachments.

The component offset is here.

Anyone have any ideas as to why this is? I’m using the first person template so there is no skeletal mesh or bones/sockets to attach to as I have removed the default arms with the gun since I won’t be using that for the final game. Does something like this require sockets? That would seem a bit silly if you have a first person game that doesn’t use anything like hands or arm meshes. Is there a way to add sockets without having a skeletal mesh assigned to the mesh component if they are required to accomplish this?

This is the final result in-game when I run over the torch:

I had to crop the screenshot so I could post it, lol. As you can see the torch is not positioned way in front of the camera like it should be, but instead it’s attached on top of the camera.

Whoops. There was a small error in the blueprint. The second Get Child Component should have had an Index of 0. I forgot to change it back after trying some different things. Problem still persists though.

Is there a reason you are using Get Child Component nodes instead of just getting a direct pointer to RightObject? You should be able to just “Get Right Object” from the cast-to.

You need to verify that your InParent is valid or it will attach to the root i think so it could be the problem. Maybe do a print string to verify what you are passing in?

Sigh (facepalm) not sure why I didn’t think of that. All good though. I wasn’t aware you could pull a component directly from a cast. Works great! Sometimes the smallest things provide the best results. I was just over complicating it. Thanks much!