I had good success with making my characters face down X instead of Y but market place assets all have characters facing down Y so I went back to that so I can reuse animations from the marketplace.
In Unreal +X is forward, +Z is up, +Y is left or right, I forget off the top of my head. I now always make everything face down X except for characters which I have facing Y and rotate them 90 degrees in game.
It’s annoying to have to account for the 90 degree rotation sometimes because I do some things with IK on my character animations and it messes with the different coord spaces, but I’ve worked out most of the kinks. A lot of my IK is in world space so the math works out.
One annoying thing I’ve had to do was take a rotator of a character’s head direction, and apply a 90 degree offset to it in C++. Otherwise the pitch ends up being roll due to the space mismatch and as your character looks up they actually roll their head side to side. I didn’t find a way to do in blueprint since blueprint just lets you add to the roll, pitch, yaw and doesn’t expose quaternions or ways to transform a rotator by another rotator.
FTransform URDBaseGameplayStatics::WorldTransformToCharacterModelWorldTransform(const FTransform& InTransform)
{
FTransform Res(InTransform);
Res.ConcatenateRotation(FRotator(0.f, -90.f, 0.f).Quaternion());
return Res;
}