Instance not detected, even though it exists

so i am currently working on a project for a friend, and it requires moving my fountain system to a new roblox place. i rechecked, nothing necessary got left behind.

there’s a local script that’s supposed to make some of the nozzles move, and this had worked flawlessly on the old place. here though, i tested it and this happened.

(ignore the first few seconds, i was just introducing the problem. 0:34 is where i start the game and demonstrated the problem)

the script doesn’t work and spits out an error saying that n1 is not a valid member of Model "Workspace.formations.wlzt1.wlzt1b.nozzles", despite the fact that n1 clearly exists in the explorer. this doesn’t just happen with that particular part, though

one solution i have tried is to delete the part and duplicate another part to replace it. it did work for another part (from the script in the video, there’s workspace.mechgmotors.f.Orientation = ..., this f part had the same problem, but then i deleted it, replaced it with a duplicate from another identical part and renamed it to f, and it works), but i don’t think it’s gonna be practical to remove and replace every part mentioned in the script because there’s just too many parts.

anyone’s help will be much appreciated, because this project needs to be done as soon as possible. thanks!

This probably happens due to it running on local script, which runs as soon as it loads, but before all the workspace instances load on your client.

Simplest way to fix this is to use :WaitForChild() instead of directly indexing the instance within the script.

alright, i’ll try it
but why does it work on the previous place, while it doesnt on the new one tho?

Unsure, but if the place is old (over a year), it may have an old replication technique turned on, which loads the whole workplace for the player at the start of the game, while the new one just loads all workspace instances around you.

If you select “Workspace” in the explorer tab and scroll down in the properties, you will find “StreamingEnabled” button, which is probably turned on for this new place, but off for the old place.
image
The issue could resolve if you untick the button, but it can still be unreliable and its better to use WaitForChild() unless you’re absolutely sure the instance you’re accessing is loaded.

1 Like

i just turned off the property, and the whole thing works now! i guess i’ll just use the current script as it is now, because ngl i’m too lazy to replace everything. but if there’s a problem with it, i’ll try your solution. thanks so much for helping!

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.