How to create Custom ECollisionChannel in C++

ECollisionChannel is an enum, so you cannot create extra collision channels at runtime with C++. However you can define and use up to 18 extra GameTraceChannels as described here:

Once you have defined your customer GameTraceChannel you can use SetCollisionObjectType to assign it to an actor:

GetStaticMesh(MyActorMesh)->SetCollisionObjectType(ECollisionChannel::ECC_GameTraceChannel1);