- Home /
Public MultiDimensional Array of Gameobjects
Hi, I'm creating a game with Unity and I had a problem I can't solve.
I have to organize all my gameobject in the scene in a multidimensional array GameObject[,].
I just want to set up a public variable of one of my scripts with all the data, that are basically links to the gameobject in the scene.
I can already do that while in the game, but what I really want to do, is to "bake" the data in the editor, so the game don't have to do it at the start. So, the question is : How can i set up a public GameObject[,] in the editor? Assuming I use a script like this:
foreach (Transform childTransform in parentTransform) {
publicGameObject[x, y] = childTransform.gameObject
}
(Fake script wrote in 3 seconds) What do I have to put instead of : publicGameObject[x, y]
Answer by Bunny83 · Apr 19, 2017 at 09:56 PM
The question is a bit confusing. If you're asking about making Unity serialize a multidimensional array so it's saved and show up in the inspector the answer is: you can't. Unity can't serialize multidimensional or jagged arrays. There are workarounds though by using an intermediate class:
[System.Serializable]
public class GameObjectArray
{
public GameObject[] inner;
}
public class SomeComponent : MonoBehaviour
{
public GameObjectArray[] outer;
}
This construct can be serialized by Unity. It's like a jagged array but it uses a slightly different way of accessing the elements.
GameObject go = outer[x].inner[y];
If you're not asking how to make that array to show up in the inspector to edit it inside the editor during edit-time, you should be more clear with your description. Your pseudo-code doesn't seem to make much sense.
Your answer

Follow this Question
Related Questions
What is EditorUtility.CopySerialized supposed to do? 2 Answers
Searching a project for "Missing (Mono Script)" 5 Answers
EditorApplication.update resetting 3 Answers
missing (transform) vs none: how to code this or query for it? 1 Answer
How do you force a particle system to play all the time in the editor, not just when it is selected? 5 Answers