I don’t see why this wouldn’t be possible, if you already have a system for saving values inside a the folder, all you need to check while looping through values of the first folder is if there is another folder inside.
function SaveFolder(Folder)
for i, v in pairs(Folder:GetChildren()) do
if v:IsA("Folder") then
SaveFolder(Folder)
else
-- Save Process of other values
end
end
end
If you are wondering how to apply the saving part to the folder, look at this code, I posted on this post. It’s a little bit outdated, now I usually put everything in the folder into a table and save it via. HttpService, but this works perfectly fine as well.