Input Touch Events over Scroll Box doesn't check if a touch drag is released
I found an error input touch event in blueprint over scrollbox doesn't check if a touch drag is released. Only check if a dragging released outside of the scrollbox. Get input touch state under the scroll box returns x y position only for the first touch and variables x y are not updated during drag. Please Help.
C++ Dirty Fix
By extending the original SScrollBox and UScrollBox classes, it's possible to override the method causing the problem and fix it.
Add these modules to Source/YourProjectName/YourProjectName.Build.cs, at PublicDependencyModuleNames
To YourProjectName.h, add
Add these code files to fix the problem on the Slate ScrollBox widget:
To be able to use the fixed Slate widget in UMG, also extend the UScrollBox class and override the method that creates the Slate widget to use our custom class.
This CustomScrollBox will be found in the User Created category of the Palette in the UMG Editor as Custom Scroll Box.
As it's a child of the original ScrollBox, you can safely replace ScrollBoxes and its variables in your Blueprints. Easily replace existing ScrollBoxes in the Design mode by selecting the Custom Scroll Box in the Palette then right clicking on the current ScrollBox in the hierarchy and selecting Replace With...>Custom Scroll Box. The only drawback is that you'll lose any customization done in the replaced ScrollBox's Details panel (Style, Visibility etc).
Don't forget to replace YOUPROJECTNAME_API in the code by your project's API.
Hi, RVillani I've found a solution for my case in blueprint, my menu animation is 0.5 second long so I simply use sequence node and delay for a 0.5 seconds and it works perfect for my particular situation in other cases your approach maybe better. It will be good if Epic fix scrollbox functionality.
Follow this question
Once you sign in you will be able to subscribe for any updates here