Wich way is better?

I have a game with 9 granate types with different scripts, models and materials but the same functionality. I don’t know if it’s better to put them in to 9 different prefabs or to create 1 prefab and put a script on it what say what kind of granate that is and attach the right script material and so on on it. Ich way is more accurate and more efficient ?

Definitely the second. It actually follows the principle of coding new types through inheritance. If you want to create more types of this prefab, you simply create a material and attach the proper mesh (for this I’d go with a Dictionary by the way). Plus, faster building time!