Hi Kurt, I hope you are doing well.
First of all you are right about the message being wrongly categorized as an “Error” I agree that it should be a warning in this case.
I can understand the approach of blindly asking the COI to set the value of a parameter without actually knowing from what CO that COI is generated from (and therefore if the parameter exists). In either case, we do have a series of methods you can call from the COI that will tell you if a parameter exists or not for a given COI:
`/** Return true if the Int Parameter exists. */
UFUNCTION(BlueprintCallable, Category = CustomizableObjectInstance)
CUSTOMIZABLEOBJECT_API bool ContainsEnumParameter(const FString& ParameterName) const;
/** Return true if the Float Parameter exists. */
UFUNCTION(BlueprintCallable, Category = CustomizableObjectInstance)
CUSTOMIZABLEOBJECT_API bool ContainsFloatParameter(const FString& ParameterName) const;
/** Return true if the Bool Parameter exists. */
UFUNCTION(BlueprintCallable, Category = CustomizableObjectInstance)
CUSTOMIZABLEOBJECT_API bool ContainsBoolParameter(const FString& ParameterName) const;
/** Return true if the Vector Parameter exists. */
UFUNCTION(BlueprintCallable, Category = CustomizableObjectInstance)
CUSTOMIZABLEOBJECT_API bool ContainsVectorParameter(const FString& ParameterName) const;
/** Return true if the Projector Parameter exists. */
UFUNCTION(BlueprintCallable, Category = CustomizableObjectInstance)
CUSTOMIZABLEOBJECT_API bool ContainsProjectorParameter(const FString& ParameterName) const;
/** Return true if the Transform Parameter exists. */
UFUNCTION(BlueprintCallable, Category = CustomizableObjectInstance)
CUSTOMIZABLEOBJECT_API bool ContainsTransformParameter(const FString& ParameterName) const;`In the code you use to change the parameter, you should first check if the parameter exists and, if it does, update the parameter. Doing it this way will prevent you from getting that error message and should be quite straightforward to implement on your end.
Having said that, I am going to change the verbosity of the message, but if you use these methods I just showed you, you should never see that pesky log ever again.
Have a nice day!
Daniel Moreno