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

Gerke Max Preussner
Gerke Max PreussnerVideo Game Developer at Epic Games
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!
East 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
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!
East 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
}
East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the Editor
Vertex Snapping, Ocean Surface, Rollercoaster
More on the Wiki!
Demo
Building a C++ plug-in in Visual Studio…
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
1 of 17

Recommended

West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4 by
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4Gerke Max Preussner
1.1K views18 slides
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the... by
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...
West Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...Gerke Max Preussner
1.1K views16 slides
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro... by
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
East Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...Gerke Max Preussner
1.7K views23 slides
Plug-ins & Third-Party SDKs in UE4 by
Plug-ins & Third-Party SDKs in UE4Plug-ins & Third-Party SDKs in UE4
Plug-ins & Third-Party SDKs in UE4Gerke Max Preussner
11K views75 slides
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4 by
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4
East Coast DevCon 2014: Engine Overview - A Programmer’s Glimpse at UE4Gerke Max Preussner
1.1K views20 slides
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t... by
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...Gerke Max Preussner
12.7K views138 slides

More Related Content

What's hot

East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders by
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersEast Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersGerke Max Preussner
1.5K views24 slides
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi... by
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...Gerke Max Preussner
2.7K views17 slides
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi... by
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...Gerke Max Preussner
1.3K views17 slides
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure by
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureWest Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureGerke Max Preussner
2K views17 slides
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction by
West Coast DevCon 2014: The Slate UI Framework (Part 1) - IntroductionWest Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
West Coast DevCon 2014: The Slate UI Framework (Part 1) - IntroductionGerke Max Preussner
2.1K views18 slides
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo... by
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...Gerke Max Preussner
2K views22 slides

What's hot(20)

East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders by Gerke Max Preussner
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersEast Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
Gerke Max Preussner1.5K views
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi... by Gerke Max Preussner
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
Gerke Max Preussner2.7K views
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi... by Gerke Max Preussner
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
West Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...
Gerke Max Preussner1.3K views
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure by Gerke Max Preussner
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureWest Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & Infrastructure
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction by Gerke Max Preussner
West Coast DevCon 2014: The Slate UI Framework (Part 1) - IntroductionWest Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
West Coast DevCon 2014: The Slate UI Framework (Part 1) - Introduction
Gerke Max Preussner2.1K views
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo... by Gerke Max Preussner
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro... by Gerke Max Preussner
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
West Coast DevCon 2014: Game Programming in UE4 - Game Framework & Sample Pro...
Gerke Max Preussner1.5K views
East Coast DevCon 2014: The Slate UI Framework - Architecture & Tools by Gerke Max Preussner
East Coast DevCon 2014: The Slate UI Framework - Architecture & ToolsEast Coast DevCon 2014: The Slate UI Framework - Architecture & Tools
East Coast DevCon 2014: The Slate UI Framework - Architecture & Tools
Gerke Max Preussner2.5K views
West Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders by Gerke Max Preussner
West Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersWest Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
West Coast DevCon 2014: Programming in UE4 - A Quick Orientation for Coders
From Unity3D to Unreal Engine 4 by Martin Pernica
From Unity3D to Unreal Engine 4From Unity3D to Unreal Engine 4
From Unity3D to Unreal Engine 4
Martin Pernica5.8K views
Future of unreal by Ning Hu
Future of unreal Future of unreal
Future of unreal
Ning Hu842 views
Unreal Engine 4 Introduction by Sperasoft
Unreal Engine 4 IntroductionUnreal Engine 4 Introduction
Unreal Engine 4 Introduction
Sperasoft7.9K views
Endless runner game in unreal engine 4 by Vasilis Kamakaris
Endless runner game in unreal engine 4Endless runner game in unreal engine 4
Endless runner game in unreal engine 4
Vasilis Kamakaris1.8K views
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014 by Murat Gürel
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 20142D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
2D Endless Runner in Unity for Mobile - GDG DevFest Istanbul 2014
Murat Gürel2.7K views
Unreal Engine (For Creating Games) Presentation by Nitin Sharma
Unreal Engine (For Creating Games) PresentationUnreal Engine (For Creating Games) Presentation
Unreal Engine (For Creating Games) Presentation
Nitin Sharma5.7K views
Developing Success in Mobile with Unreal Engine 4 | David Stelzer by Jessica Tams
Developing Success in Mobile with Unreal Engine 4 | David StelzerDeveloping Success in Mobile with Unreal Engine 4 | David Stelzer
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
Jessica Tams1.2K views
Project Soundtracks - Competitors Assessment + Roadmap by Levente Dudas
Project Soundtracks - Competitors Assessment + RoadmapProject Soundtracks - Competitors Assessment + Roadmap
Project Soundtracks - Competitors Assessment + Roadmap
Levente Dudas29 views
Game Programming - Cloud Development by Nick Pruehs
Game Programming - Cloud DevelopmentGame Programming - Cloud Development
Game Programming - Cloud Development
Nick Pruehs490 views
Game Architecture with Scriptable Objects by Ryan Hipple
Game Architecture with Scriptable ObjectsGame Architecture with Scriptable Objects
Game Architecture with Scriptable Objects
Ryan Hipple11.1K views

