Поле ultimate не отображается в инспекторе? (использовал upcasting и полиморфизм)
Character.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Scripts
{
    [CreateAssetMenu(fileName = "Character", menuName = "ScriptableObjects/Character", order = 0)]
    public class Character : ScriptableObject
    {
        public BaseUltimate ultimate;
    }   
}
BaseUltimate.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Scripts
{
    public class BaseUltimate
    {
        public virtual void UseUltimate()
        {
            Debug.Log("base ultimate");
        }
    }   
}
PassingWind.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Scripts
{
    public class PassingWind : BaseUltimate
    {
        public override void UseUltimate()
        {
            Debug.Log("passing wind");
        }
    }   
}