I am creating a spinning top system with these letters in each of these sectors here detecting the arrow that is spun and stopping at.

I’m having a problem where I couldn’t get the raycast to detect the arrow part of the spinner. I’m utilizing Vector3.new to create the ray from a letter.
This script for Letter 1, as highlighted in the picture
local letter1 = script.Parent
local arrow = game.Workspace["Spinning Top"].spinnerarrow
local ray = Ray.new(letter1.Position, Vector3.new(-1, 1, 0))
while true do
local hit, position = game.Workspace:FindPartOnRayWithIgnoreList(ray, {letter1})
if hit then
print("Letter 1 is hit")
else
print("Letter 1 is not hit")
end
end
Is there something missing in my script or is there something wrong in it?