I was able to work around the issue by disabling “Enable Type Promotion”, adding my conversion, and then re-enabling the field. However, it seems like there is a filter step, possibly intended for Blueprint Graph editing, that’s making these conversion functions invisible in the MVVM view bindings ui
[Attachment Removed]
Hi Riot,
Thank you for reporting this issue and providing minimal repro steps. I was able to repro this behavior in UE 5.3 - 5.7 and the latest source build.
After some investigation, this seems to be a side effect of the introduction of Promotable Operators (class UK2Node_PromotableOperator). In blueprints, these are the “New Math Nodes” that come with wildcard inputs and output, allowing the user to connect a variety of numeric types without any friction (for example, the same “add” and “multiply” nodes can take any mix of input types, like an integer, a float and a Vector). Unfortunately, these special nodes are not being recognized by the MVVM’s Conversion Function List as acceptable, probably because of their wildcard pins. On the other hand, when type promotion is enabled, the “old math nodes” are excluded from the “Blueprint Action Registry” to make them unavailable in blueprints. Since the MVVM’s Conversion Function List is populated from this registry by default, it ends up without them either.
Besides completely turning off Type Promotion, I can think of two other workarounds for this. The first one is to go to “Editor Preferences”, page “Plugins -- UMG Model View Viewmodel”, category “Defaults”, and change “Conversion Function Filter” from “Blueprint Action Registry” to “Conversion Function Library”. This should make the old math nodes appear in the list without the need to disable type promotion globally, but it is possible that the resulting set of available Conversion Functions has some other differences as well.
The second workaround is to create a Blueprint Function Library asset and use it to expose your own typed math functions as needed (e.g. “add”, “multiply” and comparison operators between fixed numeric types). Just make sure that your functions are set to “Pure” and assigned to some category (the “Default” category does not appear in the Conversion Functions List).
I will now file an internal bug report about this, and I should get back to you soon with a tracking number for it.
Hope that helps!
Best regards,
Vitor
[Attachment Removed]
Thanks!
That workaround looks a lot more targeted, and doesn’t appear to affect very many functions (lost one or two, like “Has Mouse Capture by User” and “Has User Focus”, that we don’t use in MVVM bindings anyway). We’ll go with that and leave the bug itself to you. Appreciate the help!
[Attachment Removed]
Glad to help! Here’s the bug tracking number: UE-370823. It should become available once the devs mark it as public.
[Attachment Removed]