Sorry, I can't put together a simple HIP for you, but this is how I set it up.
This is how you create a reflected version of the agents (this should be done before the Agent Source SOP).
Basically, just scale by -1 in the x direction. This will change the “transform” intrinsic of the agent primitives. Then rename the “agentname” so that they can live with the non-reflected agent types. They are then merged in with the regular agent types. Add them to the Crowd Source as you would any additional agent types.
To change the Crowd Solver (in your DOP network), you need to “crack it open”, i.e. right click on it and select “Allow Editing of Contents”. Dive in and change the “setup_new_agents” node inside. I commented out line 37 (I'm using 18.0.499) so it looks like this:
// Wipe the existing transform, since we'll use orient instead.
matrix3 identity = ident();
//setprimintrinsic(0, "transform", @primnum, identity); // THIS IS NOW COMMENTED OUT
There was probably a good reason for that code to be there so beware.
I think the assumption was that any transform on the agent itself is probably wrong, since the Crowd Source SOP creates point attributes to control transformation of each agent instance.
Hopefully somebody has a better solution.
Peter.