i am applying blood decals to limbs based on the side that lands on the floor however i am having issues with making sure that the raycast always points downwards.
You need to check for the raycast, aka the result. If the result is firing at the sky for example, it will return nil as the ray doesn’t hit anything and it can’t go forever.
@LeqenDzTR is right, Raycasting is in worlspace, which means that Vector3.new(0,-1,0) will always be 1 stud downwards, regardless of the character’s orientation.