Why does CapsuleTraceByChannel use ETraceTypeQuery instead of ECollisionChannel/Why don't default ECCs show up in XTraceByChannel?

So I’m trying to trace against the pawn channel to see if things are blocking against Pawn, but as far as I can tell any of the blueprint trace functions like “CapsuleTraceByChannel” will only let you use custom trace channels, not any of the defaults.

I can see that ConvertToTraceType exists in the engine, but it’s not accessible by blueprint.

Does anybody have any idea why the default collision channels can’t be used in channel traces?

So looking into this more it looks like it’s because TraceTypeMappings and ObjectTypeMappings are treated separately in COllisionProfile.cpp, which makes sense, but I don’t get why CapsuleTraceByChannel would only give you access to the subset of channels that are in TraceTypeMappings.

It seems like either ObjectTypeMappings should be included in TraceTypeMappings since you may want to trace against those channels as well as search for objects of that type, or CapsuleTraceByChannel should change back to using ECOllisionChannel.

As an example of my use case, I am trying to dynamically assess if a Pawn can fit somewhere in a procedurally generated area so I am trying to trace that pawn sized object on the pawn channel in that area so anything that blocks pawn will hit.