Is there a way to change a trace's channel type as it overlaps?

Hello,

Is there any way to make a trace change its channel based on what it originally hit or as it overlaps?
Here’s what I’m trying to accomplish

I’ve currently made projectile classes that that change their object type when overlapping a wall, to allow them to bypass the other side.
In the video below is my colored projectiles and my red trace.

This was accomplished as such:

As you can see, the projectiles are working as intended.
Now, I currently wish to accomplish the same with a trace but there seems to be no way to do this.

My alternative would be to just make a projectile with a high velocity but I do desire to make a beam.
Should that suffice or will it be resource intensive?

My current workaround is basically changing one of the component’s (wall) collision response to a trace based on its relative location

It works as follows:

When relative location Y-axis < 50, change collision trace and vice versa.

I really don’t want to continue to use this method as it may lock me to one axis as it is now. Eventually I do want to make spinning walls and other blueprints that aren’t necessarily locked on one axis.