The default Selection value is ✅ True, so both setups below are equivalent:
![](https://cdn.statically.io/img/i.sstatic.net/iRqQ3.png)
Worth to note, as Gorgious says in a comment, a material slot is assigned to faces, not vertices. You can assign some data to vertices or face corners (face + vertex combination) and use it in a shader.
Update: It seems Set Material looks for a slot that already has the specified material, if it can't find one, it creates a new slot. Then it loops over all faces and each time it evaluates Selection input field for that face to ✅ True, it assigns the found/created material slot to it. This is why the OP's file changes the color of some geometry:
![](https://cdn.statically.io/img/i.sstatic.net/0UQNk.png)
- Ico Sphere node creates a mesh with one empty material slot (connect directly to output and apply the geonodes modifier to see).
- Set Material looks for a material slot with
Material1
material in the connected geometry. It finds none, so it adds a new material slot index #1, and then iterates over all faces and for each, based on ❌ False input, it decides to not assign the face to the material slot #1, leaving it at the default #0.
- The original geometry has no material slot.
- Set Material looks for a material slot with
Material2
material in the connected geometry. It finds none, so it adds a new material slot index #0, and then iterates over all faces and for each, based on ❌ False input, it decides to not assign the face to the material slot #0, leaving it... At the default #0! This means the original geometry now is assigned the material, even though no material slot was changed on the geometry!
- Geometry is joined. Material slots are added (in this case no merging of material slots happens, as they all point to different materials). Ico Sphere still points to material slot index #0, but the original geometry, being an added geometry (see Join Geometry ordering), gets an offset on all material slots indices based on the number of material slots of previously added geometry (1). So its index becomes #1, and it still points to the assigned
Material2
.