UCableComponent moves perpendicular to mesh at endpoint

I’ve been trying to make a grapple gun and had the custom mesh hook spawning and firing where I wanted and all that correctly, and then decided to add a cable. I can’t seem to get it to align right. I’m not sure why.

See the video for the problem in action. I’m not sure what I’m doing wrong here.

This is my constructor for AGrappleGun which the Blueprint is inheriting from.

AGrappleGun::AGrappleGun(const FObjectInitializer& OI) : Super(OI)
{
 	// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
	PrimaryActorTick.bCanEverTick = true;

	//Create the gun mesh
	GunMesh = CreateDefaultSubobject<USkeletalMeshComponent>(TEXT("GunMesh"));
	SetRootComponent(GunMesh);

	//Create the hook mesh
	HookMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT ("HookMesh"));

	//Create the cable component
	Cable = CreateDefaultSubobject<UCableComponent>(TEXT("Cable"));

	Cable->SetupAttachment(GunMesh);

	HookMesh->SetupAttachment(GunMesh);

	//Another try to attach hook to end of cable >_<
	Cable->SetAttachEndTo(this, FName("HookMesh")), FName("CableSocket");

Cable Socket is here on my HookMesh.

Anyone know where I’ve gone wrong here? I’ve poked around for help with this and wasn’t able to find anyone discussing the same problem.

You might want to look into constructors and ClassDefaultObjects

Do some of the stuff you are doing at BeginPlay / PostInitializeComponents

I never used that component. But maybe it has something like this… it’s just an idea…

Sin título