[Released] Advanced Procedural UI Generation! Create, modify, animate UI, even at runtime

MPUI Kit
Create an infinite number of shapes for UI without any sprite assets, edit or animate at runtime with MPUI Kit for UGUI

AssetStore | Website | Documentation | Follow Development

How it works: MPUIKit’s Image component procedurally generates basic shapes with given parameter and shade with color and gradient that you can modify at runtime. It is built on top of Unity’s native UIBehaviour, thus all the UGUI functionalities are intact.

Procedural Shapes:

  • Circle
  • Triangle
  • Rectangle
  • Pentagon
  • Hexagon
  • N-Star Polygon

Customizability of the shapes:

  • Modify corner radiuses independently
  • Fill or Stroke
  • Outline
  • Falloff distance (Creates a fake Antialiasing effect)
  • Shading Color or 3 types of Gradient
  • Transparency

More Features:

  • Shared material and batching
  • Shadow using Falloff
  • Shape rotation
  • Support for flipping shapes Horizontally and vertically
  • Along with shapes, you can add a sprite
  • Image fill mode: vertical, horizontal, radial
  • Works with Dotween
  • Supports Unity Mask and Layout

Over the coming weeks and months, I will be updating more about the progress and post more information on this thread.
Please let me know if you have any questions or suggestions, and I look forward to sharing more progress with you.

5 Likes

Any chance something like this might be able to import animation in a similar style to AE2Unity? Would love to bridge the gap for our motion graphics artists to import their work more directly into unity.

Sorry, I’m not familiar with AE at all. So, can’t say I can do that.

Price is a bit high. Procedural UI + Gradent Color both are available on asset store price not more than $15. If you want to compete put it on sale at start for $10 and original 15 or 20. Just my opinion. Although it feels like your asset has more detail as compare to other available assets.

Hello, Thank you for your interest and opinion. As you can see, with this tool you can create more shapes than any of those you’ve mentioned. There is more to it. I have more things in my pipeline and I believe it’s worth the price I have planned. I don’t want to undercut other assets in the store. If someone needs less, they can buy other assets at a lower price and that’s completely fine. But for people who need more features and performance, they can try to spend a bit more.

For the beta release, I will be pricing the package pretty low. I hope to collect feedback from the beta users and opinions from people in the forum or twitter and make the package better. After the production version’s release, the price will be higher and people who have already purchased it will get the update for free.

bunch of buttons made with the mpuikit and animated with unity animation. It also works with dotween!

1 Like

Hello, I would like to know can those shapes be created in runtime?
also, can those generated shapes added into Sprite Atlas and be loaded dynamically?

Hi, The shapes can be created and modified at runtime. Since these are procedural shapes and not sprite assets, they cannot be added to sprite atlas. The use of the sprite atlas in general is to reduce drawcalls. These shapes need different techniques to manage drawcalls. It is possible to draw similar looking multiple shapes in one drawcall. I will be writing all about it in the documentation.

yeah you are right. There are not much budget on drawcalls if the game is targeted for mobile.

Also, will it be working with Unity’s default Mask components?
and is it possible to layer a particle system in between a background sprite, text and a foreground sprite?

  • background
  • particle system
  • text
  • foreground

It works with unity’s mask component. I haven’t tested the layers with particles. But since my MPImage component extends the unity ui Image component and keeps the fundamental characteristics intact, that type of layering should work fine. I’ll test it shortly.

1 Like

I already own two other alternatives, but this one looks really promising, so I’ll be watching this thread :slight_smile:

1 Like

Hi, @fakegood
I have run a quick test on the layering you suggested and it works fine!

Under the main ‘Canvas’, the parent object of each group ‘Background’, ‘Particles’, ‘Text’, ‘Foreground’ has a canvas component attached to override the sorting.y

1 Like

that’s awesome! thanks for the follow up! :slight_smile:

1 Like

New features have been added to MPImage component. It is now possible to rotate and flip shapes without rotating the RectTransform. Often it’s not possible to rotate the RectTransform due to UI Layout constraints or the project needs. The ability to do so locally will be helpful for animations and more.
There are two modes for shape rotation. ‘Free’ and ‘Constrained’. In free mode, you can rotate the shape to any arbitrary angle. For images whose width and height are the same will have no problem with this mode but for the other, it may result in the shapes to get clipped. That’s where constrained mode should be used. It only lets you rotate the shape in right angles.
On top of Rotation, shapes can be flipped horizontally or vertically or both.
Rotation of the shape is local and affects the shape only. So you can rotate the gradient independently.
MPImage component also supports sprite to be applied along with a procedural shape and gradient.

2 Likes

Oof, the ability to rotate and flip shapes is a nice touch! Might I ask if it is possible to create an outline but only on one side of the shape (without creating another shape)? Like so: 5857027--622393--Button1.png

Also, would you have any plans to include a shine/gloss effect? Like so: 5857027--622396--Button2.png

No, this is not possible without a separate image.

Yes, I do have plans to add more effects and shine/gloss is one of them.

Ahh alright cool cool

Seems to be great. Have you set a release date?

It’s currently in review. As soon the review is done, I will release it. I hope by next week it will be available in the store.

Great! Great! I can’t wait to test this. :wink: