- Home /
How to store the position of an object at the start of a scene
Hello, What I want from my game is when the player collides with an object(let's call it A), A is set inactive for 3 seconds and another object(a UI slider) it is spawned in the same location. I can't use Instantiate(object,transform) so I use just Instantiate(object) and I set the position through a script. The problem is the script is run after A is set inactive so I can't get A's position. Is there any way to store A's position at the start of the scene and make that variable unmodifiable?
Post your code for spawning the slider and the object which is hit by the player. You would really only need to get a reference to the object and then spawn at its position.
Answer by highpockets · Mar 23, 2019 at 09:42 PM
Which script are you using to instantiate the object? I think you should be storing the position there before inactivating the first object and then instantiate the next object and pass the position.
public GameObject firstObject; //game object that becomes inactive. Place the object on the field of the script in the inspector.
public GameObject objectToInstantiate;
Vector3 positionToSave;
//if you want to store the position at the beginning, do it in the start method, but if the object moves, this is useless.
void Start(){
positionToSave = firstObject.transform.position;
}
void Update(){
//you can save position before setting object to inactive
positionToSave = firstObject.transform.position;
firstObject.SetActive(false);
Instantiate(objectToInstantiate);
objectToInstantiate.transform.position = positionToSave;
}
Is there a reason that you can’t do it this way??
I am kind of new to Unity and I was trying to store some data in an object, make it inactive and try to access data from it. I fixed it creating a new object which will store that data. I know it is not the most efficient way but since I am a beginner and this is a small project I can live with it.
Although I didn't use your code, It made me change my way of thinking. Thank you
Your answer
Follow this Question
Related Questions
How can I store each axis of a transform's rotation as a separate variable? 2 Answers
Store startposition in a variable 1 Answer
How to assign x and y transform values of an gameobject to user defined variables? 1 Answer
Storing transforms from objects in Array 1 Answer
Record Object's Position 2 Answers