   Physics middleware - what does it do?
  I need some kind of physics support in my engine, basically for particles, collision, player movement, etc and was wondering, on a high level, how physics middleware (such as PhysX), fits in.  Can anyone give a brief overview of the role of physics middleware? E.g., do I just register a bunch of rigid body objects and call some update method with my (delta) time?Thanks in advance   
  you are somewhat correct, but there is so much more they can do.you basically set up a simulation in the physics world (this is from the context of PhysX), and simulate like you say. Also, the way this data is reported back to your engine is pretty detailed. collision reports fire a callback function, raycasts can be done (i think anytime) and they return back a RaycastHit object.There is also those who dont want to have their character controlled by the physics environment, but rather have the physics envrionment react to it moving around. this is used with the PhysX character controller, aka kinematic actor. the things that react are dynamic actors and the terrain is considered a static actor (something that doesnt respond to gravity). Each of these has its limitations and you should study these and know how each should be used for your game.Now the difference between physics middlewares is important. For example physX is known for not being deterministic, which effects running a physics sim on multiple machines. Networking is HUGE with physics middlewares. if you plan to network your game, def plan for this to be an interesting challenge. (and you may not want to use physX).that is the gist of it. I might have missed a couple things, people can fill in.;  Thanks for the quick response. Just the info I was after   ;  A physics engine can be extreme over kill in a lot of cases. You may just be interested in the kinematic character controller. Do you really need your debris to be real time? As in, drawn exactly where it is computationally? Or could you live with some of this stuff a frame later if you compute it during your flush and vsync?One thing that's nice about a physics engine is that they're build on top of really thorough collision detection libraries. You can do any spatial intersection query you could think of. But all that querying comes at a cost.