How would I replicate the chatting effect to my dialogue chat

Whenever a player speaks more than twice, the old chat bubble that the player wrote gets pushed up, while the new one is right above the player.

That’s basically the effect that I want to make with my dialogue system.
I have two videos that shows what’s happening and what I want to replicate.

This is chat effect that I want:

This is what it looks like right now:

Picture of what the UI looks like

1 Like

for every new message, it looks like the old message disappears before they can overlap and stack like the effect you want.

the actual hierarchy/setup looks fine to me and it should give you the effect that you want. reply frame goes in, uilistlayout stacks them.

does your script make it so that there is only one reply frame allowed under the main frame? maybe show an excerpt from your dialogue system script if you can!

I had a similar issue a month back. I solved it by changing the ExtentsOffset on each chat bubble once a new one appeared.

local function onEvent(player, text)
	local count = 0
	local ch = player.Character
	local head = ch.Head
	
	-- Searches the players head for any other chat bubbles and offsets each one as a new bubble appears
	if head:FindFirstChild("Bubble") then
		for _, bubble in pairs(head:GetChildren()) do
			if bubble.Name == "Bubble" then
				count += 1
				bubble.ExtentsOffset += Vector3.new(0, 0.5, 0)
			end
		end
		
		-- Removes the extra bubbles if there's more than 3
		for _, bubble in pairs(head:GetChildren()) do
			if bubble.Name == "Bubble" then
				if count > 2 then
					count -= 1
					bubble:Destroy()
				end
			end
		end
	end
	
	-- Code to create your new text bubble here
end
event.OnServerEvent:Connect(onEvent)

Hope this helps