Hi,
recently I’ve started working with the Unreal 4 engine and I’m struggling with the UMG. I have a previous background with the Unity engine and there was so easy to make any kind of FX in the canvas UI, however, in UMG it seems impossible to add even simple things like bloom or blending modes to the images, not to mention some fancy things like particle systems, trails and so on… so these are my questions:
Q#1: is it possible to create such effects inside UMG and how?
Q#2: Or if this is not possible, then can I use 3D objects like quads, or planes placed in front of the camera to create the interface? And if I can, then how to anchor these objects in certain places like at the corners of the screen?
Yeah, it’s possible. The nice thing with UE4 is you can actually have an entire level/map be your background. You need to think of a widget as more of an overlay on top of your level, rather than like a 2D environment with fancy effects like photoshop. When you create a menu map, you can store any custom code you might need in the level blueprint, and then you can have all the fancy 3D effects you want (Like particles) inside of your level. Then you overlay your menu widget on top of the map and combined, the end result can look as gorgeous as your game
You can even code effects like having a particle system follow the mouse cursor if that’s something you’re trying to go for.
Hope that leads you in the right direction. Here’s a quick and basic tutorial: Unreal Engine 4 - How To Create a Main Menu in 4 minutes (Tutorial) - YouTube
While building a whole new level for a menu makes a lot of sense for a “main menu” kind of situation, it’s less convenient for cases like “in-game pause menu.”
To get all of the effects of the 3D engine, the easiest way I’ve found is to host your widgets inside a UI Widget actor component, instead of adding them to the HUD. The HUD is intentionally a “more boring” environment, whereas adding widgets to 3D objects lets you go as crazy as you want. This 3D object could be a component added to your camera and just hovering in front, if you want, or it can be integrated into objects in the world.
Well, after a few days of watching tutorials and trying to put the things together my progress is absolute zero. And still, I have no idea how to accomplish this simple thing - a UI that has effects inside(emissive sprites, particles, and so on), seems absolutely impossible with this engine. Yes it is easy to put something in front of the player’s camera with a blueprint, but this is not the case, the trouble is that you have different screens, resolutions, and aspect ratios and I have no idea how to adjust the items of the interface to match their places on different aspect ratios and resolutions… And what is this component you call UI Widget? No such unreal engine component exists when you try searching the web or the Unreal documentation
A widget is the most fundamental building block of the UI in UMG. Every element is a widget, you can combine multiple native (button, border, grid panel) widgets to create more complex User widgets. You can then combine user widgets with more user widgets to create even more complex systems. Each widget can be animated.
You can use materials with widgets to produce more advanced effects. And you can use a Retainer Box to push things a bit further:
Anchors will allow you to deal with most of it. There are also scaling boxes:
Thank you guys for the fast response, geez I searched more than a weak on how to build UI and nobody talked about this Retainer Box thing, thank you so much.