Tracking asset and its derivatives

Looking for alternate methods or thoughts …

At shot level, want the ability to specify which assets & their derivatives are being used in a shot. For example, in Shot1, I am using a character type asset with default clothing & hair. In Shot2, I want to use same character but with different clothing & hair colour.

The thought was to use the ‘Asset’ field to list what is being used in the shot. For example:
Shot1 CharacterA
Shot2 CharacterA, CharacterATuxedo, CharacterAHairRed
noting that CharacterA is character type asset, CharacterATuxedo is wardrobe type asset, CharacterAHairRed is makeup type asset (the last two are custom asset types).

There are some questions on whether things like a texture change on clothing or colour tweak to hair should be tracked as it’s own asset or kept as a task. If we go with the latter, I’m a bit unsure how to track/show the alternates at shot level.

Does this make any sense? Maybe there is something obvious I’m not seeing. Again, appreciate any thoughts or suggestions.