you can't use c++ with unity free but your other points are wrong.

* you aren't limited to the included shaders
* you can integrate any .NET library

there are .NET libraries for networking, physics, databases, xml,...

this makes most c++ plugins unnecessary anyway and it is easier than c library integration in lite-c since lite-c isn't fully ansi-c compatible. this always causes lots of annoyances with incompatibilities in header files.



...
i have to admit though that i am no fan of physx. it isn't really better than some of the other physics engines (they seemingly aren't even able to do a cylinder collision shape :p) and it mainly gets used by AAA titles because nvidia pays the developers to use it. it is much better than ode though and at least unity doesn't need a driver since they have the source code and disabled this silly requirement.