[CRITICAL] Recent client update broke my game

This has occurred to me as well, it stops loading past a certain point or doesn’t load at all.

4 Likes

In my case I’ve isolated this code snippet which I use for my front end to get text bounds and it now yields indefinitely for some reason:

local getTextBoundsParams = Instance.new("GetTextBoundsParams")
-- ... setting params

-- PRELOAD FONT OR :GetTextBoundsAsync MIGHT YIELD INDEFINITELY
local family = fontFace.Family
family = string.gsub(family, " ", "")

local fontURL = ("rbxasset://fonts/families/%s.json"):format(family)
services.ContentProvider:PreloadAsync({fontURL}) -- now yields indefinitely

local textBounds = services.TextService:GetTextBoundsAsync(getTextBoundsParams)
7 Likes

Its happening to my game as well.

3 Likes

I currently fixed this by just shoving the preload to the bottom and making a skip button. However the fact that the preload function is broken is a huge concern obviously.

5 Likes

This has also occurred to me, which is interesting.

Ignore this horrible code, I wrote it like 3 years ago probably in the middle of the night and never looked back bc it worked :skull:

local preload = require(game:GetService("ReplicatedStorage"):WaitForChild("preload"));
local later = {};
local loadLst = {};
for key,tex in pairs(preload) do
	loadLst[tex] = false;
end
for i = 1,#preload do
	later[i] = preload[i];
end
for key,tex in pairs(preload) do
	table.remove(later,table.find(later,tex));
	loadLst[tex] = true;
	contentProvider:PreloadAsync({tex});
	handle((key/#preload));
	if(doSkip) then
		break;
	end
end
4 Likes

Can also vouch for this happening to me too, even in studio.

function LoadSounds()
	local AllSounds = {}
	local SoundNames = {};
	local function RecurseGet(CurrentTable: {any}, SubsetName: string)
		for Index, Val in CurrentTable do
			if typeof(Val) == 'table' then
				RecurseGet(Val, `{SubsetName or "MAIN://"}/{Index}`)
			elseif type(Val) == 'number' then
				table.insert(AllSounds, `rbxassetid://{Val}`)
				table.insert(SoundNames, `{SubsetName or "?"}<br></br>   '{Index}'`)
			end
		end
	end
	
	RecurseGet(SoundStorage)
	
	local AssetNumber = 1
	local function PreloadLabelUpdate(AssetId: number, AssetFetchStatus: Enum.AssetFetchStatus)
		LoadingLabel.Text = "{<br></br>"..`   Loading...<br></br>   {SoundNames[AssetNumber]}<br></br>   ({AllSounds[AssetNumber]})`.."<br></br>}"
		AssetNumber += 1
	end
	
	local PlayingSound = nil	
	for _, Sound in AllSounds do
		if LoadingSkipped then
			break
		end
		
		ContentProviderService:PreloadAsync({Sound}, PreloadLabelUpdate) --inf yield?
		
		if PlayingSound then
			PlayingSound:Destroy()
		end
		
		PlayingSound = SoundControl.new(string.gsub(Sound, "rbxassetid://", ""), SoundControl.newSoundParams())
		PlayingSound:LocalPlay()
	end
	
	if PlayingSound then
		PlayingSound:Destroy()
	end
end
1 Like

You should edit the title of this post to be more descriptive of the issue and additionally, remove “[CRITICAL]” from the title as this tag is no longer in use. Doing so should result in a faster response from engineers.

Something like “PreloadAsync infinitely yielding with fonts” would do.

The issue might just be related to this:

1 Like

Hi,

Our engineers are investigating into this issue

10 Likes

We are still investigating into this issue

For now, a temporary way to allow players to continue into the experience is to implement a skip loading screen button

8 Likes

I’m also having issues with odd client-to-server bugs at the same time, including frozen intro menus and player outfits being duplicated to other players.
Was there any information regarding any recent updates that could’ve impacted or caused this?

2 Likes

So far this specific issue seems to be related to ContentProvider:PreloadAsync()

I’d recommend making a new bug report regarding the duplicated outfits

6 Likes

This issue is critical and needs to be resolved ASAP. Popular games are affected and unplayable. Any experience that uses ContentProvider:PreloadAsync() without a skip button appears to be unplayable. This is particularly impacting one of my favorite games, rendering it unplayable. The problem seems to have arisen after the latest Roblox client update.

2 Likes

Bump, can verify. PreloadAsync yielding indefinitely for audio assets loaded by asset string.

2 Likes

I have made a bug post regarding the player outfit’s issue, as an experience I work on has the same issue Recent update breaks clothing on Server & Client avatars when using dynamic heads

It features a workaround which may help with your problem though I’m not sure if its 100% the cause of it

1 Like

Update for this issue, engineers have identified a potential cause and a mitigation has been made. Please let us know if you or your player base is still encountering the issue

14 Likes

I got a bug report about an hour ago of someone encountering this same issue in my game.

9 days later and it’s still happening.

Hi @Fezezen,

Could you confirm which experience you are still encountering this on?

3 Likes

My own, Guts & Blackpowder. The loading will occasionally still get stuck on loading animations, or meshes, or sounds, and the user will be forced to click skip loading to avoid being stuck on the loading screen forever.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.