Storing a list of units and their coordinates

I’m creating a tile-based RPG, and I’m trying to save scenario data as a ScriptableObject.

In the ScriptableObject I need to save a list of units, and their coordinates, so I can spawn them in the appropriate tiles. I tried creating a struct for the unit data, but I can’t set the data in the editor --it appears hidden.
Is there a better way to save the unit data, while allowing it to be edited in the editor?

I know I could create two Lists (or Arrays) where each position would correlate to the other, and have the data saved that way, but I’d prefer having each unit tied to it’s coordinates more directly.

Thanks for the help.

Seems you need to add [System.Serializable] attribute to your unit data struct to let it be serialized in ScriptableObject inspector

Here is the code for the scenario scriptable object and the unit struct.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


[CreateAssetMenu(menuName = "Scriptable Objects/Scenario")]
public class Scenario_ScriptableObject : ScriptableObject
{
    public string scenarioName;
    public TerrainObjective objective;
    public Vector2 objectiveCoordiantes;
    public int maxTurns = 0;
    public Coalition player1Coalition;
    public Coalition player2Coalition;
    public List<SquadData> player1Squads = new List<SquadData>();
    public List<SquadData> player2Squads = new List<SquadData>();
}
public struct SquadData
{
    public Squad squad;
    public Vector2 squadCoordinates;
}