Similar to East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the Editor

Top 10 python ide by
Top 10 python ideTop 10 python ide
Top 10 python ideSaravanakumar viswanathan
153 views13 slides
Continuous Integration by
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
123 views38 slides
Unreal Engine Basics 01 - Game Framework by
Unreal Engine Basics 01 - Game FrameworkUnreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game FrameworkNick Pruehs
741 views53 slides
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro by
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProWorking with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProBIWUG
332 views35 slides
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench by
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
220 views37 slides
Introduction to python history and platforms by
Introduction to python history and platformsIntroduction to python history and platforms
Introduction to python history and platformsKirti Verma
20 views22 slides

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

Continuous Integration by XPDays
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays123 views
Unreal Engine Basics 01 - Game Framework by Nick Pruehs
Unreal Engine Basics 01 - Game FrameworkUnreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game Framework
Nick Pruehs741 views
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro by BIWUG
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProWorking with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
BIWUG332 views
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench by Howard Greenberg
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg220 views
Introduction to python history and platforms by Kirti Verma
Introduction to python history and platformsIntroduction to python history and platforms
Introduction to python history and platforms
Kirti Verma20 views
Using articulate for creating online presentations by Anuj Kapoor
Using articulate for creating online presentationsUsing articulate for creating online presentations
Using articulate for creating online presentations
Anuj Kapoor1.6K views
Analyze Your Code With Visual Studio 2015 Diagnostic Tools by Ken Cenerelli
Analyze Your Code With Visual Studio 2015 Diagnostic ToolsAnalyze Your Code With Visual Studio 2015 Diagnostic Tools
Analyze Your Code With Visual Studio 2015 Diagnostic Tools
Ken Cenerelli640 views
Programming tools for developers by BBVA API Market
Programming tools for developersProgramming tools for developers
Programming tools for developers
BBVA API Market1.1K views
Adopting agile in an embedded platform Suryakiran Kasturi & Akhil Kumar by XP Conference India
Adopting agile in an embedded platform  Suryakiran Kasturi & Akhil KumarAdopting agile in an embedded platform  Suryakiran Kasturi & Akhil Kumar
Adopting agile in an embedded platform Suryakiran Kasturi & Akhil Kumar
[Webinar] An Introduction to the Yocto Embedded Framework by ICS
[Webinar] An Introduction to the Yocto Embedded Framework[Webinar] An Introduction to the Yocto Embedded Framework
[Webinar] An Introduction to the Yocto Embedded Framework
ICS1.6K views
Kubernetes Robotics Edge Cluster System by Tomoya Fujita
Kubernetes Robotics Edge Cluster SystemKubernetes Robotics Edge Cluster System
Kubernetes Robotics Edge Cluster System
Tomoya Fujita496 views
Build software like a bag of marbles, not a castle of LEGO® by Hannes Lowette
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette142 views
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten by NCCOMMS
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas VochtenO365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
O365Con18 - Working with PowerShell, VS Code and GitHub - Thomas Vochten
NCCOMMS161 views
Beyond Domino Designer by Paul Withers
Beyond Domino DesignerBeyond Domino Designer
Beyond Domino Designer
Paul Withers1.8K views

