I have some more information that may or may not be related to the above problem.
Pasting this into an empty baseplate will print “Player1” despite the fact my username in both the workspace and game.Players is “MasterDaniel”.
game.Players.PlayerAdded:connect(function(Player)
print(Player.Name)
end)
Making the function yield with wait() after it fires solves this problem.