SlideShare a Scribd company logo
Extensibility in UE4
Customizing Your Games and the Editor
Gerke Max Preussner
max.preussner@epicgames.com
Why Do We Want Extensibility?
Custom Requirements
• Features that are too specific to be included in UE4
• Features that UE4 does not provide out of the box
Third Party Technologies
• Features owned and maintained by other providers
• Scaleform, SpeedTree, CoherentUI, etc.
Flexibility & Maintainability
• More modular code base
• Easier prototyping of new features
How To Extend The Engine
General
Games
Editor
Plug-ins
UE3: Engine Code Changes
• Only accessible to licensees
• Required deep understanding of code base
• Merging Engine updates was tedious
UE4: Extensibility APIs
• Modules, plug-ins, C++ interfaces
• Native code accessible to everyone
• Also supports non-programmers
How To Extend The Engine
General
Games
Editor
Plug-ins
Blueprint Construction Scripts
• Blueprints as macros to create & configure game objects
• Activated when an object is created in Editor or game
• Check out our excellent tutorials on YouTube!
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the Editor
How To Extend The Engine
General
Games
Editor
Plug-ins
Details View Customization
• Change the appearance of your types in the Details panel
• Customize per class, or per property
• Inject, modify, replace, or remove property entries
Menu Extenders
• Inject your own options into the Editor’s main menus
Tab Manager
• Register your own UI tabs
• Allows for adding entirely new tools and features
Default Appearance Detail Customizations
How To Extend The Engine
General
Games
Editor
Plug-ins
Blutilities
• Blueprints for the Editor!
• No C++ programming required
• Can fire off events that effect the Editor
• Currently experimental, but already working
• Scheduled for 4.5 (may change)
Procedural Textures, L-Systems, Flipbooks
How To Extend The Engine
General
Games
Editor
Plug-ins
Overview
• Extend the Engine, the Editor, or both
• Are completely self contained
• Can be enabled and disabled per project
• Everything should be a plug-in!
Examples
• BlankPlugin, UObjectPlugin – Use these to start coding
• Perforce & Subversion support for the Editor
• Oculus Rift support
• Movie players, Twitch Live Streaming, Slate Remote
• And many more!
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the Editor
How To Extend The Engine
General
Games
Editor
Plug-ins
All Plug-ins
• Will be loaded automatically on startup (if enabled)
• Most not be dependencies of the Engine or other plug-ins
Plug-ins with Code
• Have their own ‘Source’, ‘Binaries’, ‘Intermediates’ folders
• Can have one or more code modules
• May declare new UObject and UStruct types
• Seldom have Public header files in modules
Plug-ins with Content
• Have their own ‘Content’ folder
• Configuration files (INIs) not supported yet
How To Extend The Engine
General
Games
Editor
Plug-ins
Descriptor Files (.uplugin)
{
"FileVersion" : 3,
"FriendlyName" : "Paper2D",
"Version" : 1,
"VersionName" : "1.0",
"CreatedBy" : "Epic Games, Inc.",
"CreatedByURL" : "http://epicgames.com",
"EngineVersion" : "4.2.0",
"Description" : "[EARLY ACCESS PREVIEW] Paper2D.",
"Category" : "2D.Helpers",
"EnabledByDefault" : true,
"Modules" :
[
// module definitions omitted
],
"CanContainContent" : true
}
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the Editor
Vertex Snapping, Ocean Surface, Rollercoaster
More on the Wiki!
Questions?
Documentation, Tutorials and Help at:
• AnswerHub:
• Engine Documentation:
• Official Forums:
• Community Wiki:
• YouTube Videos:
• Community IRC:
Unreal Engine 4 Roadmap
• lmgtfy.com/?q=Unreal+engine+Trello+
http://answers.unrealengine.com
http://docs.unrealengine.com
http://forums.unrealengine.com
http://wiki.unrealengine.com
http://www.youtube.com/user/UnrealDevelopmentKit
#unrealengine on FreeNode

