Instantiating at Collision Point.

First,

Here's the code.

hitParticle : GameObject;

function OnCollisionEnter(collision : Collision) {
   for (var contact : ContactPoint in collision.contacts) {
      var Hit = Instantiate (hitParticle, contact.point, contact.normal);
   }
}

It tells me that, contact.point and contact.normal are NOT Vector3. While, if I pute .position after, it tell me that .position is not a member of Vector3... So the debug error is quite confusion... I'm missing something?

The correct syntax for Instantiate is : Instantiate (original : Object, position : Vector3, rotation : Quaternion) : Object You have supplied arguments like (Object,Vector3,Vector3) . It should have been Quaternion.

var hitParticle : GameObject;

function OnCollisionEnter(collision : Collision) {
   for (var contact : ContactPoint in collision.contacts) {
      var Hit = Instantiate (hitParticle, contact.point, Quaternion.identity);
   }
}

I guess you want something like Quaternion.LookRotation which creates a quaternion which turns the forward axis into a given direction.

[...] Instantiate (hitParticle, contact.point, Quaternion.LookRotation(contact.normal));