It seems like everything else in the API is PascalCase
Everything except for constructors like Vector3.new() and CFrame.lookAt(). That’s what it comes down to, that these feel closer to the constructors than the rest of the API surface. Though like I note above, there’s advantages to the other casings too, it was a very close decision.
Thanks for taking the time to jump in on this topic. I’d like to note that while the discussion has been focused on my usage of WaitForChild; both it and FindFirstChild still seem to be working without issue.
The problem itself seems to be caused by the inline reference to GetService.
Building on both your post and tnavarts answer, I’d like to point out that during the time that I’ve been a Roblox developer the behaviour as described in your previous, renounced post and by Roblox staff on multiple discussions has always been undocumented.
I believe it to be unfeasible to rely on any behaviour that is not written down, and until such time as the engineering team is willing to nail its trousers to the mast (so they can’t climb down) (props to whomever gets the reference), I’d consider it dangerous to not rely on WaitForChild for practically everything client-side. Shameless plug for my short post on it.
This is a consequence of a recent change on our side.
Require paths like these are supported, we will revert the change soon and make sure to fix it before the next rollout.
Sorry for the trouble.
You should probably make those things in an external editor for now if you need them. Exposing such a complex Studio API surface in a way we feel comfortable guaranteeing ongoing support for is something that’s never been done before and could take quite a while.