Preloading Assets in your game

So I’ve been using the generic loading assets script below.

local ContentProvider = game:GetService("ContentProvider")

for i = 1, #MassAssets do
   local SingleAsset = MassAssets[i]
   ContentProvider:PreloadAsync({SingleAsset})
   local progress = i / #MassAssets
   Handler.Frame.BarHolder.Bar.Size = UDim2.new(progress, 0, 1, 0)
end

Loading 1 asset at a time is starting to get annoying because I have to manually put in each asset. Is there a way to just collect all assets by using getChildren or getDescendants without breaking the Progress Bar?