自分で調べる限り調べたのですが、方法を見つけることができなかったので質問させてください。

現在、Unity5.4.1を用いて製作を行っています。
プレハブを利用してゲームオブジェクトを複数個生成し、それらをそれぞれ別々の指定した場所へ移動させるということを目標としています。
移動にはiTweenを利用して、移動終了後にはDestroyしています。

質問したいことは、「プレハブで共通しているスクリプトに別々の初期値を与えることはできるのか」ということです。

プレハブは以下のコードで生成しています。

GameObject cap = Instantiate(CapsulePrefab, new Vector3(0,0,0), transform.rotation) as GameObject;

CapsulePrefabは試しにプリミティブのカプセルをプレハブ化しただけのものです。
紐付けされているスクリプトはitweenで移動させ、地点まで移動したらDestroy(gameObject);のみを記述しているメソッドを呼び出しています。

クラス・メソッド共にpublicにしている状態で、プレハブを生成する側のスクリプトから

GameObject obj = Instantiate (prefab, new Vector3(0,0,0), transform.rotation) as GameObject;
MyClass myClass = obj.GetComponent<MyClass>();
myClass.Set(new Vector3(1,1,1);

のように記述しても思ったように動作させることはできませんでした。
また、パラメータを設定するような方法も見つけ、同様に試してみたのですがうまくいませんでした。

プレハブで初期値を外部から与えるということはできないのでしょうか。
ご指導頂けると幸いです。
質問が始めてのため、過不足があるかも知れませんがよろしくお願いします。