More Related Content

PPTX
East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
PPTX
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
PPTX
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
PPTX
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4
PPTX
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)
PPTX
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
PPTX
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
PPTX
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4
East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4

What's hot (20)

PPTX
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
PPTX
GDCE 2015: Blueprint Components to C++
PPTX
East Coast DevCon 2014: The Slate UI Framework - Architecture & Tools
PPT
Plug-ins & Third-Party SDKs in UE4
PPTX
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
PPTX
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...
PPTX
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
PPTX
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
PPTX
West Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
PDF
From Unity3D to Unreal Engine 4
PDF
Future of unreal
PDF
Unreal Engine 4 Introduction
PPTX
Endless runner game in unreal engine 4
PDF
Alexey Savchenko, Unreal Engine
PPTX
Unreal Engine (For Creating Games) Presentation
PDF
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
PDF
Game Programming - Cloud Development
PDF
Project Soundtracks - Competitors Assessment + Roadmap
PDF
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
PPTX
Making HTML5 Games with Phaser
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
GDCE 2015: Blueprint Components to C++
East Coast DevCon 2014: The Slate UI Framework - Architecture & Tools
Plug-ins & Third-Party SDKs in UE4
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
West Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
From Unity3D to Unreal Engine 4
Future of unreal
Unreal Engine 4 Introduction
Endless runner game in unreal engine 4
Alexey Savchenko, Unreal Engine
Unreal Engine (For Creating Games) Presentation
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
Game Programming - Cloud Development
Project Soundtracks - Competitors Assessment + Roadmap
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
Making HTML5 Games with Phaser
Ad

Similar to West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the Editor (20)

PPTX
UnrealEngine_4_hackathon
PPTX
Luis Catald IGDA Sept 2015
PPTX
On Ramp to Unreal Engine
PPTX
Migrating to real time - Learning Unreal Engine 4
PDF
Unreal Engine Basics 01 - Game Framework
PPTX
Making VR with Unreal Engine Luis Cataldi
PDF
Unreal Open Day 2017 Unreal Engine Education & Training
PPTX
Intro to VR with Unreal Engine
PPTX
Luis cataldi-siggraph 2015
PPTX
Rocket Editor (Recovered).pptx
PPTX
Intro to unreal with framework and vr
PDF
IRJET- Technical Graphic Showcase
PPTX
Unreal Engine.pptx
PDF
BYOD: Build Your First VR Experience with Unreal Engine
PDF
nCine - A World With Custom In-house Engines Is Possible.pdf
PDF
Unreal Engine Basics 02 - Unreal Editor
PPTX
Making VR games and experiences in Unreal Engine
PPTX
What is 3 d modeling unit 66
PPTX
Introduction to Game Engine: Concepts & Components
PDF
Intro to Game Engines & UE5 lesson lecture.pdf
UnrealEngine_4_hackathon
Luis Catald IGDA Sept 2015
On Ramp to Unreal Engine
Migrating to real time - Learning Unreal Engine 4
Unreal Engine Basics 01 - Game Framework
Making VR with Unreal Engine Luis Cataldi
Unreal Open Day 2017 Unreal Engine Education & Training
Intro to VR with Unreal Engine
Luis cataldi-siggraph 2015
Rocket Editor (Recovered).pptx
Intro to unreal with framework and vr
IRJET- Technical Graphic Showcase
Unreal Engine.pptx
BYOD: Build Your First VR Experience with Unreal Engine
nCine - A World With Custom In-house Engines Is Possible.pdf
Unreal Engine Basics 02 - Unreal Editor
Making VR games and experiences in Unreal Engine
What is 3 d modeling unit 66
Introduction to Game Engine: Concepts & Components
Intro to Game Engines & UE5 lesson lecture.pdf
Ad

Recently uploaded (20)

