Course Updates, New Optimization Article, and Project Orion Additions


New Optimization Article, C++ Course Lessons, "Orion" Sample Game Updates

Progress is steady on the courses and updates to the blog, including continued work on the open-source Project "Orion" which feeds back into the courses and tutorials with advanced topics on C++ and Performance.

New Article: Adding Trace Counters to Unreal Insights & Stats System

The original post about adding new cycle counters for Unreal Insights and the Stats System has been overhauled enough to consider it an entirely new article.

The new tutorial focuses on the common cycle stats and counters you can add to your C++ game code when using either the Stats System or Unreal Insights. These two systems share some overlap, but use distinct Macros that need some clarification of the differences.

New lessons for 'Professional Game Development in C++ and Unreal Engine 5'

Since the last newsletter I have added new lessons including some on Data-Oriented Design for building simple and highly performant systems. You can find the first new lesson here. The lessons center around a coin pickup system where we spawn and iterate thousands of coins in a frame without any noticeable impact on performance.

New Lessons

  • Data-Oriented Design Introduction
  • Coin Pickups using Data-Oriented Design
  • Iterating thousands of Coins
  • Coin Pickups - Instanced Meshes

If you haven't recently checked the curriculum, you can find other new lessons marked with the 🆕 icon.

"Project Orion" Updates

The “Co-op Action Roguelike Sample Game” for Unreal Engine 5 continues to evolve. It has been open source on GitHub since 2020 and deserved a proper Codename, which became ”Orion” to refer to as the aforementioned description is a mouthful. (Orion is in reference to the original internal codename for Epic's game Paragon)

The game now has it's own evolving Project Landing Page to highlight the many cool features to explore and dive into. In the past few months it received dozens of updates, here are some notable additions:

Niagara Data Channels for projectile impacts

  • Experimental with Decal Rendering so far, NDC significantly reduce the overhead of particle systems by sharing a single Niagara instance for many hit impacts.
  • Look for RogueProjectilesSubsystem::SpawnImpactFX

Data-Oriented design for Projectiles & Pickups

  • All Projectiles completely Actorless instead using simple data arrays
  • Includes networking support and client side predicted projectile spawning (WIP).
  • Coin Pickups - spawns thousands of coins from dead enemies using DoD rather than Actors.
  • Look for RogueProjectilesSubsystem.cpp & RoguePickupSubsystem.cpp

Object Pooling

  • Monsters now ragdoll using a special class “MonsterCorpse” that is pooled and the original Monster Actor itself is hidden (will be pooled in the future, including networking support) the animated pose is copied to the ragdoll instance and a single class can be used for all types of monsters.
  • Look for RogueMonsterCorpse.cpp

The features above are experimental and will continue to be worked on. Besides these larger features, the project continues to receive tons of fixes and improvements, a lot of which become a part of the Unreal C++ Course Upgrade. You can read more about the project on my blog.

Smaller Updates

  • Work continues in the background for the Optimization Course with new Case Study lessons using Far Far West currently being produced.
  • The Course Platform has received styling polish which should make the texts and code samples more pleasant to read and navigate.

600 1st Ave, Ste 330 PMB 92768, Seattle, WA 98104-2246
Unsubscribe · Preferences

Tom Looman

Learn the Unreal Engine techniques used by AAA studios and experienced indie developers. Join 5,000+ developers receiving my latest articles, optimization tips, and course updates.

Read more from Tom Looman

New Article: Unreal Engine 5.8 Performance Highlights It is possibly the last Performance Highlights overview for Unreal Engine 5. The release of UE 5.8 marks the final release before Epic Games is moving development efforts to Unreal Engine 6. That brings the focus of 5.8 to stabilize and optimize existing features (Although plenty of experimental features were added). A couple of major performance oriented improvements include MegaLights becoming production-ready and Lumen receiving a new...

New lessons for the C++ and Optimization Courses, plus looking for reviewers! I've added 8 new lessons across the UE5 C++ and Optimization courses, including new Nanite case studies and a new enemy spawn system section. The C++ course is also getting close to its V2.0 release. 3 New Optimization lessons! The 'Complete Game Optimization for Unreal Engine 5' Course has 3 new lessons in the Case Study section: Nanite - Optimizing Overdraw (VisBuffer) Nanite - Auditing Shading Bins (Empty Draws)...

New Course Lessons, C++ State Trees Code Samples and More Progress continues to be steady on the courses, including continued work on the open-source Project "Orion" which feeds back into the courses and tutorials with advanced topics on C++ and Performance. 13 New lessons for 'Professional Game Development in C++ and Unreal Engine 5' Since the last newsletter I have added 13 new lessons including some performance profiling, a new buff system, GameplayTag hierarchies and the latest Assignment...