Overview Of Engine

Deep Dive Technical Course

Modules

Types:

  • Developer: Used by Editor & Programs, but not games
  • Editor: Used by UnrealEditor Only
  • Runtime: Used by Editor, Games, & Programs
  • ThirdParty: External third party libs/code
  • Plugins: Extensions for Editor and/or Games. Should not have dependencies on other plugins
  • Programs: Standalone apps & tools

Important Modules:

  • Core: fundamental types & functions
  • CoreUObject: Implements Uobject reflection system
  • Engine: Game & engine framework classes
  • OnlineSubsystem: Online & social networking features
  • Slate: Widget library & high level UI functionality

Modules for Advanced Functionality:

  • DesktopPlatform: Modules for OS function calls (e.g. filesystem, etc)
  • DetailCustomization: Editor Detail panel customizations
  • Launch: Main loop classes & functions
  • Messaging: Message passing subsystem
  • Sockets: Network socket implementation
  • Settings: Editor & Project settings API
  • SlateCore: Low level UI functionality
  • TargetPlatform: Platform abstraction layer
  • UMG: WYSIWYG UI system (Unreal Motion Graphics)
  • UnrealEd: Unreal Editor main frame & features
  • Analytics: Analytics functionality
  • AssetRegistry: Asset database functionality for UnrealEd
  • JsonUtilities & XmlParser: Parsing json/xml files

Rendering

Python

Fast ramp up to UE4Python

These documents are great starting points which are located in the UE4 Python Repo

  • README.MD
  • UOBJECT_API.md
  • SnippetsForStaticAndSkeletalMeshes.md
  • Examples\*.md

How to find stuff

  • Look at the *Snippets.py files
  • Use Find all in BuildAutomation vscode project
  • Use Visual assist symbol search "py_ ..."

Useful Python Starting Points