How would I make stackable uis

I’m attempting to do a function in which clones a UI to show up for everyone if an Administrator connects to their server, but I don’t acknowledge on how to make them stackable. What methods should I use for this? For instance, an Administrator connects, the frame gets cloned for all, but if 2 joins at the same time, I don’t want them to overlap and want it stackable, so the earliest Administrator moves to the top whilst the newer one is at the bottom.

-- this is basically what I'm doing, but I don't acknowledge on how to make them stackable
game.Players.PlayerAdded:Connect(function(plr)
	local toMention = {121227196, 218620226}
	if table.find(toMention, plr.UserId) then
        local content, isReady = plrs:GetUserThumbnailAsync(plr.UserId, thumbType, thumbSize)
		local clone = frame:Clone()
		clone.Name = "UserNotification-"..plr.Name
	for _, i in pairs(plrs:GetChildren()) do
		clone.Parent = i.PlayerGui:WaitForChild("OnJoinUi").MainFrame
		local frameUser = clone.Username
        local framePfp = clone.ProfilePicture
		frameUser.Text = plr.Name
		framePfp.Image = content
		soundEffect()
1 Like

You can use a UIGridLayout, simply create a frame locked to the admins, and put a UIGridLayout as a child to the frame. When an admin joins, clone the admin frame to the frame.

What do you strongly suggest that’ll help me out on that? I’d need an elaboration on it as it doesn’t seem to work for me.

Found out how to use it, thank you!