How to enable section-based collision on an actor base

I’m trying to enable collision (for visibility through ray-trace purposes) on single mesh sections by checking for the material that they have applied: if it is a translucent one, collision is disabled, otherwise it is enabled. That is quite easy to do by changing the flags in the referenced mesh:

TArray<UMaterialInterface *> mats = actor->GetStaticMeshComponent()->GetMaterials();
for (int m = 0; m < mats.Num(); m++)
{
   if (mats[m]->GetBlendMode() == BLEND_Translucent)
   {
      FMeshSectionInfo info = actor->GetStaticMeshComponent()->GetStaticMesh()->SectionInfoMap.Get(0, m);
      info.bEnableCollision = false;
      UStaticMesh * mesh = actor->GetStaticMeshComponent()->GetStaticMesh();
      mesh->SectionInfoMap.Set(0, m, info);
      actor->GetStaticMeshComponent()->SetStaticMesh(mesh);
   }
}

//same way but info.bEnableCollision = true for opaque etc.

This way all instances of such a mesh get changed though, even if they are using different materials which should mean not all of them have to get the same collision configuration (namely, this way the last analyzed rules all their effective collision configuration).

Is there a way to disable/enable collision on single sections for single actors rather than to all those sharing the same mesh? Although in the Learning/Marketplace scene I never identified same mesh objects having different materials applied, it does seem pretty useful to do that so I’d like to resolve the problem right now.