You need to be using workspace:WaitForChild(“Terrain”). Terrain is a child of workspace, and thus calling game:WaitForChild(“Terrain”) will infinitely yield because terrain will not be a direct child of game, it is a descendant of game.
game is referencing your place. And the children of the place are the different services. workspace is a child of the game. And the terrain is located in the workspace
Terrain is a member of workspace, all you need to do is: local Workspace = game:GetService("Workspace") --//gotta say consistent! local Terrain = Workspace.Terrain or Workspace:WaitForChild("Terrain")
Also you were trying to literally print the Terrain! That won’t work, the print, warn & error functions only print strings.
Use of WaitForChild on Terrain is unnecessary especially if its from the server. Not only will the Terrain object exist on the server already, but it is also a property of the Workspace referencing the Terrain object. Don’t spend time waiting where you don’t have to.
Not quite sure what “doc bug” is, but what you might be thinking of here is incorrect documentation. If you’ve found a case where documentation is incorrect or otherwise providing inaccurate information, submit a request for Platform Feedback > Developer Hub regarding it.
In this case, as Cinema said, it’d be a typographical error rather than a documentation bug. I don’t think those exist in the first place. The search term you placed doesn’t use “doc bug” to refer to documentation issues, never heard of that term being used.
@Cinema_Sin Difference in access between GetService, the property and the global is negligible.