No announcement yet.

Core Engine Class overview

  • Filter
  • Time
  • Show
Clear All
new posts

    Core Engine Class overview

    Hey there,

    I would love to see an overview about the main engine classes, so that you can get a (comparatively) quick idea of which classes there are in UE4 and what they do.
    I know that there is the API reference, but I'm thinking about an "easy read" version for the most common classes only, a high level overview.

    For every major class that is of interest to a C++ programmer using UE4 I'd like to see the following questions answered:
    • What does the class represent?
    • Which are the main tasks? What do you use it for?
    • What are the properties you'd commonly use?
    • What are the functions you'd commonly use / overwrite?
    • If a function gets automatically called by the engine, when?

    I think this would make the first steps for a coder with UE4 much easier. Do you agree?

    YES! This is very important to my workflow and would be beneficial.
    Maybe. It might be nice, but not urgent.
    No. I do not feel this suggestion is necessary.

    Hi Daerst,

    Thanks for the feedback. I have added a poll to your post as a test to help us get a feel for how the community feels about feature requests. We may be encouraging users to create polls for future feature requests.

    Adam Davis | Marketplace Support | Epic Games
    How to report a bug? | Installation & Setup issues? | Answerhub Bug Reports | Twitter


      Yes please. Let's start with the letters in front of the classes. What does the U, T, A, E, I or F stand for?


        Originally posted by Wrr View Post
        Yes please. Let's start with the letters in front of the classes. What does the U, T, A, E, I or F stand for?
        Type names are prefixed with an additional upper-case letter to distinguish them from variable names. For example, FSkin is a type name, and Skin is an instance of a FSkin.
        • Template classes are prefixed by T.
        • Classes that inherit from UObject are prefixed by U.
        • Classes that inherit from AActor are prefixed by A.
        • Classes that inherit from SWidget are prefixed by S.
        • Classes that are abstract interfaces are prefixed by I.
        • Most other classes are prefixed by F, though some subsystems use other letters.

        Join us on IRC! We are on #unrealengine @


          Adam, thanks for responding and adding the poll. I think this is a good idea to really find out about the importance of a request.
          Bajee, thanks the prefix list. This will sure be helpful.

          I'm eager to see how the poll turns out


            "The most common classes" is very much dependent on what you are doing. There are a few main gameplay related classes that make up what we call the Gameplay Framework. If you're making editor extensions, or adding Material Expressions, or adding Particle Emitters or Modules, or creating importers and exporters, and so on, you would commonly use other classes related to those areas. The engine is a large code base, and there are many things any one person might decide to do with it, so it is difficult to just say, "explain the main classes." We try to explain the main classes involved with any one area when we write documentation over that area.

            If there are specific areas of interest, please let us know so we can point you in the right direction of existing documentation or add them to the list of topics to address.

            The framework classes are explained here:

            Unreal Engine Documentation
            Bored? Follow me! @ffejnosliw


              This is pretty close to what I wanted to ask for. In my short experience working with UE4 so far, it seems that the vast majority of the currently available documentation is either aimed at using the editor, at different types of content creation, or at explaining how to accomplish a given task with Blueprints.

              Then there are some user-created tutorials for the C++ side, but these are often at a very shallow level, or try to tech basics of programming interleaved with UE4 specifics.

              What I would greatly appreciate is an overview/introductory documentation of the engine aimed at reasonably experienced C++ programmers. Something like "These are the major components in the code, this is what they do, these are their interactions. These are the major threads of execution. Here is what roughly happens at startup and during each frame in each thread." As long as this overview points you in the right direction and explains the relationships between individual components well, details can easily be filled in by reading the code or automatically generated documentation.

              I realize that this is easier said than done, and I may well have missed some already available documentation for this purpose. If so, I'd appreciate a pointer.


                A very broad overview of the architecture of the Editor itself would also be nice. What are the main classes? Where is the main window class? How is a window with its panels composed etc. Then it would be easier to figure out how to add custom panels, menus, toolbar buttons or write plugins that expand the interface.

                Something along the lines of this document for the iOS GUI architecture. Wouldn't have to be nearly as detailed though, since we can read the code too.
                Join us on IRC! We are on #unrealengine @