Adding Flexes to Bodygroups
You can help by adding links to this article from other relevant articles.
There's an issue in Source with flexes (shapekeys) applied on bodygroup meshes that effectively makes them useless. This is frequent,for example, on models that have head bodygroup variations with flex controllers assigned to them.
The fix
You will need Blender and the other essential source exporting tools (Crowbar, Blender Source Tools) for this fix.
Assuming the shape keys already exist, split the mesh that will be used as a separate bodygroup.
To ship bodygroups with flex controllers, select the mesh you're using as the bodygroup and then go to the flex properties panel and set it from "Simple" to "Advanced". Next, create a .txt file with the following:
<!-- dmx encoding keyvalues2 1 format model 1 --> "DmElement" { "id" "elementid" "12345678-1234-1234-1234-012345678910" "name" "string" "root" "combinationOperator" "DmeCombinationOperator" { "id" "elementid" "01234567-8910-1112-1314-151617181920" "name" "string" "combinationOperator" "controls" "element_array" [] "controlValues" "vector3_array" [] "controlValuesLagged" "vector3_array" [] "usesLaggedValues" "bool" "0" "dominators" "element_array" [] "targets" "element_array" [] } }
Save this file somewhere and paste its location on the box that says "Controller Source", in the bodygroup's properties. Then export your .DMX meshes. You'll get a warning that says there are missing shapekeys but that can be ignored. Compile your model using Crowbar and this fix should work.
Stereo Flexes
In order for stereo flexes to work with this method, you will need to manually split the stereo flexes on the mesh(es) without controllers defined into "[flexname]L" and "[flexname]R" versions, with only the left and right sides affected respectively.