- Home /
How do I switch between multiple gameobjects during run time.
I am recreating **this** 2D game in Unity for my college project. The problem is, after the first level, there are multiple cubes in the scene. I have used a global movement control instead of giving separate control for each cube. I want to know if there is a way to switch between the cubes so that only one cube moves whenever the movement control is used by the player. The other cubes need to be visible at all times. **This** is what the game looks like now.
Answer by Landern · May 28, 2015 at 02:05 PM
Of course you can, but it would make more sense(easier) to use one script for movement that is applied to each cube prefab, though that would add lots of update method calls among other things.
If you do it the other way, you will have to figure out how you want to switch the target GameObject/Transform, whether that is through a touch, a mouse click or something else like cursor keys/d-pad that cycle through and highlight the focused cube. Once you get the target GameObject/Transform then that should be used as the movement reference in your global script.
In the end, I used Raycast to select the current target and applied the global movement to it. I created an array of all the boxes and used the mouse wheel to scroll through them. After the box reaches its destination the next one gets highlighted and the first one gets removed from the array.