From a script, you can use . and [] to access child-objects:
> print(workspace.Baseplate)
Baseplate
However, there is a bug where sometimes when you use the wrong name for an object, you are still able to get the child
> Instance.new("Frame", workspace)
> print(workspace.frame)
13:39:06.338 - "Workspace.frame" should be "Frame"
Frame
We have been tracking places that are accidentally accessing child objects with incorrect names. The number of cases is low enough that we want to move forward with fixing this bug, but it is not zero. We will be enabling the fix early in January, at which point a few scripts in a few games may break.
Until then, please take a moment to look through your gameās output, looking for the distinctive warning message (āXā should be āYā, e.g. [āWorkspace.frameā should be āFrameā] from the example above) and fix them.
@FearMeIAmLag:
It affects . and [], but does not affect :FindFirstChild(), :WaitForChild(), or :GetService()
> Instance.new("Frame", workspace)
> print(workspace["frame"])
15:17:11.886 - "Workspace.frame" should be "Frame"
Frame
> print(workspace:FindFirstChild("frame"))
nil
> print(workspace:WaitForChild("frame")) -- never prints anything
@ScriptOn:
Fixing this makes way to improve performance. The bug involved checking child instances twice (which can add up if the object has many children) which will no longer happen.