How to get an updating list (without using UIListLayout)

I want to have a kill feed that lowers all the previous feeds down, so the newest feed is at the top. I don’t want to use UIListLayout tho, as I want tweening to be done.

local CurrentFeed = {}

--// Update feed position
local function UpdatePositions()
	for index, feed in pairs(CurrentFeed) do
		local Offset = feed.Size.Y.Offset * (tonumber(feed.Name) - 1)
		feed.Position =, 0, 0, Offset)

--// Create new feed
local function CreateNewFeed(killer, weapon, death)
	local NewFeed = Template:Clone()
	-- Insert NewFeed into CurrentFeed
	table.insert(CurrentFeed, NewFeed)
	-- Set NewFeed properties
	NewFeed.Size =, 0, 0, ScreenSize)
	NewFeed.Name = #CurrentFeed
	Frame.Size =, 0, 0, #CurrentFeed * ScreenSize)
	NewFeed.Parent = Frame

Is what I have, but that seems to lower them in order from 1-5. So the first frame that’s created stays at the top, and each subsequent frame is just lowered.

You would have to loop through each kill (i would reccomend using a for i = 1, #kills loop to sort so you can reverse the order). Then multiply the size offset of the gui by “i”.

I would put this inside of a function and call it each time you add/remove gui

Can you give a coded example tho?

I cannot, its a pretty easy implementation though.

Edit: The size offset would be gui.Size.Y.Offset

If it’s easy then why can’t you do it? :face_with_raised_eyebrow:

I’m already doing size offset as that feed.Size.Y.Offset

If its easy why cant you do it? I was on mobile.

Bruh :man_facepalming:I never said it was easy, you are the one who said it was easy. That’s why I asked you