Invisible Characters?

Sometimes when the player joins the game other characters or all other characters will be invisible. This doesn’t seem to happen during any special events. If the invisible player rejoins it fixes but if the player who cannot see them rejoins they stay invisible. Hopefully, that’s not confusing. The problem is inconsistent. (I could just be paranoid but it seems like when I publish the game when servers are running the problem persists but if I publish, shut down the game and don’t publish there isn’t a problem)

I use humanoid descriptions and I’m going to post some scripts that may be the problem. The output is completely empty other than:

Example of the problem:
Their screen:
image
My screen:

LocalScript in ReplicatedFirst: (Ugly on purpose)

local v0 = game.Players.LocalPlayer
local v1 = game:GetService("StarterGui")
v1:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)
local v2 = script:WaitForChild("Main")
local v3 = v2:Clone()
v3.Parent = v0.PlayerGui
v3:WaitForChild("TitleScreen").BackgroundTransparency = 0
local v4 = v3.TitleScreen
v4:WaitForChild("Loading").Visible = true
game:GetService("UserInputService").MouseIconEnabled = false
function loadGame()
	v0:WaitForChild("f")
	v0.f:WaitForChild("_PLAY")
	wait(8) -- I'm lazy, shush
end
loadGame()
workspace.CurrentCamera.CameraType =  Enum.CameraType.Scriptable
game:GetService("UserInputService").MouseIconEnabled = true
workspace.CurrentCamera.CFrame = workspace.GlobalCamera.CFrame
v4:WaitForChild("Loading").Visible = false
v4.Loading.BackgroundTransparency = 1
v4.Version.Text = "build" .. script.v.Value .. "-" .. game.PlaceVersion
v4.Credit.Visible = true
v4.Version.Visible = true
if v0.f._PLAY.Value == true then
	v4.Start.Visible = true
else
	v4.Select.Visible = true
end

v4.Title.Visible = true
v3:WaitForChild("TitleScreen").BackgroundTransparency = 1

v4.Start.MouseButton1Click:Connect(function()
	v3:Destroy()
	game.ReplicatedStorage.RemoteEvents.Remote1:FireServer(1)
	v1:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, true)
end)

v4.Select.Male.MouseButton1Click:Connect(function()
	game.ReplicatedStorage.RemoteEvents.Remote1:FireServer(2, "male") -- Load Character
	v4.Select.Visible = false
	v4.Start.Visible = true
end)

v4.Select.Female.MouseButton1Click:Connect(function()
	game.ReplicatedStorage.RemoteEvents.Remote1:FireServer(2, "female") -- Load Character
	v4.Select.Visible = false
	v4.Start.Visible = true
end)

Load Character: (When the remote is fired)

plr:LoadCharacterWithHumanoidDescription(d) -- d is defined in the script and the players do load properly

My conclusion is that my scripts are irrelevant. There is nothing wrong with my code. I think this is a Roblox problem but I’m unsure how to fix it. I can’t constantly shut down servers with the problem if the game has hundreds of players.

The character should already be there when the player joins. It doesn’t need to load anything again? The bug only happens sometimes and there’s nothing in output to show for it other than a warning that always shows up (listed at the top). I’m a confused scripter, anyone have any idea what this is? Or if this is solely a Roblox issue?

1 Like

weird, this happened to me when I was testing my game. but instead of the characters disappearing, everyones chat boxes were above their heads (as always) and below their feet? this was after I added some scripts into my game.

1 Like

I’m 99% sure it’s Roblox so I took to here hoping a mod would see it and maybe show it to someone who can fix it?

Good luck! because i’m pretty sure mods only post on their own posts, they rarely go on other peoples posts.

2 Likes

Filtering is enabled, so if you set a person to invisible on a local script it’ll make them invisible only to them and not to everyone else. If you want the changes to apply to everyone, try writing it in a server script.

No script ever makes anyone invisible. That is not the issue.

I just wanna bump this topic back to the dev forum list, due to having the same issue currently as others. Is it a ROBLOX issue, what’s the cause of it, and examples of the cause?

My solution at the time was to update their position using the humanoid root part’s cframe instead of its position. I’m pretty sure this is a Roblox problem tho :stuck_out_tongue:

I haven’t had the problem in my games since, so I assume it has something to do with the humanoid being in the model and for some reason affecting the position of the model. I just recommend setting the cframe instead of the position. If u want u could even set the cframe without the position and maybe that’ll give you different results

I just looked at my code listed above… dear lord my practices were horrible…

1 Like