Unity: Отображение массива элементов в окне Инспектора

Создаем объект и добавяем ему скрипт PlayerDetails.cs:

using UnityEngine;

[System.Serializable]
public class PlayerDetails
{
    public int myInt;
    public float myFloat;
    public GameObject myGO;
    public Transform myTransform;
}

public class GenericListsExample : MonoBehaviour
{
    public PlayerDetails[] players;
}

Если теперь посмотреть на него в окне Инспектора, то в этот скрипт будет выглядеть так:
Unity: Отображение массива элементов в окне Инспектора
Как видно на скриншоте, список элементов массива Players отображается как Element 0, Element 1 и т.д.

Можно немного изменить скрипт и добавить public string Name:

using UnityEngine;

[System.Serializable]
public class PlayerDetails
{
    public string Name;
    public int myInt;
    public float myFloat;
    public GameObject myGO;
    public Transform myTransform;
}

public class GenericListsExample : MonoBehaviour
{
    public PlayerDetails[] players;
}

В Инспекторе будет добавлено поле Name, сейчас оно пустое, а элементы массива все также именуются как Element 0, Element 1 и т.д.:
Unity: Отображение массива элементов в окне Инспектора
Если в поле Name вписать текст, то автоматически изменится и название элемента массива:Unity: Отображение массива элементов в окне Инспектора

Необходимо, чтобы public string Name было в начале списка!

 

Точно также можно изменять название элементов списка (System.Collections.Generic) List, код будет таким:

using System.Collections.Generic;
using UnityEngine;

[System.Serializable]
public class PlayerDetails
{
    public string Name;
    public int myInt;
    public float myFloat;
    public GameObject myGO;
    public Transform myTransform;
}

public class GenericListsExample : MonoBehaviour
{
    public List<PlayerDetails> playersList;
}