- Home /
unity gameObject set id before instantiation
Hi guys so Im creating an multiplayer game and i need to instantiate a gameobject called ship
the ship has a script that containes the ships ID, the script is called shipsettings
the thing is I would like to set the ID of the ship in the shipsettings before ship object is being instantiate, is there any way to do that?
thanks in advance
Gal
Is your aim to have unique IDs for each ship? If so you can get a unique ID for a ship by the code(C#):
gameObject.GetInstanceID();
Answer by DoTA_KAMIKADzE · Apr 05, 2015 at 02:42 PM
And so what's the problem?
If it is a prefab then just load it from somewhere to object:
Object myPrefab = Resources.Load("myPrefab");
Do whatever you want with it and then:
Object afterInstantiation = Instantiate(myPrefab, myPosition, myRotation);
And do something afterwards if you need.
Answer by jcv8000 · Apr 05, 2015 at 02:37 PM
In the ShipSettings script make the ID variable public and static (for example "public static int ID;").
Then right before you instantiate the ship, you can say
ShipSettings.ID = 0; //Whatever int you use to set the ID here
and then instantiate the ship.
Answer by DaveBigHead · Jan 29, 2017 at 07:35 PM
This won't work, all the prefabs will have the latest ID, that is if you change the prefab ID then all instantiated objects get it as well. In my test I have an ID variable in the prefab code, I have a counter in the main game code, every time I instantiate I increment the counter, before I instantiate a new prefab I set the prefab ID to the counter. But when I look at the prefab ID it's incrementing all the time as each new instantiate happens. I'm looking for exactly the same solution...I'll post here when I find it! Ok so here it is! http://answers.unity3d.com/questions/1175631/make-a-script-unique-to-the-gameobject-it-is-attac.html Works perfectly for me, I now have all prefabs with unique IDs.
Your answer
Follow this Question
Related Questions
[Solved] why dosen't Unity 4.6 New UI button work when you instantiate it on playmode? 2 Answers
Trying to Connect a Remote Computer from a Different ISP 0 Answers
NetworkMatch creating match not being found when doing ListMatches 0 Answers
[Photon] How would I give each player a different variable? 1 Answer
Instantiate array of prefabs 1 Answer