PDF
medical staffing services at VALiNTRY
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Nekopoi APK 2025 free lastest update
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
AI in Product Development-omnex systems
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
System and Network Administration Chapter 2
PDF
System and Network Administraation Chapter 3
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
L1 - Introduction to python Backend.pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Essential Infomation Tech presentation.pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
medical staffing services at VALiNTRY
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Nekopoi APK 2025 free lastest update
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
2025 Textile ERP Trends: SAP, Odoo & Oracle
AI in Product Development-omnex systems
Which alternative to Crystal Reports is best for small or large businesses.pdf
System and Network Administration Chapter 2
System and Network Administraation Chapter 3
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Design an Analysis of Algorithms I-SECS-1021-03
L1 - Introduction to python Backend.pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Operating system designcfffgfgggggggvggggggggg
Essential Infomation Tech presentation.pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Odoo Companies in India – Driving Business Transformation.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx

West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the Editor

  • 1. Extensibility in UE4 Customizing Your Games and the Editor Gerke Max Preussner max.preussner@epicgames.com
  • 2. Why Do We Want Extensibility? Custom Requirements • Features that are too specific to be included in UE4 • Features that UE4 does not provide out of the box Third Party Technologies • Features owned and maintained by other providers • Scaleform, SpeedTree, CoherentUI, etc. Flexibility & Maintainability • More modular code base • Easier prototyping of new features
  • 3. How To Extend The Engine General Games Editor Plug-ins UE3: Engine Code Changes • Only accessible to licensees • Required deep understanding of code base • Merging Engine updates was tedious UE4: Extensibility APIs • Modules, plug-ins, C++ interfaces • Native code accessible to everyone • Also supports non-programmers
  • 4. How To Extend The Engine General Games Editor Plug-ins Blueprint Construction Scripts • Blueprints as macros to create & configure game objects • Activated when an object is created in Editor or game • Check out our excellent tutorials on YouTube!
  • 6. How To Extend The Engine General Games Editor Plug-ins Details View Customization • Change the appearance of your types in the Details panel • Customize per class, or per property • Inject, modify, replace, or remove property entries Menu Extenders • Inject your own options into the Editor’s main menus Tab Manager • Register your own UI tabs • Allows for adding entirely new tools and features
  • 7. Default Appearance Detail Customizations
  • 8. How To Extend The Engine General Games Editor Plug-ins Blutilities • Blueprints for the Editor! • No C++ programming required • Can fire off events that effect the Editor • Currently experimental, but already working • Scheduled for 4.5 (may change)
  • 10. How To Extend The Engine General Games Editor Plug-ins Overview • Extend the Engine, the Editor, or both • Are completely self contained • Can be enabled and disabled per project • Everything should be a plug-in! Examples • BlankPlugin, UObjectPlugin – Use these to start coding • Perforce & Subversion support for the Editor • Oculus Rift support • Movie players, Twitch Live Streaming, Slate Remote • And many more!
  • 12. How To Extend The Engine General Games Editor Plug-ins All Plug-ins • Will be loaded automatically on startup (if enabled) • Most not be dependencies of the Engine or other plug-ins Plug-ins with Code • Have their own ‘Source’, ‘Binaries’, ‘Intermediates’ folders • Can have one or more code modules • May declare new UObject and UStruct types • Seldom have Public header files in modules Plug-ins with Content • Have their own ‘Content’ folder • Configuration files (INIs) not supported yet
  • 13. How To Extend The Engine General Games Editor Plug-ins Descriptor Files (.uplugin) { "FileVersion" : 3, "FriendlyName" : "Paper2D", "Version" : 1, "VersionName" : "1.0", "CreatedBy" : "Epic Games, Inc.", "CreatedByURL" : "http://epicgames.com", "EngineVersion" : "4.2.0", "Description" : "[EARLY ACCESS PREVIEW] Paper2D.", "Category" : "2D.Helpers", "EnabledByDefault" : true, "Modules" : [ // module definitions omitted ], "CanContainContent" : true }
  • 15. Vertex Snapping, Ocean Surface, Rollercoaster More on the Wiki!
  • 16. Questions? Documentation, Tutorials and Help at: • AnswerHub: • Engine Documentation: • Official Forums: • Community Wiki: • YouTube Videos: • Community IRC: Unreal Engine 4 Roadmap • lmgtfy.com/?q=Unreal+engine+Trello+ http://answers.unrealengine.com http://docs.unrealengine.com http://forums.unrealengine.com http://wiki.unrealengine.com http://www.youtube.com/user/UnrealDevelopmentKit #unrealengine on FreeNode

Editor's Notes

  • #2: Prepared and presented by Gerke Max Preussner for West Coast MiniDevCon 2014, July 21-24th Email max.preussner@epicgames.com in case of comments, questions or suggestions or visit our AnswerHub at http://answers.unrealengine.com
  • #3: So, why do we want extensibility in the first place? Unreal Engine 4 is an extremely powerful toolset for game developers that ships with many features out of the box. However, many developers have special requirements that may require custom solutions. We also want to allow other companies to integrate their own specialized tools into our Engine.
  • #4: In Unreal Engine 3 and earlier, licensees had to change the Engine code directly in their own code branch. Of course, that brought all kinds of problems with it, and UDK users could not make changes at all. In Unreal Engine 4 we have a number of extensibility APIs. They are still pretty new, but already work and are continuously being improved.
  • #5: When it comes to games, Blueprint Construction Scripts are a great way for procedurally creating and configuring game objects. This is quite a large topic, and if you joined our Blueprint related talks today, you already know how they work and what they can do. Otherwise, check out our tutorials on YouTube!
  • #6: Here you can see a screenshot of a spline based road editing tool that was built entirely using Blueprint Construction Scripts by one of our technical artists.
  • #7: The Editor provides various APIs to add your own features and modify existing ones. The most frequently used ones are Details View Customization, Menu Extenders and the Tab Manager. Unfortunately, I don’t have the time today to go into programming details. Please take a look at the various examples in our code base!
  • #8: Let’s take a closer look at Detail Customization, which is used heavily in Unreal Editor. The Details Panel will generate a default appearance for all properties, but often those are not user friendly. With Detail Customization you can completely override how each property will be shown to the user.
  • #9: The Editor can also be extended with Blueprints, which do not require any C++ programming. With the so called Blutilities you can add entire new features to the Editor. Our technical artists have already built some great tools with it, and there will be more to come.
  • #10: Here are some examples of tools that were built entirely using Editor Blueprints.
  • #11: Plug-ins are the most powerful way to extend the Engine. They are completely self contained packages of code and/or content that can be enabled on a per project basis. The Engine ships with a number of plug-ins, including some templates that you can use as a starting point. Our Editor uses more and more plug-ins to implement its features, and ideally nearly everything would be a plug-in at some point, but we’re not quite there yet.
  • #12: Plugins can be located inside the Engine directory or inside your game project’s directory. Engine plug-ins will be shared between the Editor and all your projects. Project plug-ins only apply to the particular project. The Plugin Manager in the Editor allows users to see which plug-ins are currently installed.
  • #13: Plug-ins can have code or content or both. They will be loaded automatically by the Engine, if enabled. Content plug-ins are still work in progress and require some special care. Please visit our online documentation to learn more about the various plug-ins types.
  • #14: All plug-ins require a descriptor file to be present in their root directory. This file contains meta data that is used by the Engine and the Editor for managing and loading the plug-in. The example shown here shows the descriptor file of the Paper2D plug-in, which consists of multiple modules. Each module can be configured independently, but I have omitted the details to keep things readable.
  • #15: Paper2D is actually a completely new Editor tool that has been implemented entirely as a plug-in! It includes complex features, such as 2D spline & collision editing, custom view ports, and flipbook animation.
  • #16: We are also starting to see a number of plug-ins developed by the community. Check out the Community Wiki for examples and tutorials.
  • #17: Make sure to check out our extensive documentation on the internet!