Set types of scripts i can place in ScriptableObject[]

So basicly im using scriptable objects for a few different codes some i have a collection of such as Resources,Consumables Etc those i want be allowed in ScriptableObject array but something like spawnpoint of character data or etc i dont want beable to place in array i rather not have bunch of arrays for each scriptable type is there a way to set which scriptableobjects are allowed into the array based on scripts?

You are writing the code, if you don’t want it added to an array just don’t add it to an array, you don’t need to make it so it cannot be added to an array.

Secondly things like resources probably (not seen your code/app) don’t need to be a MonoBehaviour (on an actual GameObject) and can just be a class for that type that you create with…

public class Resource
{
    public string id;
    public float amount;
    public float capacity;
}

Resource res1 = new Resource{
    id = "resid",
    amount = 1000f,
    capacity = 5000f
};

and you then add that to an Array/List. don’t use MonoBehaviours if you don’t need too.