SelectorType : ScriptableObject

What is a Selector Type?


A Selector Type can be chosen to be used by a Selector. This is the more complex way to compute a value. The Selector Type will define a range of possible values, min to max, and a starting value. It will then use it's Selector Factors to calculate a value, add it to the starting value and then clamp it between min and max if needed.

A Selector Type can handle enum values, either as Choices or as an Attribute Type that is a list of options. In this case the Combine Type must be Normalized Weighted Average and the Selector Factors have to return values in 0-1 range. The options will be binned and the value returned will fit in one bin which will be selected. For example if there are 10 choices it would bin the 0-1 float values into the following 10 bins:

[0,.1), [.1, .2), [.2, .3), [.3, .4), [.4, .5), [.5, .6), [.6, .7), [.7, .8), [.8, .9), [.9, 1]

If the SFs returned a weighted average value of .6 then choice 7 would be picked since '(' means exclusive and '[' means inclusive.

Selector Type Custom Inspector




Start Type Min, Current Value, Fixed Value, or Max. What should be the starting value? The final calulated value is added to this.
Min Type None, Min, Current Value, or Fixed Value. What is the minimum value allowed?
Max Type None, Max, Current Value, or Fixed Value. What is the maximum value allowed?
Combine Type Sum, Multiply, or Normalized Weighted Average.
Selector Factors Selector Factors are used to dynamically generate values and can use runtime conditions. The multiple Selector Factors are combined based on the Combine Type. If the Combine Type is Normalized Weighted Average then the weight will determine the impact of each factor. The weights do not need to add to one but should be greater than zero.

See Selector Factor Script.