I'll do Invector because I own the full version and anybody can use the free Basic Locomotion version, which is just unbelievably great for a free asset. I don't own Opsive or Ootii's character controllers, but I ran the demos and I think they are good. Those are the big three, and they seem similar to me; maybe working with Invector will help you figure out Opsive.
I'm going to delete the second and third posts in this thread. The second post will be about hair shaders and I'll make the third one about Invector...maybe check back tomorrow for that.
Invector's Third Person Motion Controllers (Free Unity Asset: Basic Locomotion)Invector is simple to set up and they have good tutorials and an active and helpful forum that can help you with that asset more than I can. There are a few things to be aware of regarding CC3 characters and Invector, however...
Do not scale your character when using Invector. He mentions this but it's easy to forget.Your character models can have problems when you do a build if you scale them. This means you need to pay attention to the height of your CC3 models, which is impossible because CC3 has no "feet & inches" option. I didn't pay enough attention to centimeters in the second grade and now I'm done for.
The "run forward" animation that comes with Invector is not compatible with the CC3 rig — it works, but the motion is jerky. Nothing is wrong, you just need to replace that particular animation. Invector has a 3 years old video on his YouTube that explains how to replace animations and it couldn't be easier.
Invector's asset warns you not to import it into an existing project. This is because it will overwrte Unity settings. Packages like these tend to overwrite default settings they have no business with. You may not notice your color space is switched to Linear, for example. You can run a second instance of Unity and use it to compare and correct settings if you need to.
The clone of your character that is created by Invector will no longer have the "Current Pose" that you (should have) exported with your character, so the problem in Unity where the character's mouth hangs open will occur. You can either look up how to transfer the pose to the other character, or you can fix this by dragging the lower jaw hierarchy into the upper jaw (CC_Base_JawRoot being the lower jaw). I have not had any problems with that method yet, but if you did, you could simply drag it back to the way it was.
I haven't had any other issues with CC3 & Invector.
CC3 & Daz Tricks | CC3 to Unity workflow