[PLUGIN] AnyShape Button Plugin

Hello there :slightly_smiling_face:

Design a button in UMG with the exact shape you require. Interesting, isn’t it? – This plugin will assist you!

AnyShape Button Plugin

Any shape you want, all you need is a texture with an alpha channel, and… that’s it! Then it functions like a regular native button (presses, hovers, clicks).
Where it’s transparent - it doesn’t register clicks, where it’s not transparent - it registers clicks. Everything is simple, while all the complexity has been hidden under the hood.

What if I want to create my unique button layout, for example, a radial menu? - No problem!
And what if I want to use the material for this? - You can use a material!
And what if I need a dozen buttons intersecting each other? - No problem!
And what about widget animations? - Animations are supported too!

You can find more detailed information on the plugin’s page, including links to the documentation.

Changelog:

AnyShape Button plugin v1.1 | UE 5.3 |

  • add “Drag & Drop” system
  • minor fix
  • update example project
  • update documentation

Hey,
I’m having some problems trying to change the Hit Source to Custom at Runtime.
Basically, what I am trying to do, is change the button Hit Source from Bp’s, each time you hit it, you have a different Hit Source ( shape ).


But, while I am getting the correct name ( so I assume it’s assigning the correct file ), the hit is not working ( no hover, no click events ).

If I assign a texture to start with ( like in the bellow screen ), it works the first time, but after the new texture is assigned, it’s not working anymore.

Hello. I apologize for the delay in response, I didn’t receive a notification.

The next version of the plugin (v1.1.5) will include two runtime functions: SetNewHitSource and RebuildHitSource. They will solve this problem and add runtime update functionality.

(with UE5.4 release)

New update: v1.1.5 (UE5.3-UE5.4):

  • added runtime update function SetNewHitSource and RebuildHitSource
  • added RHIMaterialPixelsRead - more efficient pre-loading of pixel information from the material source.
  • added UseAsyncLoadingCache - improve performance by asynchronously loading texture data.
  • change the internal method CreateMaterialHitSourceData to a more efficient
  • minor fix
  • update example project
  • update documentation

I am having issues where my anyshape button object disappears from my widget bp after I close and reopen the editor. I’ve remade the widget blueprint many times, and while it works for awhile, eventually when I reopen the editor the button object is just gone. I have to remake the blueprint and update any other blueprint that creates that object


Hi. I tried to reproduce the issue:

Сreated a new project, added a random shape, created a widget, and added a Scale Box to it, in which I placed an AnyShape Button.
Сompiled, saved, closed the editor, and then relaunched it. Everything was saved as it should be.

I’m not sure the issue is on the plugin’s side.
Maybe there is something wrong with the access rights to the project, for example, it is “read only”

Thank you. I’ll try messing with the read-only settings and I’ll try making another project just to test. If it keeps happening, is there a better way to reach you to maybe send you project files?

Yes, of course, email in the profile on FAB → profile