Its not that I changed my mind all three scenarios are required only thing is that they have minor changes from each other. Three templates serve different purpose going forward, I may have minor changes and make another template, although there is no requirement for new template.
Link to folder
You won't understand all three scenarios at once, so I had to go one by one.
There is one addition column in both Output and Categories sheet and the input in the unique list got changed now it has to loop based on column C for each unique number in unique list sheet then loop through each unique numbers if found in wsSource.
GEN1>>>unique number, 03300404000Y >>> unique number found in wsSource >>> capture all the fields into the template both output sheet and categories sheet*.
Repeat for all unique numbers under GEN1 then save as MCR-GEN-Output sh A4 value-001_Category sheet E3 value.xls
*For categories sheet Name column is taken from column B, unique list.

(old template) has no unique number column

(new template) unique number column added

Find unique numbers in wsSource under GEN1 populate in Output and Categories sheet save as MCR-GEN-Output sh A4 value-001_Category sheet E3 value.xls and repeat for GEN2...
Scenario 3

As stated above another change is in the categories sheet, Name column values taken from the unique list column B earlier the name is taken from wsSource Name column.
For all the unique numbers under GEN1 the Name column in the categories sheet is same.
In contrast, in the output sheet the Name values are from wsSource Name column NOT from column B.

If its not clear you can ask questions later you can start the code.
To answer your question unique list input has changed and additional loop will be introduced.
The code for Scenario 2 does not involve looping within a set of unique numbers.
Scenario 2
Unique number >>> wsSource >>> if found populate the templates Output sheet and Categories sheet.

Scenario 2 flow
Unique number1 >>> wsSource >>> if found populate the templates Output sheet and Categories sheet. >>> save as MCR-Unique number-001_Descr
Unique number2 >>> wsSource >>> if found populate the templates Output sheet and Categories sheet. >>> save as MCR-Unique number-001_Descr
.
.
.
Unique number14 >>> wsSource >>> if found populate the templates Output sheet and Categories sheet. >>> save as MCR-Unique number-001_Descr
After completion we end up with 14 filled templates
Scenario 3 flow
GEN1 >>> unique number >>> if unique number found in wsSource >>> capture all the fields into the template both output sheet and categories sheet*.
Repeat for all unique numbers under GEN1 then save as MCR-GEN-Output sh A4 value-001_Category sheet E3 value.xls
GEN2 >>> unique number >>> if unique number found in wsSource >>> capture all the fields into the template both output sheet and categories sheet*.
Repeat for all unique numbers under GEN2 then save as MCR-GEN-Output sh A4 value-001_Category sheet E3 value.xls
.
.
.
GEN4 >>> unique number >>> if unique number found in wsSource >>> capture all the fields into the template both output sheet and categories sheet*.
Repeat for all unique numbers under GEN4 then save as MCR-GEN-Output sh A4 value-001_Category sheet E3 value.xls
*For categories sheet Name column is taken from column B, unique list sheet.
After completion we end up with 4 filled templates
Notice the change in the output templates Scenario 2, 14 vs Scenario 3, 4.