Skip to content

Karma Class

Ravi Mohan edited this page May 30, 2023 · 3 revisions

The UClass class of Unreal Engine has evolved from unreal script specific state, in 1999, to, what I'd like to call UObject instance specific meta class, i.e a container of UObject information used for generating reflection system, in 2023. I have witnessed the transition from unreal script to native C++ code and blueprints and, hopefully in the future, back to scripting (verse). The structure of UClass has transitioned accordingly to serve as the container of the metadata for UObject.

On diving into the low level workings, several historical remains for instance InClassFlags and UObject hierarchy (SuperClass or SuperField) can be found indicating how the basic functionality of UClass has remained invariant during the transition.

UField

This is the base class of reflection data objects. Basic functionality, for now, includes finding the owner class (from chain of outers) of the UObject and having linked list UField type of data member.

UStruct

Base class of all UObjects types that contain fields. This class contains the information m_PropertiesSize, size of UObject in bytes, and the memory alignment of the object.

UClass is the child class of UStruct which is used for the generation and maintenance of class hierarchy

Clone this wiki locally