Ninja Character - Dynamic gravity for characters & objects

Yup, it seems you want to replace all calls to MakeFromZQuat with your own function. My function almost always rely on FQuat::FindBetweenNormals, you have to think on a complete replacement, choosing the axes you want to preserve. Try using cross products between normalized axes, like I did in my function when not using FQuat::FindBetweenNormals.