Caching Procedurally Generated Sprite Sheets?

The game I am working on has a character customizer that uses multiple sprite sheets layered on top of each other to create the final sprite sheet. Once I create that sprite sheet I want it so that the sprite sheet is cached so when they play the game again it will load that sprite sheet from the cache instead of having to generate it again. I am not sure what the best way to do this though.

So I came across another question that had a similar situation and one of the answer here actually suggested doing it a way I decided not to do it originally because I thought it would be more resource intensive and the game I am working on is going to be for both PC and mobile.

The answer I am talking about is here and it mentions making a GameObject with gameobject children that each have a sprite renderer and each render individual parts of the character.

Now I am wondering since doing it this way never generates a new sprite sheet, does that mean Unity is doing the caching automagically for me because its using textures loaded at runtime?

Which way is better performance wise the way I am trying to do it or the way they suggested in that other answer post?