Skip to main content

Changing a Component in a Parent Object

If we derive a C++ class from an existing Unreal class, and that existing class contains components, we can extend (subclass) those components without changing the source code of the base class.

Understanding the Game Features Subsystem

This is an attempt to understand the Unreal Game Features Subsystem. The Game Features Subsystem is used in the Valley of the Ancient and Lyra examples, and in Fortnite, to distribute game assets and functions as plugins.

Delegates in C++

A delegate is a object which can be used to call:

  • a specific method on a specific object
  • a static function

Looking into Lyra - Inputs and the Gameplay Ability System

The aim of this is to examine the source code from the Lyra example provided by Epic Games and to try and identify and document practices and approaches for using c++.

Here we look at use of Gameplay Tags and the Gameplay Ability System (GAS), and try and trace the use of gameplay tags from pressing a button to getting a response in the UI and in gameplay.

Wrapping a third party library using an Unreal Engine Plugin

Unreal Engine supports plugins, which contain code and game content. They can also wrap a third party library (on Windows, one or more .dll files) and allow the functionality of that library to be called directly from C++ and indirectly using Blueprint objects which are part of the plugin.

Building ffmpeg 6 on Windows 10

ffmpeg is a cross-platform solution to record, convert, and stream audio and video. It can be used from Unreal Engine to change image formats, to record gameplay, and to convert content to and from various video formats. Here I am using it just to show how an Unreal Engine plugin can be developed.

Using the Unreal Engine Json classes

Updated for Unreal Engine 5.0

This document describes the basics of reading and writing Json with Unreal Engine classes. The code here reads and writes elements explicitly rather than reading and writing entire structs at one time. This is suitable for objects which are not using the UCLASS or UOBJECT macros to create reflection data.

Using Reflection in Unreal Engine

Updated for Unreal Engine 5.0

Reflection is the ability to inspect C++ classes and objects at runtime and gather information about their data types and properties. Normally C++ does not maintain programmer-accessible information about, say, what members a struct or class has. Unreal Engine uses macros such as UCLASS and UPROPERTY to create information about classes, structs, methods, properties, and to make that information available to C++ at runtime.