My calculation won't give me floats.

using UnityEngine;

public class AiRaycast : MonoBehaviour
{
    public GameObject player;
    public int SpotRayCount = 12, SpotRayLenght = 10, SpotAngle = 90;
	void Update ()
    {
        float rot = -((SpotAngle/ SpotRayCount) * (SpotRayCount/2));
        print((SpotAngle / SpotRayCount));
        print((SpotRayCount / 2));
        for (int i = 1; i <= SpotRayCount; i++)
        {
            print(rot);
            Debug.DrawRay(transform.position, Quaternion.AngleAxis(rot, transform.up) * transform.right * SpotRayLenght, Color.blue);
            rot += (SpotAngle / SpotRayCount);
        }
	}
}

If there are only integers on the right side of the equal sign, the compiler will perform a division of integers.

You need to cast at least one INT to FLOAT to get a float divison.

float f = (float)SpotAngle / SpotRayCount;