I don't know about Helix but Neovim (and vim) has something called sessions and it does everything but unsaved files. By default it's manual but it wouldn't be too difficult to automate. A very simple way could just create/update the session on BufWritePost and ExitPre. Then create an alias to open Neovim with that session: 'nvim -S .session.vim'.
You'll get an error if the session doesn't exist but it's easy to dismiss. There are probably plugins that do this in a more seamless way though if you prefer.