Hey Badlogic, thanks for your response 🙂
Sorry I should have mentioned - I'm indeed using Libgdx.
I'm setting up my lighting using deferred shading, so I see what you did in that example, but I can't quite use that.
I did test out using two skins : it was pretty simple, I basically created all of my normal-map images with the same name + "normal.png" (on separate .pngs, with same dimensions as the diffuse), and then copied the 'main' skin, and edited the image-path for each attachment, adding the "normal" part, so placement/rotation/etc was all maintained.
It worked well, and could be my final solution - I'm assuming switching skins twice per-frame isn't a big deal performance wise? (its just changing the image path for attachments, right?)