Assign one material to every object in a Blender collection
Blender assigns materials to objects, not to collections. To give a whole collection one material you can select every object in it, make one of them active and use Object ▸ Link/Transfer Data ▸ Link Materials (Ctrl+L). That copies the material once. Objects added to the collection later don't get it, objects with several materials lose the others, and going back means reassigning each object's original material by hand.
Material By Collection makes the material a setting of the collection.
Set a material on a collection
- Install the zip (Edit ▸ Preferences ▸ Add-ons ▸ Install from Disk) and enable Material By Collection.
- Select a collection in the Outliner, then open the Material tab of the 3D viewport sidebar (
N). - Pick a Material. Every mesh in the collection takes it, and objects moved in later pick it up too.
Clear Override puts each object back on the material it had before.
Objects with several materials
Slot chooses which material slot is written on each object, so the others are kept: change the facade's glass and leave its frames alone.
Nested collections and instances
Include Sub-collections carries the material down the hierarchy. A sub-collection can opt out with Exclude from Parent Override. Enter Collection Instances also reaches the geometry inside instanced collections.
Every collection at once
Ctrl+M opens the Collection Material Manager: each collection with its material, slot and object count, a search field, Sync All and Clear All.
Made for clay renders and design options
Swap a whole model to a clay material for a sun study and back, or try two cladding materials in a few clicks. With Rhino2Blender, each Rhino layer arrives as a collection, so this becomes a material per Rhino layer, and it reaches inside blocks.