Making all flat surfaces on a cube walk-able in 6 modes? [fake custom gravity]

Attempting to make a custom gravity, but only in 6 cardinal directions (think of the flat 6 inner sides of a cube).

When I rotate the player capsule. I need the Z raycast value that checks for the floor to change to a new matching vector. **Would it be possible for me to copy an existing player template, find this raycast in the code, and make 5 new versions of it for each “down” directions for each surface so the player will switch back to walking mode? **
Can these C++ variations then be activated and deactivated through either the blueprints system or some other code that references them as a Boolean value to function for the player character?

*the player will be in Enabled Physics mode with an applied constant force acting as fake gravity to their relative -Z whenever they are in falling mode. The default gravity will be 0. A variable (can the raycasting above be used as a Boolean?) will turn this off as they closely approach the floor. I need a trigger that attaches the character to the surface as if it were a new walk-able floor, and change walk-able angle Z to be relative to that new surface.