Game object always moving

Hello,

I’m hunting performance problems in my game, and I saw a very weird thing. My character has a crossbow with projectiles. The projectiles have a rigidbody (to move them when the player shoots). They have a network view attached to them to handle multiplayer, but my problem is that I saw that the network view sends some info very often, like 3 times per second, but the projectile does not really move (parented to the crossbow, unless the player shoots, it should stand still).

This is when I saw that my projectile position and rotation change a little bit (like 10exp(-6) every second). It is not viewable in the game, but this change force the network view to send a lot of intel.

Is there a reason this is happening ?

EDIT : if I check isKinematic, it corrects the problem I think. This is a good bypass, but I still don’t understand the real problem.

It definitely happens that if the collider surface of the rigidbody isn’t perfectly smooth, it will create small movements and never go to sleep mode.

The first thing I’d do to try to fix the issue is go to Physics Manager and try to increase the sleep velocity (http://docs.unity3d.com/Documentation/Components/class-PhysicsManager.html).
That should help with making it sleep and not perform tiny movements like that.

If you want this to happen only with this and not with other objects, you could also make a custom script so that if the velocity is lower than a certain value, just cancel the movement entirely.

Setting it to Kinematic would also avoid this issue, but then again you won’t be able to have any physics on it… or collisions…

Also, why not just delete the projectiles after they land, or shortly after?