Loading screen disappears before all assets loaded

So, I’ve tried a few variants however for now im unsure which. The main problem is that loading screen eventually proceed to disappear before actual player has all textures, meshes, UIs fully loaded in and visible to them. Might be as well good if line showing you the progress would be moving on its own, based on how much of assets have been loaded.

game:GetService("ReplicatedFirst"):RemoveDefaultLoadingScreen()

Sound:Play()

task.wait(3)
if not game:IsLoaded() then
	game.Loaded:Wait()
end

wait(5)
Bar:TweenSize(UDim2.new(0.529, 0,1, 0), "InOut", "Linear", 2, false)
wait(4)
Bar:TweenSize(UDim2.new(0.749, 0,1, 0), "InOut", "Linear", 1, false)
wait(2)
Bar:TweenSize(UDim2.new(1, 0,1, 0), "InOut", "Linear", 0.5, false)

wait(2)
Sound:Stop()

After that point UI destroys itself.

repeat task.Wait() until game:IsLoaded()