Values
The Final Value of a Complex Stat is determined by its Value Sets Manager.
You can modify or set a Complex Stat ID Value using ModifyIDValue() or SetIDValue().
When registering an ID for the first time through ModifyIDValue(), its default value will depend on the Value Set Mode.
Quick functions
All functions that modify a value of a Complex Stat will use ModifyIDValue().
If you don't intend to track the ID of the modification, you can also use these quick functions. They will use the "Default" ID.
ModifyValueType()
ModifyValueType() will call ModifyIDValue() with the "Default" ID.
Use this function if you don't want to track the ID of the modification.
ModifyValueSet()
ModifyValueSet() will call ModifyIDValue() with the "Default" ID and the default Value Type "Base".
Use this function if you don't want to track to ID of the modification AND want to use the "Base" Value Type.
ModifyValue()
ModifyValue() will call ModifyIDValue() with the "Default" ID, the default Value Type "Base" and the default Value Set (the Value Set at index 0 in your Value Sets Manager).
Use this function if you don't want to track the ID of the modification, want to use the "Base" Value Type AND want to use the default Value Set.
Getters
You can access the ID Value, Value Type, Value Set and Final Value with GetIDValue(), GetValueType(), GetValueSetValue(), GetFinalValue().
You'll notice that GetIDValue() doesn't ask for a Complex Stat, that's because it will return all Complex Stats that contain this ID. See ID Value Details.
Good practices
While using ModifyValue(), ModifyValueSet(), and ModifyValueType() can save you some time, it is always a good practice to over-detail your value modifications, because you won't always know which information will be useful in the long run, especially in the early stages of your project. This is why only using ID Value setters and modifiers is an absolutely valid approach.
However, in some cases, you know you won't need to track the value informations (e.g. a Level Stat).
In those cases, using ModifyValue() or other simplified functions is also valid.