Recently uploaded

University of Borås-full talk-2023-12-09.pptx by
University of Borås-full talk-2023-12-09.pptxUniversity of Borås-full talk-2023-12-09.pptx
University of Borås-full talk-2023-12-09.pptxMahdi_Fahmideh
12 views51 slides
Supercharging your Python Development Environment with VS Code and Dev Contai... by
Supercharging your Python Development Environment with VS Code and Dev Contai...Supercharging your Python Development Environment with VS Code and Dev Contai...
Supercharging your Python Development Environment with VS Code and Dev Contai...Dawn Wages
5 views51 slides
The Path to DevOps by
The Path to DevOpsThe Path to DevOps
The Path to DevOpsJohn Valentino
6 views6 slides
Google Solutions Challenge 2024 Talk pdf by
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdfMohdAbdulAleem4
34 views17 slides
Automated Testing of Microsoft Power BI Reports by
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI ReportsRTTS
11 views20 slides
Playwright Retries by
Playwright RetriesPlaywright Retries
Playwright Retriesartembondar5
7 views1 slide

Recently uploaded(20)

University of Borås-full talk-2023-12-09.pptx by Mahdi_Fahmideh
University of Borås-full talk-2023-12-09.pptxUniversity of Borås-full talk-2023-12-09.pptx
University of Borås-full talk-2023-12-09.pptx
Mahdi_Fahmideh12 views
Supercharging your Python Development Environment with VS Code and Dev Contai... by Dawn Wages
Supercharging your Python Development Environment with VS Code and Dev Contai...Supercharging your Python Development Environment with VS Code and Dev Contai...
Supercharging your Python Development Environment with VS Code and Dev Contai...
Dawn Wages5 views
Google Solutions Challenge 2024 Talk pdf by MohdAbdulAleem4
Google Solutions Challenge 2024 Talk pdfGoogle Solutions Challenge 2024 Talk pdf
Google Solutions Challenge 2024 Talk pdf
MohdAbdulAleem434 views
Automated Testing of Microsoft Power BI Reports by RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS11 views
Introduction to Git Source Control by John Valentino
Introduction to Git Source ControlIntroduction to Git Source Control
Introduction to Git Source Control
John Valentino8 views
Understanding HTML terminology by artembondar5
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminology
artembondar58 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert35 views
Mobile App Development Company by Richestsoft
Mobile App Development CompanyMobile App Development Company
Mobile App Development Company
Richestsoft 5 views
predicting-m3-devopsconMunich-2023-v2.pptx by Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app14 views
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254559 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic16 views
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by Stefan Wolpers
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
Stefan Wolpers44 views
Transport Management System - Shipment & Container Tracking by Freightoscope
Transport Management System - Shipment & Container TrackingTransport Management System - Shipment & Container Tracking
Transport Management System - Shipment & Container Tracking
Freightoscope 6 views

East 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
  • 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. Demo Building a C++ plug-in in Visual Studio…
  • 17. 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

  1. Prepared and presented by Gerke Max Preussner for East Coast MiniDevCon 2014, November 12-13th Email max.preussner@epicgames.com in case of comments, questions or suggestions or visit our AnswerHub at http://answers.unrealengine.com
  2. 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.
  3. 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.
  4. 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 join our Blueprint related talks today, you already know how they work and what they can do. Otherwise, check out our tutorials on YouTube!
  5. 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.
  6. 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!
  7. Here is an example of Detail Customizations, which are 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.
  8. 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.
  9. Here are some examples of tools that were built entirely using Editor Blueprints.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. We are also starting to see a number of plug-ins developed by the community. Check out the Community Wiki for examples and tutorials.
  16. [Widget Reflector Demo]
  17. Make sure to check out our extensive documentation on the internet!