How I Stopped Being Terrified of Slate
Talk for JetBrains GameDev Day Online 2022
Tutorials, tips and tricks.
I have been using Unreal Engine for a few years now, working mostly as a UI programmer.
I find it helpful to consolidate what I learn by writing tutorials. It helps to
have something to look back on when I inevitably forget something
Talk for JetBrains GameDev Day Online 2022
Edit faster, avoid RSI, improve consistency
It's like Duck Duck Go for your game.
A rambling live chat-style video about the basics of creating user interfaces in Unreal Engine 5.
Use C++ and Blueprints to create a solid foundation for your game UI.
A introductory tutorial on how to set up UIs using C++ and Blueprints.
How to make variables read-only or hidden, based on other variables.
I see this one being asked quite often in the Unreal Slackers #ui chat.
How to apply shader effects to your UIs.
ForceInlineRow or a custom inspector
Edit faster, avoid RSI, improve consistency
Use C++ and Blueprints to create a solid foundation for your game UI.
A introductory tutorial on how to set up UIs using C++ and Blueprints.
Avoid casting with this one weird trick.
Creating animations, events, reusable animations.
How to programmatically build up a widget in the editor, while keeping the widget tree in sync.
ForceInlineRow or a custom inspector
Make sure changes made in the parent are propagated to children.
All the flavours, all the considerations.
How to declare a dynamic multicast delegate and subscribe to it, using C++.
Which button was called? Now you can find out!
Make any enum iterable with ENUM_RANGE_BY_COUNT and others
Tick any object you want, UObject or not!
Seriously don't do it.
How to build a suite of tests for gameplay code.
Subsystems are a simple way to make modular, globally-accessible logic.
How to use GAverageFPS, GAverageMS
TOptional<T>
is my new favourite tool
For optional parameters, and explictly marking undefined state.
How to make variables read-only or hidden, based on other variables.
How to control logic from C++ and configure visuals in Blueprints.
In both C++ and Blueprints.
Unreal-style lambda functions that can be passed around to functions.
How to call UMG animations defined in Blueprints from C++.
What's the deal with Slate, UMG and Blueprints?
ForceInlineRow or a custom inspector
Make sure changes made in the parent are propagated to children.
Define gameplay data using external CSV/JSON.
Discussing data format issues, strengths, weaknesses
Data Tables, Data Assets and others
No boolean? Const everything? Out-of-order evaluation?
It's not much like Twitter.
Discussing data format issues, strengths, weaknesses
Advice on finding jobs, applying, interviewing and getting hired.
Thanks to everyone for sharing their knowledge!
What scripting languages can you use in Unreal?
How to use the Widget Reflector to debug UI issues.
Improve your workflow, avoid annoyances
Automatically collect crash info from your players!
How to clamp your UI to an aspect ratio
What information to inlcude, how to get the most out of it
What I learned along the way.
A single setting makes working in a team a breeze
Some self-indulgence
How to get help, and help yourself
Data Tables, Data Assets and others
Gotchas and surprises I encountered
A list of all the plugins I've worked on
Define Markdown-like custom syntax, use nested styles
Define Markdown-like custom syntax, use nested styles
Texture settings validator plugin
Cheat your way to success!
Animate UMG widgets from C++
Text widgets with centralized styling, marquee and more!
What I learned along the way.
Define Markdown-like custom syntax, use nested styles
Setting defaults for AZERTY, QWERTZ keyboards
More than just "one" and "other"
When "strawberrys" won't cut it.
tldr; Wrap them in backticks
Common pitfalls to avoid as you implement user interfaces in Unreal.
Which button was called? Now you can find out!
Centralized styling, selected state, and more!
Text widgets with centralized styling, marquee and more!
What is the plugin for? What does it contain? Why should we care?
How to use the Widget Reflector to debug UI issues.
Populate a vertical box with a huge number of elements!
Let players make the UI larger or smaller! Or the same!
Want to pause the game, reduce FPS, mute audio when the game window loses focus?
Use C++ and Blueprints to create a solid foundation for your game UI.
How can I make a button with a non-rectangular hitbox?
How to set up widgets attached to actors.
Design at lowest resolution, scale with DPI Scaling and Custom Application Scaling
Animate UMG widgets from C++
Store localizable strings in a CSV file and use them in the editor and C++.
How to apply material effects to a group of child widgets.
Using SynchronizeProperties() to show changes to Blueprint properties in the editor.
How to control logic from C++ and configure visuals in Blueprints.
Common pitfalls to avoid as you implement user interfaces in Unreal.
After you have mastered UserWidgets and UMG, let's get down to the nitty-gritty.
How to call UMG animations defined in Blueprints from C++.
Creating animations, events, reusable animations.
tldr; Multiple of 4 is great
After you have mastered UserWidgets and UMG, let's get down to the nitty-gritty.
What's the deal with Slate, UMG and Blueprints?
How to build user widgets base classes in C++.
Create your own custom re-usable widgets in pure C++. No Blueprints required!
How to start making user interfaces in Unreal using UMG, Slate and C++
Thanks to everyone for sharing their knowledge!
A rambling live chat-style video about the basics of creating user interfaces in Unreal Engine 5.
How to set up widgets attached to actors.
Notes on using PlasticSCM and Unreal
Unreal's Visual Logger is great for debugging spatial issues.
Be the changelist you want to see in the world.
Come talk about Unreal UI on Discord!
Store sets of cheats in a .ini, execute them with one command.
tldr; prefix with ? and a space.
Attach screenshots, zips, plain form data, and send it to a server!
It's so satisfying when all the lights turn green!
One way to set up threads in Unreal.
Make Unreal go fast brr