Set float parameter vs set float parameter (message)

Can anyone shed some ligth on the difference between these 2 ways ?

I believe you can call te message version on any object without having to cast to the interface. if the target object does not implement the interface then the request will simply be dropped,

ok, cool, thanks!, So just to be clear I can bypass the interface part of a MS (so the GUI part) and communicate directly to the parameter to which the eventual Interface is pointing at, am I correct? e.g. I have an amplitude control of an audio mixer to which a knob type control is attached and can reference directly the parameter inside the MS without altering the Knob value? Or am I able to even ignore any parameter control, such as a Knob, as long as in the MS node there is a parameter to access (for example the Freuqnecy value of a biquad node)? Sorry if it sounds like a silly question, but I find it important for the kind of things I want to try…

I’m not sure if I follow this but I have a feeling you are confusing “User Interface” with a c++ / BP interface. What is an MS here?

In programming an interface (not to be confused with UI) does not give you direct access to a property just on its own, like you ask for. An interface does not hold state (properties) and does not implement any logic on its own. An interface is used to extend functionality of classes in which the interface declares new methods which the class you add the interface to implements. For example, if you add an imaginary “InteractionInterface” to a class “Door”, you can now treat the door as InteractionInterface. You can add this interface to “Box”, “Closet” and now treat those classes as InteractionInterface. InteractionInterface declares the imaginary “Open” method which is defined on Door, Box and Closet to implement their functionality related to “Open”. When some other class threats Box, Door or Closet as an InteractionInterface it can call the method “Open” on them to execute their own implementation of the method. If I understand it correctly, the difference between calling the “Open” method directly, or calling it’s “Open (Message)” is that normally you would first have to cast a class to the interface, like Cast<IInteractionInterface>(MyDoor) and with the message method you would not need the cast. Honestly I have never used this “Message” method and it might just be a thing for Blueprints, but that I am not sure of.

1 Like

Again thank you for the reply, and my bad I did not specify we are in the BP to MetaSound (MS) domain. I am aware of the interface concept, although not so in detail, nonetheless my question is still open, in the sense if these (message) type nodes are indeed related to different ways of controlling parameters inside a MS from BP. And if they are indeed as you say, a way of delivering data without the cast a class method. Anyway thank you very much!