Hello everyone, I'm Professor Ok Hue Jo from Sangmyung University
using Unreal Engine for implementing immersive content
This time, let's look at input components
followed by user interfaces
When it comes to the concept of UI (User Interface)
what first comes to mind can vary based on your field of expertise and your specific academic background
generally, when thinking about UI
many people often think about icons, layouts, and similar elements
Indeed, about 10 years ago
the concept of UX (User Experience) became widely discussed and emphasized
With the advent of smartphones, it's no longer just about graphic elements
Now, interface designers can create features
where users can even shake their phones
It's not just about clicking anymore; users can now press and hold, then swipe to the side
They can also flip the phone over, and so on
Because of this, designers now need to consider a variety of user experiences
In the field of UI, the concept of UX is now being discussed together
marking a new era
When creating games, a wide variety of UI elements come into play naturally
and designers and developers need to consider these UI aspects
The biggest difference between general design and UI in games is that
Game UI distinction 1: Game UI must not interfere with the player's experience
The UI exists specifically to support and enhance gameplay
You could say that the concept is somewhat different
When creating websites or mobile apps
where the main goal is to display information in a straightforward manner
the emphasis is on making the UI elements themselves clearly visible and accessible
However, in games
the UI that appears should serve to assist gameplay
Of course, design in games can't be haphazard either
However, design isn't necessarily as crucial in this context
Game UI distinction 2: It must aid gameplay
There's no need to make a single icon overly flashy or beautiful
there are certain characteristics that should be considered
In the past, before the advent of game engines
graphic artists used PNG files and sometimes JPEGs, depending on the situation, when creating games
Mostly, they implemented overlays on the screen
to create something like an icon using PNG files
If a graphic artist provides their assets in the form of PNG files from programs
like Photoshop or Illustrator
developers often implemented these assets by aligning them on the screen
according to coordinates provided by the graphic artist
With the popularization of game engines
especially Unreal Engine
convenient UI systems have been integrated
Displaying text on the screen
or when creating VR or AR experiences
UI elements can also be designed to follow the camera
Just like sticking a sticker onto a camera lens
you can make UI elements follow wherever the camera points in VR or AR
In VR or 3D environments
it's possible to have icons precisely positioned on specific elements
The same applies to AR environments as well
After recognizing the floor or any elements
In spatial computing
the environment is recognized
and you an overlay items like interfaces, menus, or other elements
precisely on top of the recognized space in spatial computing
Anyway, these systems are very well-developed and functional
While it's common to create assets externally and bring them into projects
Unreal Engine UI system feature 1: Capable of setting up elements internally without requiring external imports
This can be considered a very important point
To implement UI elements in Unreal Engine
what menu should you use?
There are several menus that are very well developed for this
For example, as we've seen in another session
the menu for animation in Unreal Engine is exceptionally well-designed
and when working on UI, the menus related to UI in Unreal Engine are very well developed
Depending on what you're doing at any given time, these menus are as finely tuned as individual tools
Unreal Engine UI system feature 2: Convenient menu configuration
Among them, the system for creating animations is also exceptionally well-developed
The animation creation tool itself is directly utilized and integrated well within Unreal Engine
If you study menus related to UI and UX concepts like these
you can create a mobile app
using just these elements without complex coding
Thus, you can consider it a very powerful capability
It's also well-designed
to make coding and connections easy
When talking about coding here
you can connect not only through Blueprint but also with C
Unreal Engine UI system feature 3: Compatibility with Blueprints
To implement UI elements in Unreal Engine
you should consider exploring menus specifically designed for UI development
Taking time to learn about this in our session would be beneficial
There are countless UI elements that can be displayed on screen
such as icons, menus, or text
Of course, there are icons
where clicking them opens menus that slide out like drawers
then, among those options, you can choose
and when the mouse cursor is upwards
you can change them, or you can leave them as they are
you can change after clicking or leave them unchanged
There are menus that are displayed throughout the entire game from start to finish
and there are also menus that only appear when you go to specific locations or terrains
Alternatively, there could be menus
that follow along above a character's right hand
These various UI and UX elements
can be carefully considered in Unreal Engine
regarding how they will be displayed on the screen
The topics we'll learn about today can be broadly divided into three main parts
Input components, and then concepts related to action mapping
We'll look into inputs -
how to set them up in Unreal
when you want to trigger something with input
Then we'll move on to UMG (Unreal Motion Graphics)
UMG is related to UI concepts in Unreal Engine
and we'll explore that as well
Then we'll proceed to implementing UI design in Unreal Engine
So, this session will focus on studying how to implement and set up UI elements in Unreal Engine
covering related topics in detail
Plus, input concepts, followed by action mapping concepts
are what we'll explore in this session
Input components and action mapping
Input components are indeed one of the most important aspects to understand
If you've launched Unreal Engine
you'll notice that when you right-click in the Content Browser or Viewport
and select "Blueprint Class" from the menu that appears, there are many types available
These are various types of Blueprints available
including Animation Blueprint, Actor Blueprint, and many others, totaling thousands of options
These nodes come in various forms like this
The colors of these node-connected lines are slightly different
Some nodes have a red title at the top
some have a blue title
and some have a green title, etc.
Anyway, all the coding that connects these nodes is called a blueprint
and the input process also uses this blueprint for the work
However, all the blueprints I'm talking about can, of course, be implemented in C as well
However, since this course is for beginners
I have prepared the entire content using blueprints
First, we need to think about what the input is
The input could be a situation
a keyboard, or a mouse
Of course, nowadays, inputs can include
voice from a microphone
or even where you're looking with your eyes
Generally, in the context of games
inputs refer to things like
joysticks, keyboards, or clicks
Especially with keyboard inputs
there are so many different types of keyboards available
But surely, everyone has played a game at least once
and the most commonly used input buttons in games are
Shift, Spacebar, Ctrl, Alt, and keys like these
They are often used in combinations with each other as well
The right hand is
usually busy with the directional keys when playing games
because you need to move with the mouse
Therefore, there are many games where
the left hand uses keys like A, S, W near the left side of the keyboard
to serve as directional keys
instead of using the arrow keys
because the right hand is occupied with using the mouse
It's all about inputs
Joysticks
depending on which company they're from
can vary significantly
Still, their functionalities are somewhat similar, albeit with slight differences
They usually have two or three large buttons
Then, using such a keyboard setup
you might have keys that act as up, down, left, and right directional keys
With a joystick, you hold it and move it around to control direction
There are joysticks like that
In Unreal Engine, the input component is crucial
for handling user inputs
and there are many related components associated with it
This component accepts inputs from various devices
such as keyboards, mouse, and gamepads
offering a wide range of functionalities
Keyboards, mouse, gamepads
and a variety of joysticks of all sorts are also available
It receives input from these input devices
and converts them into in-game actions or events
It's common for it to be attached to an actor for use
It can typically be applied to player characters or game objects
that need to respond to user inputs
Alright, let's take a look at some of the key functions of the input component
One of the most important features is action mapping
next, there's input binding
Main feature 1 of the input component: Input binding
When it comes to inputs
the mouse is widely used
and there are also various devices like joysticks and gamepads
Of course, the most commonly used input device is
undoubtedly the keyboard
Developers bind or connect specific keys or button inputs
to specific actions
within the game
The feature that allows developers to bind inputs to actions
is precisely called input binding
For example, jumping is present in nearly all games
It's not obviously present in every single type of game
since there are puzzle games and other genres where jumping isn't typically included
In most games where characters move
like walking or running
jumping is also commonly included
The spacebar is commonly used for jumping
and sometimes Shift or Ctrl keys are used as well
In any case, the action of jumping does exist in many games
I need to implement the functionality
where pressing the spacebar makes the character jump
while they're running
Then, jumping is an action or motion in terms of gameplay mechanics
You need to perform this in specific situations
but connect that situation to input values
so that jumping only occurs
when the space value is imported
This is exactly what input binding refers to
It's the functionality of binding the jump action to the spacebar
so that whenever the user presses the spacebar
the character jumps
so, it involves configuring it in the menu setting
possibly integrating with blueprints
but simply connecting it is straightforward
But to implement this
you'd need to study blueprints
form various perspectives to some extent
It's not complicated though
but you need to understand the concepts to implement them effectively
Main feature 2 of the input component: Action mapping and Axis mapping
Single-shot input events
events are not complex
Events in games or content refer to
specific occurrences or situations
There are various events such as
jumping, shooting, starting, crouching, throwing, etc.
This, along with continuous values
the most commonly encountered continuous value in games is
when you continuously press the directional keys in one direction
Continuously pressing the right button
makes the character keep moving to the right
Pressing up continuously makes the character keep moving upward
In 3D graphic games from the perspective of an observer
the most commonly used concept is
usually raycasting
where you use the mouse cursor to pinpoint a specific location
When you click once, the character automatically moves toward that direction
But you have to keep clicking
to move continuously
in different directions
Such continuous values are
most commonly used for actions like movement and camera rotation
This distinction can be clearly made
And this is related to the character's point of view
Whether you're playing an MMORPG where you observe the character from a third-person perspective
or a first-person game where you only see your hands on the screen
you can move around freely by using the mouse
You can look up, down, and around to see various locations
That's also a form of continuous value input
I keep moving with the mouse
and move to different locations
Camera also moves continuously
These are examples of continuous values
A single-shot event would be something like a single jump
a single attack
a single shot
Single-shot events refer to actions like those
The input component supports both of these types of inputs
There are many different input values
such as jumping each time the spacebar is pressed
It supports both single-shot actions and continuous movements
making it capable of handling all types of inputs
To use the input component
Using the input component 1: Setting up input bindings in the project settings
Using the input component 2: Within the Actor class, set up to respond to input bindings and call specific functions accordingly
Right now, I've been focusing mostly on blueprints
but the example code I'm showing you can be considered
C example code
The same functionality can be achieved in blueprints
using simple nodes
In blueprints, there are nodes specifically for handling input-related tasks
Key input and specific mouse click input nodes
When you use these nodes
you can connect them to nodes that play animations
to execute that action
You can connect them in various ways
Anyway, input is very important
Why?
Even if a game costs 50 billion or 100 billion to develop
the first screen you see is usually just the login screen
The game needs ongoing input
and feedback to be playable
Right?
The simple sample script you're currently looking at involves
jumping and forward movement
In the context of game development
this can be considered one of the most commonly used and fundamental parts of a script
You could say it's a sample script
demonstrating how to bind actions like
jumping and forward movement to axes
Jumping is a specific action or event
The crucial aspect is that
jumping action's mechanics are handled elsewhere
'Execute the jumping action when I press this key'
Jumping can also be an animation action
or could also represent something else
There are such possibilities
It's the name of a specific situation or action
Here, "jump" and "move forward," etc.
In Unreal Engine, action mapping involves associating user inputs
such as commonly used keyboard inputs
and then mouse and gamepad inputs
and nowadays, there are also many types of joysticks
Moreover, in cases like VR
people physically enter and move within the environment
There are truly a wide variety of input methods available
Actions defined within the game
Connecting actions like
jumping, shooting, starting conversations, etc., is precisely
what action mapping refers to
In materials, mapping typically refers to applying textures
or other properties to an object
It also refers to applying textures to surfaces
this concept is referred to as mapping
When speaking in Korean
you could say it's a concept of overlaying
or covering something
Understanding action mapping
as overlaying actions
onto specific input values makes sense
Through this
developers can flexibly adapt to a wide range of input devices
and provide players with a better gaming experience
Let's take a look at the key features of action mapping
Action mapping
First, there are a wide variety of platforms for each game
Depending on which platform
a game is primarily developed for
aspects such as interface resolution
number of icons, and even the structure of icons themselves
can vary significantly
Mobile can be a platform as well
VR and AR devices can also be platforms in themselves
New platforms continue to emerge
Depending on the platform
when developing content with game engines
developers typically choose a platform first
and then create a project specifically for that platform
So, game engines are often used in a way that
allows developers to switch platforms after initially developing for mobile
that process typically involves a certain amount of time
and involves switching the engine to a development environment suitable for PC
Similarly, if you develop a project for PC
and then decide to switch the platform to mobile
the engine will automatically adjust all related settings accordingly
Also, due to VR, AR, and other platforms
game engines are used extensively for creating games and other applications
Therefore, developers can implement game logic through actions mapping to implement functionality as desired without being dependent on specific platform input devices
Action mapping feature 1: Platform independence
For example, both PC and console players
can use different buttons
for the same game actions
However, games create this way are quite numerous
In games that share the same actions
players can use different buttons
and it's also possible for two different buttons to trigger the same action
Setting up everything is subjective
but depending on how you set up action mapping
the outcomes can vary significantly
Action mapping feature 2: Resuability and flexibility
Once set, action mapping can be reused
across multiple parts of the game
This reduces code duplication
and provides flexibility
when modifying or adding input configurations later on
Action mapping feature 3: Support for custom input settings
By using action mapping
players can define the key bindings
for in-game actions
according to their preferences and their specific input devices
This feature is very convenient and well-implemented
so, when making this game
let's use the B key instead of the spacebar for jumping
You just need to change this binding
Such features are designed to be extremely convenient
Because of these features
we can say that developing a game using a game engine is advantageous
This method of game development, including action mapping
significantly enhances the game's accessibility and user experience
Let me show you a menu
where you can change the input-related action mappings
that I just mentioned
I have captured this on my screen
but you can open Unreal Engine
and navigate to the menu yourself directly
to see all the menus in detail
once you open it up
You can access it by going into the project settings and editing it
The important thing is that
Unreal Engine itself has a very large file size
Compared to other game engines
like Unity 3D, Unreal Engine requires a significantly larger installation size
However, this includes more assets and resources
readily available for use
Those assets are typically found under the plugins sections in project settings
There are indeed a wide variety of plugins available
including both free and paid ones
that you can click on to use
Even if they're not paid plugins
Unreal Engine itself provides a wide range of plugins
It would be good to explore them in various ways
When you go into that menu
and then into project settings
you'll see a long list on the left side
I'm clicking on the input section
to show you the detailed settings related to input
Apart from that, there are many other lists both above and below it
Take a look at what's in those lists
Clicking on "input"
displays detailed input-related settings on the right side
But right above
you'll see the action mapping that I described earlier
Think of it as adding arrays of concept, and it might make more sense
And importantly
what I'm showing you right now is the project settings menu
If you've started a new project
then you'll need to configure the settings differently again
But if I'm adding
and working on Level 10 in the project I'm currently working on
the project settings relate to walking
won't change
Since it's project-specific settings
that point is indeed very important to consider
Keep that point in mind
Alright, coming back to action mapping
initially there's nothing there
But when you click to add arrays
and set which keys to use there
For example, a list will appear there
The gamepad options will appear
keyboard, mouse, motion, touch, gestures, and more all appear there
If you open the keyboard section
you'll see all the keys that are available listed there
The spacebar will be among those listed
On the gamepad, various buttons like
mouse left-click, right-click, and others will be displayed as well
So, at this point, you input what actions each of these controls will perform
It could be assigned to perform actions like jumping
or any other action you choose
Setting up those actions here is what we refer to as action mapping
The definition of those actions needs to be specified elsewhere
Setting them up correctly here is crucial
However, when creating animations
unless they're interactive animations
you won't typically need to look at this menu for that
This menu is used
when creating interactive content for games
where you define what happens when you press a key on the keyboard
or a button on a gamepad
In any case, when assigning input values
and when creating content that needs to show some kind of result
you'll end up looking at this menu
It would be helpful to remember that
How to set up action mapping
I showed you the interface earlier with a screenshot
What you're hearing now is an explanation
but I recommend trying it out firsthand in Unreal Engine to truly understand
I meant exploring the menus related to action mapping rather than just listening to explanations about them
To set up action mapping, open your project
in Edit, Project, Setting
Input, in the Korean version, it would be "Insert"
It's important to first navigate to the section
When you expand the action mapping section, many menus will appear
At first, there won't be anything in the list
You can expand the action mapping section
press the plus button to add an action
and then choose which key or button to assign it to
It you look at this, this part could arguably be considered the most important
Then you can add a new action mapping
You just continue adding more in the "Add Action Mapping" section
So, you select keys or buttons from the dropdown menu to assign
this action, this key, that action, that key
this action, left mouse button
that action, right mouse button
You can do it like this
You can apply action mapping to that game logic
So now we're going to do this in blueprint
When you press just the spacebar
the action called 'jump' will be executed
so, I can customize
the action names as I like
So, we'll de developing it concretely in blueprint
to integrate in specific situations
The concept of UMG, Unreal Engine UI design and implementations
Next, let's take a look at the concept of UMG
UMG stands for Unreal Motion Graphics UI designer
Next, you could say that it's a tool for
creating UI in the Unreal Engine
Inside the large engine called Unreal, there's a tool called UMG
and you can think of using that tool to design UI
This kind of system is found in many other programs as well
Especially in Unity, there is a concept called 'Canvas'
where you place UI elements inside it
like placing an invisible frame in a 3D space
and designing UI elements within it
I think those who have experience attaching UI in Unity
will find it relatively easier to learn
However, the concept of UMG in Unreal Engine is well structed
to easily integrate coding, various interactions
especially connecting with Blueprints
Whether you're designing a first-person game
an MMORPG, a simulation game
or a side-view game
you can create UI very conveniently
by carefully considering the camera concept and designing it the way you want
It's used to create various UI elements
such as the game's HUD, menus
inventory systems
and other interactive UI elements within the game
In various genres
there are games where I observe the character from a third-person perspective
The character doesn't appear prominently on the screen
In most games I play, especially MMORPGs
I often refer to "leveling up" my character
I need to see the entire body of my character
Games where
I observe from an observer's perspective
checking what weapon I have and where I'm injured
keep me very busy
In those games, especially MMORPGs
there are usually a lot of icons on the screen
There are icons above, below, horizontally, and vertically
and when there are a lot of them, you can sometimes fold and expand them like drawers
Those elements are very important
In first-person shooting games, you only see your hands on the screen
In that case, nothing should obstruct my line of sight
The characteristics of first-person shooting games include minimal UI elements because
they focus on a realistic, immersive perspective where you see in-depth, perspective-rich visuals directly in front of your eyes
rather than a wide, comprehensive view
They typically show essential information like remaining ammunition, health status, and crucial items you possess
keeping the UI minimal and focused
They also usually display a full compass, map, and only essential icons
keeping the interface uncluttered
Depending on the content I'm creating
the UI design can vary significantly
You could say that such systems are very well implemented in Unreal Engine
So, the user interface menu is also one of the menus that
appears when you right-click
In the Widget Blueprint, you can see the word "Blueprint" included
Here in the Widget
I think you've probably heard the word "widget" quite a lot
If you use an Android phone, you've probably seen the menu called "Widgets" quite often
So, if you use Naver
you can place a small window on your phone's home screen
to quickly search for what you want
Widgets are widely used using that concept
In Window computers, you can also implement a system
where you can place widgets on the desktop screen
to access desired computer system-related
programs and information
Here in Unreal Engine, when we talk about Widget Blueprints and widgets
it refers to the concept of placing elements on the screen
similar to displaying elements on a screen or interface
However, it's not just important to display simple things
like text, pretty PNG files, icons, and menus
when making a game, the most important aspect of connecting UI is
what you're linking together
Whether you're connecting it to interactions or integrating it with the game's systems
it's important to show things like
how many times you've been attacked by an opponent's monster
and how much energy you have left
Then, you can connect these aspects
using Blueprint coding or link them to existing variables and such
This system is very well-developed for doing these kinds of tasks
Creating Widget Blueprints yourself would also be beneficial to try out
You have various UI elements available in a left-hand list here
You can also double-click or click and drag to bring those UI elements into your workspace
I've displayed them on screen here
Think of it as a virtual sketchbook that actually appears on the screen
You can see the details of each UI elements here
in the right-hand details panel
The default buttons exist in colors like white and light gray
You can also change the button colors
and if you don't add a lot of default designs
buttons or menus will just be in a rectangular shape
However, you can change the appearance of these buttons by connecting them to PNG files
and you can add some effects to those PNG files
like a raised texture or shadows, to enhance their appearance
UMG feature 1: Visual design
Using UMG's visual design tool
you can place UI elements by simply dragging and dropping
avoiding complex coding processes
It's all laid out on the left, with buttons and more
There's a menu section with various options, including buttons and menus where you can input text
There are also options for simply clicking
or where clicking opens up three or four menus like drawers
which collapse again when clicked
You can simply display images like company logos on the UI
You can indeed just display them
On the left, there's a range of materials and you can simply place them wherever you want
adjust the size as needed
and enter the size directly in the detail menu of the button
You can apply various styles and customize them in many different ways
But this concept of arranging things the way I want on the screen
like a picture frame
is really well-developed in this system
Before this existed, we probably had to add each element one by one through scripting and coding
Just by considering the coordinates
this system has now become an essential element in game development
and it significantly speeds up the development process
The fact that designers and developers can now easily work together
is probably the most important aspect
In the past, when such a system didn't exist
the concept of icons envisioned by designers was very different from that of developers
So after placing the elements, situations would arise
where they had to give feedback and argue
When developing with Unreal, designers can immediately place elements
to see if they work or not
and can access the project simultaneously
These things have become much more seamless
UMG feature 2: Data binding
This UMG supports data binding
We can synchronize UI elements with game data in real-time
For example, there could be a player's health bar
that shows how much HP they have left
Setting up the health bar to reflect the actual health value of the player
is what we call data binding
You could think of it as somewhat similar to action binding
or motion binding concepts
It's the concept of connecting or linking
UMG feature 3: Animation and effects
The concept of animations and effects for UMG UI elements
For example, like this
The button could remain in the same state from when it first appears until it disappears
It could shrink and then expand slightly when clicked
bulge or become more pronounced when clicked
change color
have a sparkling effect emanating from the button
there could be various other effects as well, right?
You could also add sound to it
With all these possibilities available
you can create dynamic UIs that enhance the user experience
However, this also varies significantly depending on the genre
If it's an adventure game for children
the UI elements would indeed be very cute and include a lot of effects
In MMORPG games, the main purpose is often to display a lot of icons
so they typically don't include many animation effects or special effects
You can achieve smooth transitions like half of a menu opening or closing
when a button is pressed right here
UMG feature 4: Multi-platform support
The usage typically involves creating widgets intially
adding UI elements
configuring them
implementing events and logics
and then displaying the UI in the game
However, Unreal Engine includes UMG within its editor
and working within this environment is
crucial
The biggest advantage is being able to intuitively place lements
playtest them
and quickly swap them out if they don't work
all within the editor
You can decide that just an image would be better than a slider
playtest it immediately and quickly make changes
It's a really convenient system
If you find that the default button doesn't look nice
you can easily replace it with a PNG file instead
Swapping out the button with a PNG file instead of default one is
also very easy to do
Moreover, for example, there are pre-made samples available
for UI elements like drawers
that open when clicked
You can simply use them as they are
There are also features for audio visualization included
There are a wide variety of menus available
and many of them are already visually appealing enough to use as-is
You can modify them slightly to suit your design preferences
I mentioned there's a large list on the left side
Let's take a look at some of the major components included
In general, there are components like sliders or borders
Border refers to a border or outline
Buttons are indeed used very extensively
Even if you're not making a game, if you're creating a mobile app
you'll still use buttons extensively
You can connect images, checkboxes
and link them to various scenarios or values
when check or unchecked
Fro example, you could connect a character to equip an item when checked
and unequal it when unchecked
among other possibilities
There are various options available
such as text elements, progress bars, and many others
When we think of UI, there are countless elements that come to mind
You can think of it as encompassing nearly all the forms of menus
you can see on a smartphone
For inputs like text boxes
it depends on whether it's for single-line or multi-line text
For entering an ID, typically a single-line text box is used
using two lines for an ID wouldn't be necessary
Depending on the situation and what you're creating
there might be times when multi-line inputs are necessary
There are options related to input
such as whether it's editable or not
combo boxes, spin boxes
user-generated Auto Button Toggle
etc.
There are various options like text boxes
and you can click and drag
to arrange them
however you like
Alright, so now let's talk bout how you create it yourself
There's blueprint, of course
but you can also implement UI
using Editor Utility Widgets in the Unreal Engine
This is also slightly different
We'll take a look at this as well
Anyway, it's a widget concept
As for this one, you can focus mainly on the settings
When creating an actual game
you need to approach it with widget blueprints
It would be good to keep in mind that
these are somewhat similar but different concepts
Here, it would be best to focus only on the design concept
In Unreal Engine, the Editor Utility Widget is
a powerful feature that allows developers and designers
to create custom utilities for use within the editor
Through this
users can automate repetitive tasks
and create custom interfaces to extend editor functionality
If someone is proficient enough
to use custom interfaces
they are likely very skilled in Unreal Engine
Editor Utility Widgets are interfaces that
you can visually design to look nice
based on Blueprints
without needing complex scripts or code
Editor Utility Widgets can be described as
tools that allow you to customize
the editor environment visually
Anyway, you can think of it as similar to designing interfaces
Let's look at some key use cases of Editor Utility Widgets
If earlier we were talking about UI concepts
now we're discussing something more closely related to user experience
and creating something unique and personal
in terms of UI design
Use case for Editor Utility Widgets 1: Task automation
It can be used to automate repetitive tasks
such as placing or modifying assets
For example
you can create your own menu in Editor Utility Widgets
to adjust all lights in the scene
according to specific rules
or to batch rename asset names
So, for designing the UI, you should think about it within the widget blueprint
What I'm saying now is that with UI, you can create it the way you want
with a few buttons or whatever you like
This is a widget for creating my own menu
so it's somewhat different
Use case for Editor Utility Widgets 2: Extending editor functionality
Use case for Editor Utility Widgets 3: Project management tools
For version control, task tracking, and test management
you can develop your own utilities tailored for these purposes using Editor Utility Widgets
You can implement them with buttons or even sliders
You can think of it as
creating your own custom menu
The sequence is: create an Editor Widget Blueprint
then design the UI, implement the logic
and finally use it within the editor
You select in the Editor Utility Widget
Alright, the concept is similar to Blueprints
but with Editor Utility Widgets
you connect and use your own menu
within the editor
Okay, Unreal Engine Ui design looks like this
Here, you can place and create the things you want
You can use UI design itself
but also consider the UI concepts
when creating utility widgets
Alright, that was all about utility widgets
Now, I'll provide a bit more explanation about general UI concepts
If you look on the left, you'll see the speed and gear of the car displayed below
This is how you implement it on the widget interface
Then in the actual game
you would see the real car, sky, ground
and these UI elements on the left
We've covered Unreal Engine UI design implementation up to this point
Input components and action mapping What is the input component? Responsible for receiving input from various devices such as keyboards, mouse, gamepads and translating them into the game actions or events within the game
Main features of the input component Input binding Action mapping and axis mapping
Using input component Setting up input bindings in project settings Configuring an actor class to respond to input bindings by calling specific functions
Action mapping The process of linking user inputs (keys on the keyboard, mouse buttons, gamepad buttons, etc.) to predefined actions within a game (jumping, shooting, starting a conversation, etc.)
Characteristics of action mapping Platform independence Reusability and flexibility Support for custom input configurations
UMG Unreal Motion Graphics UI Designer A tool used in Unreal Engine for creating user interfaces (UI)
It's used to create various UI elements such as the game's HUD (Heads-Up Display), menus, inventory systems, and interactive UI elements within the game
Features of UMG Visual design Data binding Animation and effects Multi-platform support