Thanks Kheetor. It is hard sometimes to not get discouraged. I’ve been working on several things for years, slowly learning the ins and outs of the BGE, carefully reading helpful forum posts, occasionally asking a question here or there, but time after time something doesn’t work the way it is expected or there is something is not fully implemented and it becomes another redesign often scrapping hours of work. It is hard to know if what you are designing on paper will even be possible or will get completely roadblocked along the way simply because something like this doesn’t work in the BGE when you try to use some other feature along side it.
I understand that this is free software that many people work on because they love it and they find it rewarding and we can’t expect anything to be perfect. (I’ve worked in software QA for a number of years - I understand bugs and problems.) But when will there be a feature freeze in order to fix and fully flesh out what is already in Blender before adding more features? And unlike the vast majority of Blender users I do not care one bit about cycles or adding more and more obscure modeling tools. I am interested in real-time graphics and interactivity which may put me in a tiny minority, but so long as there is a BGE it is what I want to use because of the tight integration with Blender. With it I don’t have to worry about exporting/importing data to some other engine and that is HUGE. Thanks to the efforts of some it still gets some fixes and some new features here and there but I wish there was a specific team to maintain and update the BGE - I would make a donation in a heartbeat to know that the area I am most interested in is getting my direct support.
Small rant over… onto the task at hand. I read last night right before heading to bed that there is a setUV2() function which allows the second UV map to be accessed. I am still not sure if you can re-order the UV maps (which means planning ahead very carefully what I add when) but I should be able to do most of what I was intending. A while ago I extended the soft body pinning thing that used vertex colors to pin soft body vertexes to another object with rigid body joints to allow for many colors to be used and for each color to attach to a different object. (It is part of how I am doing hair and clothing.) Luckily I am not using vertex colors at all on the base meshes for my characters so I can once again turn to vertex colors this time to mark different regions on the body and change only those UV coords using setUV and setUV2… this is if setUV works with shape keys. Haha!
setUV2() does work with shape keys (yay!) but the documentation is wrong. The documentations says it takes an optional int where FLAT==1 or SECOND_UV==2 but it fails when you omit it or put in an int as the second arg. What it really takes is:
uv2 = vert.getUV2()
You have to break up the list/vector over the two arguments. Don’t ask me why because this is totally wrong compared to setUV() but the important thing is that it works.
Found another incompatibility - Smooth modifiers. I apply them to some particularly unruly joint areas in my model and apparently they prevent setUV and setUV2 from taking effect.
Also it seems necessary to use the Edit Object > Replace Mesh GFX with the current mesh for it to work.