This feature is extremely useful for layering multiple cloth objects,
and there is no reason there shouldn't be the same kind of feature
for softbody. Particles are likely to have a use for this too, and
implementing it there is even easier as the code almost supports it.
- Support specifying collision objects for softbody via a Group.
Layers are clumsy and limited: e.g. it's impossible to make A collide with B, but not B with A. There are also only 20 of them. Most of other physics systems already support using explicit object groups for this function instead.
Softbody code for the no group case is deliberately not refactored to reduce duplication, so that it's obvious that when the group is not set, nothing changes in its behavior.
- Support specifying collision objects for particles via a Group
This is even easier than with softbody, because the underlying code already almost supports it: all that's missing is a field and UI.