I don’t think that would be the problem, they are all cloned from 1 part with it enabled and its not the same part all the time which doesn’t register, its random.
I’m not sure exactly why your raycast isn’t working, you could try contacting the creator of the module with an example file.
What are you actually trying to do? There may be non-raycast solutions, depending on how much you can constrain the problem.
For instance, will you always be going in a straight line? Do you care if the player actually touches the part, or does going around the side still count?
I don’t think you need raycasts at all. Seems like the goal of this game is to run through walls and get to higher stages. Since it’s just a straight line, all you need to do is check if the player’s X or Z (depending on the direction the stages are heading) is past the stage’s X or Z position. If it is, you reached that stage. And this can be done on the server with ease, but it’s better to do it on the client.
The player will always be travelling along the Z axis, basically each time the player touches a part they get coins they cant go around the part as there are barriers either side, its like Race Clicker if you have played it.
Are you sure that would work? Its not so much stages instead its each time you run through a part you get some coins. I’m not sure how I would go about comparing their position against the 500 parts the player can run through in an efficient way.
All the stages that the user passed can be ignored. All you need to check is the stage that is the current stage + 1.