🔶 Gameplay Learning Track
The learning path for (Technical) Designers and Programmers focused on everything that connects to gameplay including some rendering topics. It's important to be aware of some performance characteristics in places you may not expect such as Virtual Shadow Mapping that your game code or Blueprint may affect.
Example: Why is Virtual Shadow Mapping even relevant to me? Your gameplay logic will move, animate, and otherwise trigger all sorts of events in the World. This will invalidate cached "Pages" in shadow mapping. Even though you're not the one who will dial in VSM performance, knowing how your actions affect others may help the team stay ahead of future headaches.
Below I've compiled a list of Sections and Lessons that are of interest to anyone under the "Gameplay" umbrella.
Sections that are not listed below may be outside your core interest in the Gameplay track, feel free to watch everything especially as someone with a broad responsibility or indie developer!
2.1 Fundamentals
Primer lessons for everyone involved in performance.
2.2 Profiling Preparation
Short section to help you get good numbers during profiling and things to consider when preparing builds.
3. Profiling Tools
Unreal Insights is such a broad and detailed profiling tool now that it is slowly replacing older specialized tools. Insights is good for everyone dealing with performance and it isn't as complex as first impressions may let you believe.
The section also handles many of the other built-in specialized tools for profiling and metrics. Things like Size Map and Reference Viewer can be invaluable for checking accidental references to other (blueprint) assets that bloat memory.
4. The Unreal Architecture
Understanding how Unreal operates is essential in staying ahead of (performance) problems and being confident your decisions (most likely) won't come back to haunt you later. it discusses CPU Threads, render passes, Ticking, etc. all things that affect gameplay and build the final frame draws onscreen.
6. Gameplay Programming
This should speak for itself and will be your primary section [MANY more lessons are planned and being worked on at this time]. All things gameplay programming should be relevant. I've tried to keep things mostly language/script agnostic so it applies to both C++ and Blueprint. Differences will be called out.
8. Content - Skeletal Animation
Animations Blueprints for characters etc. have a lot of ways to improve performance that are good to know ahead of time as it can change the way you build the anim & event graphs.
10.2 Rendering - Nanite
Nanite changes the rules for optimization and "good practice" from what we are used to. Instancing no longer happens per mesh but per material. These differences are important to understand as you may be using outdated performance guidelines for rendering.
10.3 Rendering - Virtual Shadow Mapping
Stick to the "What is?" and "Performance Guidelines" videos. It's important to understand how VSM handles caching and invalidation.
10.4 Rendering - Lighting
Your gameplay actors may deal with local lights, understanding the performance characteristics and culling can be valuable.
11. Platform Scalability
Essential for everyone on the team to understand how the (Graphics) Settings of the project can scale for different hardware. These are the Low to Epic sliders or Device Profile settings on fixed platforms such as PlayStation or Xbox. While these generally pair far better with Graphical options, it can be further tuned to have tie-ins with gameplay fidelity.
4 comments