Thanks for the reply! It seemed to deleted have my first response, so this has no context. The Acos got me started in the right direction, what I have is:
FVector v1 = StaticMeshComp->GetPhysicsLinearVelocity().ToOrientationQuat().GetUpVector();
FVector v2= myActorQuat.GetUpVector();
v2.X = v1.X;
v1.Normalize();
v2.Normalize();
float Angle = FMath::Acos(FVector::DotProduct(v1, v2));
I am equalizing the x values to cancel out the pitch, I initially thought I would need to equalize the Y values but apparently not.
So that seems to get me the difference in roll on the world scale, but I need the local difference in roll, with the X axis pointed down the velocity vector. My first thought is using the Velocity Quat to rotate the actors rotation vector, but that doesn’t seem to be working.