Manipulate individual UV islands in Cycles Is it possible to somehow use UV islands as a factor for things in Cycles? For example, I want to use a different procedural texture on each UV island, or factor between different shaders for each UV island?

I know this is not a readily available output from any node, but is there a way to construct something like it from available nodes, even if it's not precise?

I would like to achieve an effect similar to manually rotating UVs in the UV/Image editor, but without actually changing the map. For example, consider if I had a character in a T pose whose arms and legs were unwrapped as separate islands. If I use a horizontal wave texture, it would be parallel to the arms, but perpendicular to the legs. If i wanted it parallel to the legs, I'd rotate the leg's UV island by 90 degrees. I would like to be able to do this with nodes inside a material without having to touch the UV map or create multiple UV maps.
Take advantage of the island's location

Each UV island belongs to a portion of the UV space. This means that for island that have different position, you'll get different vectors. You can use this info for creating masks. 

In the following example, a math node set to "less than" filter the portion of UV space that can be found between U=0->0.2 and V=0->0.2, more or less the space higlighted by the box selection.

The single UV island that can be found inside this portion corresponds to the "face" of suzanne (not head, not ears...they are outside the box), so only that part will be shown white (1), while the rest will be black (0).



You can use the math node output as a factor for everithing you whish (e.g. mixing two shaders, switch between different textures...).

In the provided example, for clarity's sake I preferrred to show a harsh dicotomy between the diffrence of UV islands treatment, but nothing prevent you to use smooth gradients or something else.