I want my loading screen like bgs logo where the logo sync to load content and slowly reveal. i try to imitate that but i cant. Can somebody help me?

Capture

this is my script :

local players = game:GetService("Players")
local player = players.LocalPlayer
local playerGUI = player:WaitForChild("PlayerGui")
local character = player.Character
local humanoid = character:WaitForChild("Humanoid")
local assets = game.Workspace:GetDescendants()
local content = game:GetService("ContentProvider")

local menuGUI = playerGUI:WaitForChild("MenuGui")
local logoGUI = menuGUI:WaitForChild("Logo")

local tweenService = game:GetService("TweenService")

if not character or not character.Parent then
	character = player.CharacterAdded:Wait()
end

local function tweenlogo()
	local dropTween = TweenInfo.new(
		1,
		Enum.EasingStyle.Back,
		Enum.EasingDirection.Out,
		0,
		false,
		0
	)
	local drop = tweenService:Create(logoGUI, dropTween, {Position = UDim2.new(0.329, 0,0.304, 0)})
	drop:Play()
end

local function progress()
		for i = 1, #assets do
		local asset = assets[i]
		--i want this part logo to sync in to content load and slowly reveal the logo but i dont know how to make the uigradient sync to the load content
		content:PreloadAsync({asset})
		logoGUI.UIGradient.Offset = logoGUI.UIGradient.Offset + Vector2.new(0,-0.5)
		wait(0.2)
	end
end

spawn (function()
	tweenlogo()
	progress()
end)

found a post what can help you.

Example of the logo is at the end of the post.
Hope it will help you :slight_smile:

1 Like

wow, thank you but i still don’t know how when every asset load , the logo gradually reveal