// Получаем ссылку на текущее оружие
AActor* CurrentWeapon = GetWeapon();
// Если текущее оружие существует, то отвязываем его от сокета
if (CurrentWeapon)
{
CurrentWeapon->DetachFromActor(FDetachmentTransformRules::KeepWorldTransform);
}
// Получаем ссылку на новое оружие
AActor* NewWeapon = GetNewWeapon();
// Если новое оружие существует, то привязываем его к сокету
if (NewWeapon)
{
NewWeapon->AttachToComponent(GetMesh(), FAttachmentTransformRules::SnapToTargetNotIncludingScale, "SocketName");
}
不确定,但试试看。