Change ECollisionResponse for SkeletalMesh-Body on runtime

Hello,

i try to change the ECollsionResponse of a custom TraceChannel for a specific Bone of my SkeletalMesh on runtime.
The idea is to make a specific bone clickable and all others bones not clickable.
The problem is, it seems like i cant set the CollsisionResponse on runtime for a specific bone, i can just change it for the whole SkeletalMesh.

this is my approach:
is created a custom TraceChannel “MyTraceChannel” in ProjectSettings->Collision,
this led to the following lines in “DefaultEngine.ini”:

+DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,Name="MyTraceChannel",DefaultResponse=ECR_Ignore,bTraceType=True,bStaticObject=False)
//...
GameTraceChannel1="MyTraceChannel"

looks good so far.
In my C+±Pawn-Class i set the CollisionResponse for all Bones to “ignore”, expect for the one I want to click by:

	for (auto& Elem : MyMesh->GetPhysicsAsset()->BodySetupIndexMap)
	{
		MyMesh->GetBodyInstance(Elem.Key)->SetResponseToChannel(COLLISION_MYTRACECHANNEL, ECollisionResponse::ECR_Ignore);
		if (GEngine)GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Cyan, FString::Printf(TEXT(" %s: ignore"), *Elem.Key.ToString()));
	}
	MyMesh->GetBodyInstance("MyBoneWithThisName")->SetResponseToChannel(COLLISION_MYTRACECHANNEL, ECollisionResponse::ECR_Block);

But this seems to have no effect.
If I set Collsion-Presets->CollisionResponses for MyMesh in Editor every Bone (when block is active) or no Bone (ignore is active, shown on image) is clickable. The runtime changes done in c++ have no effect.

Does anyone know a solution how to set the CollisionRespone for a specific Body on runtime?

Thanks,

problem still not solved,
this is a workaround (maybe it helps someone with the same problem):

	//Lazy way to get Mouse-Trace for later Raytrace with Bodies
	FHitResult* hit = new FHitResult();
	GEngine->GetFirstLocalPlayerController(GetWorld())->GetHitResultUnderCursor(COLLISION_MYTRACECHANNEL, true, *hit);
	FVector start = FVector(hit->TraceStart.X, hit->TraceStart.Y, hit->TraceStart.Z);
	FVector end = FVector(hit->TraceEnd.X, hit->TraceEnd.Y, hit->TraceEnd.Z);
	
	//boneName is Type FName
	//if bone ist visible, cast ray against its body
	if (!(MyMesh->IsBoneHiddenByName(boneName))){
		FHitResult* bodyHit = new FHitResult();
		MyMesh->GetBodyInstance(boneName)->LineTrace(*bodyHit, start, end, true);
		//If Mouse-Ray and Body collide
		if (bodyHit){
			//DO SOMETHING WITH CLICKED BONE HERE
			return;
		}
	}

This code uses the Trace from GetHitResultUnderCursor() to cast a ray against a specific Body, only if the belonging Bone is visible. If the ray and the body collide, do whatever you want to do with the bone.