Например, по строкам:
public bool Intersect (Ray ray, out float distance, out Vector3 normal)
{
}
vs
public IntersectResult Intersect (Ray ray)
{
}
public class IntersectResult
{
public bool Intersects {get;set;}
public float Distance {get;set;}
public Vector3 Normal {get;set;}
}
Что лучше как по ясности, простоте использования и, что самое главное, производительности.