It's just that unity can't make any kind of complex action gameplay at all, he confuse physics for collision, I just need a good system to resolve collision not to rewrite physX from scratch. No wonder any sane dev avoid unity for AAA. It's cute for some simple movement game, nothing serious or too complex. I'm glad I haven't bought the expensive useless license ...
Unity choose what they add in their package, it is sold as a kind of ultimate game dev package and yet failed at most basics level. It make sense commercially as it port to multiple platform, but creatively it's a mess.
I'm not trying crazy hard stuff here, 1 single Sphere to scene Mesh is like basic requirement, except:
1 - I'm on a low end machine, not only rigid bodies is crazy expensive but it came with physics stuff I don't need and which fucked up the collision resolution. I have just one scene and one object and it's a slide show!
2 - It fails at a convenience because collision resolution tools are weak and don't provide enough data and have many quirks to find out. You can't even properly write your own collision resolution using primitive tools.
3 - It fails for game because the most important things is collision detection and automatic resolution (not going through wall and object) which unity fail to provide without extra code, and the unnecessary expensive physics is not typical gameplay case.
Research show that's the most common problem people have with unity, so it's not an isolate accident. Most complain goes to how rigidbody act weird, is expensive and how the character controller is shit. That's like the basic of most actions games! It's sold as a game engine, proper collision handling in the context of game is a very basic requirement!
But it lead to a larger problem with mots of so called collision engine, most coder feel the urge to do a full physics engine that user are quick to try neutralizing. I have yet to see a collision engine that is design for typical gameplay and have things like moving platform just work without extra code.
Blitz3D is the closest to my knowledge, it has collision, layer, no physics and handle automatically resolution to prevent overlap, and send you all the data you need like contacts and normal for you to decide gameplay. It does not handle moving platform automatically but that's as close as possible to video games oriented collision engine. Too bad its renderer is obsolete in most modern card.
Now Maybe there is alternative to unity, Do you know some?
I made of a rant for sure, I have been working on this simple thing for 3 years, fighting gimbal lock, quaternion and finally hairy ball ...
In fact I solved the "wall hugging" (it's the desired behavior) problem with a sphere collider with rigidbody at the expense of performance (slide show fps) then try to replicate with casting but I don't have enough precision as they never return more than one hit.
BUT I tried to reuse the same rigidbody back into the new code ... and it break, it does not work anymore ...
https://dl.dropboxusercontent.com/u/24530447/flash%20build/litesonicengine/LiteSonicEngine8.html New code with solved control but broken collisions, much simpler strip down code to focus on the main problem of control.
https://dl.dropboxusercontent.com/u/24530447/flash%20build/flash%20sonic/flash%20sonic.html This version has much more advance version but suffer from gimbal locks problems (arrow and mice to control, jump with lmb, try to go inside the tube). In this version collision is really solid, wall hugging works well but have already implemented directional discrimination of collision for ceiling and wall detection (dot product forever).
If I solved this correctly, and integrate everything in once package, I'll released the controller for everyone with extra goodies (most notably input lock to reverse intelligently control on ceiling, ie when the user is no more holding the move button).
NO ONE WOULD HAVE TO SOLVE THIS EVER AGAIN WOOO