0% found this document useful (0 votes)
40 views

Engine Overview UE4

This document provides an overview of the Unreal Engine, including: - It describes the engine as having thousands of files across many directories and modules. - The directories include the engine code, content, configuration files, and project files. - There are core modules for things like rendering, physics, AI, and more. Additional modules provide advanced features. - Projects can be created from templates and can contain blueprints, C++ code, plugins, and custom modules. They are packaged for deployment.

Uploaded by

laopuintw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Engine Overview UE4

This document provides an overview of the Unreal Engine, including: - It describes the engine as having thousands of files across many directories and modules. - The directories include the engine code, content, configuration files, and project files. - There are core modules for things like rendering, physics, AI, and more. Additional modules provide advanced features. - Projects can be created from templates and can contain blueprints, C++ code, plugins, and custom modules. They are packaged for deployment.

Uploaded by

laopuintw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Engine Overview

A Programmer’s Glimpse at UE4

Gerke Max Preussner


[email protected]
The Big Picture
This Is Not Your Grandma’s Engine
Overview • UE4 is pretty hot… but also huge!
• 5000+ directories, 40,000+ files
Directories • Bazillions of lines of code
• Hundreds of modules
Configuration • Dozens of tools, thousands of features
• Centuries of man years
Modules
Projects How To Master All This?
• Start with toes, work your way up
What’s Next? • Most code & content you’ll never touch
• Nobody knows everything about UE4
• But you’ll see, it’s really quite easy!
The Big Picture
Root Directory
Overview • /Engine – All code, content & configuration for the Engine
• /MyProject – All files for the game project ‘MyProject’
Directories • /Templates – Templates for creating new projects

Configuration Inside the /Engine and Project Directories


• /Binaries – Executables & DLLs for the Engine
Modules • /Build – Files needed for building the Engine
• /Config – Configuration files
Projects • /Content – Shared Engine content
• /DerivedDataCache – Cached content data files (Engine only)
What’s Next? • /Intermediate – Temporary build products (Engine only)
• /Plugins – Shared and project specific plug-ins
• /Saved – Autosaves, local configs, screenshots, etc.
• /Source – Source code for all the things!
The Big Picture
Overview INI Files
• Hold class default properties
Directories • Will be loaded into CDOs on startup
Configuration • Organized in a hierarchy
Modules • Higher INIs override lower ones
• Organized in sections
Projects • Key-value pairs within sections
What’s Next? • Important ones exposed in Editor UI
• Low-level access with FConfig
The Big Picture
Overview INI Files
• Hold class default properties XXX.ini
Directories • Will be loaded into CDOs on startup
Configuration • Organized in a hierarchy
DefaultXXX.ini
Modules • Higher INIs override lower ones
• Organized in sections
Projects • Key-value pairs within sections BaseXXX.ini
What’s Next? • Important ones exposed in Editor UI
• Low-level access with FConfig
Class Constructor
Editor & Project Settings
Sections for UObjects
• [/Script/ModuleName.ClassName]

Sections for Custom Settings


• [SectionName]

Supported Value Types


• Numeric values, strings, enums
• Structured data
• Static and dynamic arrays

Automatic serialization for UObject properties


The Big Picture
Overview Modularity Promotes
• Reusability
Directories • Extensibility
Configuration • Maintainability
Modules • Decoupling
• Efficiency
Projects
What’s Next? Monolithic builds are
still possible though!
The Big Picture
Module Types
Overview • Developer – Used by Editor & Programs, not Games
Directories • Editor – Used by Unreal Editor only
• Runtime – Used by Editor, Games & Programs
Configuration • ThirdParty – External code from other companies
• Plugins – Extensions for Editor, Games, or both
Modules • Programs – Standalone applications & tools
Projects
Module Dependency Rules
What’s Next? • Runtime modules must not have dependencies to Editor or
Developer modules
• Plug-in modules must not have dependencies to other plug-ins
The Big Picture
Overview Module Type
UnrealEd App Game

Directories Runtime √ √ √
Configuration ThirdParty √ √ √
Modules Plugins √ √ √
Projects Developer √ √ X
What’s Next? Editor √ X X

Module usage across different types of applications


The Big Picture
Important Modules for Beginners
Overview
• Core – Fundamental core types & functions
Directories • CoreUObject – Implements the UObject sub-system
• Engine – Game classes & engine framework
Configuration • OnlineSubsystem – Online & social networking features
Modules • Slate – Widget library & high-level UI features

Projects
What’s Next?
The Big Picture
Interesting Modules for Advanced Programmers
Overview
• DesktopPlatform – Useful APIs for Windows, Mac & Linux
Directories • DetailCustomizations – Editor’s Details panel customizations
• Launch – Main loop classes & functions
Configuration • Messaging – Message passing sub-system
Modules • Sockets – Network socket implementations
• Settings – Editor & Project Settings API
Projects • SlateCore – Fundamental UI functionality
What’s Next? • TargetPlatform – Platform abstraction layer
• UMG – Unreal Motion Graphics implementation
• UnrealEd – Unreal Editor main frame & features
The Big Picture
Overview Interesting Modules for Cool Features
• Analytics – Collects usage statistics from Editor & games
Directories • AssetRegistry – Database for assets in Unreal Editor
Configuration • GameLiveStreaming – Twitch Streaming
Modules • HeadMountedDisplay – HMD Support API (Oculus, etc.)
• JsonUtilities & XmlParser – Handle Json & XML files
Projects • SourceControl – API for custom source control providers
What’s Next?
The Big Picture
Your Game Projects can…
Overview • Use Blueprints, C++ Code or both
Directories • Contain any number of modules & plug-ins
• Be moved around and shared with others
Configuration
Project Templates to Get You Started
Modules • Blank (with or without sample content)
Projects • First Person Shooter
• Side scroller, top-down & puzzle games
What’s Next? • Flying & driving games
• They all come in Blueprint and C++ flavors
• More to come, and make your own!
Project Templates & Samples
Project Packaging & Deployment
Overview
Directories
Configuration
Modules
Projects
What’s Next?
Questions?
Documentation, Tutorials and Help at:
• AnswerHub: http://answers.unrealengine.com
• Engine Documentation: http://docs.unrealengine.com
• Official Forums: http://forums.unrealengine.com
• Community Wiki: http://wiki.unrealengine.com
• YouTube Videos: http://www.youtube.com/user/UnrealDevelopmentKit
• Community IRC: #unrealengine on FreeNode

Unreal Engine 4 Roadmap


• lmgtfy.com/?q=Unreal+engine+Trello+

You might also like