East Coast DevCon 2014: Concurrency & Parallelism in UE4 - Tips for programmi...Gerke Max Preussner
This document discusses concurrency and parallelism techniques in Unreal Engine 4 (UE4). It covers synchronization primitives like atomics, locking, signaling, and waiting. It also discusses high level constructs like thread-safe containers and helpers. For parallelization, it discusses threading using runnables, task graphs, processes, and messaging. The goal is to provide tips for programming UE4 to take advantage of multiple CPU cores.
West Coast DevCon 2014: Engine Overview - A Programmers Glimpse at UE4Gerke Max Preussner
This document provides an overview of the Unreal Engine, including its directory structure, configuration files, modular design, and project templates. It describes the main directories for code, content, binaries, and more. Configuration is handled through INI files in a hierarchy. The engine uses a modular design to promote reusability, extensibility, and decoupling. Common module types include runtime, editor, plugins, and programs. Project templates help users get started with genres like shooters, side scrollers, and more.
Overview of the basics of modules, plug-ins and projects in UE4, and a deep dive into integrating third-party dependencies. Presented at MIGS 2016 in Montreal.
East Coast DevCon 2014: Extensibility in UE4 - Customizing Your Games and the...Gerke Max Preussner
This document discusses extensibility in Unreal Engine 4 (UE4) through custom plugins. It explains that plugins allow customizing games and the editor for specific needs not supported out of the box by UE4. Plugins can extend both the engine and editor through C++ code, blueprints, UI customization, and more. The document provides examples of how to build plugins and highlights plugins for VR support, movie playback, and integration with source control software.
West Coast DevCon 2014: The Slate UI Framework (Part 1) - IntroductionGerke Max Preussner
Overview of the Slate user interface framework and low-level UI capabilities in Unreal Engine 4. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
West Coast DevCon 2014: Build Automation - Epic’s Build Tools & InfrastructureGerke Max Preussner
Overview of build tools, build automation, source code management and automated testing infrastructure at Epic Games. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersGerke Max Preussner
Overview of basic concepts and common blockers when programming for Unreal Engine 4. Presented at East Coast Unreal Engine DevCon 2014 in Montreal and Boston.
West Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersGerke Max Preussner
Overview of basic concepts and common blockers when programming for Unreal Engine 4. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
Introductory slides for our live coding demonstration at GDC Europe on August 4th, 2015. We are creating a hover component in Blueprint and converting it to a C++ plug-in. The corresponding Visual Studio project files are available at https://headcrash.industries/vault/presentations/gdc-europe/
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)Gerke Max Preussner
Overview on creating code projects and plug-ins, and introduction on how to add new asset types to UE4 and customize their look & feel via asset actions and custom asset editors. The corresponding source code is available at https://headcrash.industries/vault/presentations/fmx/
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...Gerke Max Preussner
A high-level overview of Unreal Engine 4, its game framework, the Slate user interface library, Unreal Motion Graphics, and Editor and Engine extensibility. Presented at GDC Europe in Cologne, Germany.
Also includes bonus slides on concurrency and parallelism features, general tips for programmers and Epic's build and automation infrastructure.
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...Gerke Max Preussner
Overview of the Unreal Motion Graphics (UMG) framework in Unreal Engine 4. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
East Coast DevCon 2014: The Slate UI Framework - Architecture & ToolsGerke Max Preussner
The document discusses the Slate UI framework in Unreal Engine, which provides tools for building user interfaces. It is written in C++ and works across platforms. Slate includes a widget library, tools for styling and input handling, and allows composing UI hierarchies through declarative syntax. It is used for interfaces like the Unreal Editor, games, and other applications. The document also covers Slate architecture, concepts, and provides an example of a custom button widget.
Martin Pernica presented his experience moving from Unity3D to Unreal Engine 4 as an indie game studio. Some key reasons for the switch were UE4's lower monthly subscription costs, the ability to continue using the engine after canceling a subscription, and UE4's built-in tools for visual scripting and material editing that improved the workflow between designers and programmers. UE4 also provided better visual quality out of the box and access to the source code allowed for customization and hotfixes.
This document provides an overview of Unreal Engine 4 (UE4) and summarizes its features for game and app development. It covers UE4 project setup, game logic creation tools like Blueprints that improved on UE3 tools, a new UI system called Slate, automation testing capabilities, physically based materials, mobile development support across platforms, performance optimization techniques, and content creation guidelines.
This document provides an overview of an endless runner game called Treasure Dungeon that was developed in Unreal Engine 4. It discusses what Unreal Engine 4 and Fuse are, the methodology used for game development, samples from the development process, testing, and conclusions. The game's goal is for the player to run endlessly and collect coins while avoiding obstacles as a character created using Fuse. Development steps included creating the character, gameplay, courses, obstacles, and items. The beta version was completed but corners presented problems and were excluded from the final version.
This lecture is an overview for the topics that will be covered in the course along with some course logistics
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
This document provides an overview and introduction to XNA game development. It discusses the XNA framework and content pipeline for loading textures, audio, and other game assets. It also explains the typical lifecycle methods like Initialize, LoadContent, UnloadContent, Update, and Draw that are used in the main Game1 class. References are provided for books, tutorials, and the author's own game projects and publications related to XNA.
The document provides tips for optimizing Unity games to improve CPU and memory performance. It discusses optimizing transforms by collecting updates and using SetPositionAndRotation, optimizing animators by reordering data and removing extra transforms, optimizing physics by reducing collider complexity and raycast distance, and optimizing memory by reducing texture sizes, removing duplicate assets, and marking textures as non-readable.
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel ZikmundKarel Zikmund
This document summarizes the challenges of managing the .NET CoreFX repository. It discusses that the repo contains the base class libraries for .NET Core, is maintained by around 40 Microsoft engineers, and receives hundreds of issues and pull requests monthly. It outlines tools used to manage the large repo and process for evaluating new APIs and code changes. It also discusses efforts to improve communication and involvement with external contributors on issues like onboarding, unclear issues, and driving consensus.
.NET MeetUp Prague 2017 - .NET Standard -- Karel ZikmundKarel Zikmund
The document discusses .NET Standard, which is a specification that defines a set of APIs that all .NET platforms must implement. This allows code written for one platform using those APIs to work seamlessly across all other platforms that support the same .NET Standard version. The document outlines the different versions of .NET Standard and shows which platforms support each version. It emphasizes that .NET Standard is for libraries, while applications should target specific platforms like .NET Core or Xamarin. The document also provides an overview of .NET Core and its key advantages like being cross-platform, unified, fast, modern, open source and lightweight.
The document discusses best practices for building and packaging compiled applications across different platforms. It recommends setting up a build server like Jenkins to enable reproducible builds. Built artifacts should be backed up, such as copying to S3. The document also discusses using tools like chroot, mock, and pbuilder to build in clean environments. It recommends static linking of dependencies where possible and capturing debug symbols to aid in debugging. Automated testing of install/uninstall and correctness is also recommended to catch errors on supported platforms.
Sencha Tooling and Framework brings enterprise-grade development tools to Ext JS including visual application builders, theme designers, and debugging tools to help developers quickly build performant and beautiful applications. The document demonstrates using Sencha Architect to visually build a news application, and highlights new features in Architect 4.1 like support for premium components, grid enhancements, and importing themes from Themer. Sencha's tools help developers improve productivity and adopt Ext JS frameworks easily.
East Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersGerke Max Preussner
Overview of basic concepts and common blockers when programming for Unreal Engine 4. Presented at East Coast Unreal Engine DevCon 2014 in Montreal and Boston.
West Coast DevCon 2014: Programming in UE4 - A Quick Orientation for CodersGerke Max Preussner
Overview of basic concepts and common blockers when programming for Unreal Engine 4. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
Introductory slides for our live coding demonstration at GDC Europe on August 4th, 2015. We are creating a hover component in Blueprint and converting it to a C++ plug-in. The corresponding Visual Studio project files are available at https://headcrash.industries/vault/presentations/gdc-europe/
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)Gerke Max Preussner
Overview on creating code projects and plug-ins, and introduction on how to add new asset types to UE4 and customize their look & feel via asset actions and custom asset editors. The corresponding source code is available at https://headcrash.industries/vault/presentations/fmx/
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...Gerke Max Preussner
A high-level overview of Unreal Engine 4, its game framework, the Slate user interface library, Unreal Motion Graphics, and Editor and Engine extensibility. Presented at GDC Europe in Cologne, Germany.
Also includes bonus slides on concurrency and parallelism features, general tips for programmers and Epic's build and automation infrastructure.
West Coast DevCon 2014: The Slate UI Framework (Part 2) - Game UI & Unreal Mo...Gerke Max Preussner
Overview of the Unreal Motion Graphics (UMG) framework in Unreal Engine 4. Presented at West Coast Unreal Engine DevCon 2014 in San Francisco and Seattle.
East Coast DevCon 2014: The Slate UI Framework - Architecture & ToolsGerke Max Preussner
The document discusses the Slate UI framework in Unreal Engine, which provides tools for building user interfaces. It is written in C++ and works across platforms. Slate includes a widget library, tools for styling and input handling, and allows composing UI hierarchies through declarative syntax. It is used for interfaces like the Unreal Editor, games, and other applications. The document also covers Slate architecture, concepts, and provides an example of a custom button widget.
Martin Pernica presented his experience moving from Unity3D to Unreal Engine 4 as an indie game studio. Some key reasons for the switch were UE4's lower monthly subscription costs, the ability to continue using the engine after canceling a subscription, and UE4's built-in tools for visual scripting and material editing that improved the workflow between designers and programmers. UE4 also provided better visual quality out of the box and access to the source code allowed for customization and hotfixes.
This document provides an overview of Unreal Engine 4 (UE4) and summarizes its features for game and app development. It covers UE4 project setup, game logic creation tools like Blueprints that improved on UE3 tools, a new UI system called Slate, automation testing capabilities, physically based materials, mobile development support across platforms, performance optimization techniques, and content creation guidelines.
This document provides an overview of an endless runner game called Treasure Dungeon that was developed in Unreal Engine 4. It discusses what Unreal Engine 4 and Fuse are, the methodology used for game development, samples from the development process, testing, and conclusions. The game's goal is for the player to run endlessly and collect coins while avoiding obstacles as a character created using Fuse. Development steps included creating the character, gameplay, courses, obstacles, and items. The beta version was completed but corners presented problems and were excluded from the final version.
This lecture is an overview for the topics that will be covered in the course along with some course logistics
Check the other Lectures and courses in
http://Linux4EnbeddedSystems.com
or Follow our Facebook Group at
- Facebook: @LinuxforEmbeddedSystems
Lecturer Profile:
- https://www.linkedin.com/in/ahmedelarabawy
This document provides an overview and introduction to XNA game development. It discusses the XNA framework and content pipeline for loading textures, audio, and other game assets. It also explains the typical lifecycle methods like Initialize, LoadContent, UnloadContent, Update, and Draw that are used in the main Game1 class. References are provided for books, tutorials, and the author's own game projects and publications related to XNA.
The document provides tips for optimizing Unity games to improve CPU and memory performance. It discusses optimizing transforms by collecting updates and using SetPositionAndRotation, optimizing animators by reordering data and removing extra transforms, optimizing physics by reducing collider complexity and raycast distance, and optimizing memory by reducing texture sizes, removing duplicate assets, and marking textures as non-readable.
.NET MeetUp Prague 2017 - Challenges of Managing CoreFX repo -- Karel ZikmundKarel Zikmund
This document summarizes the challenges of managing the .NET CoreFX repository. It discusses that the repo contains the base class libraries for .NET Core, is maintained by around 40 Microsoft engineers, and receives hundreds of issues and pull requests monthly. It outlines tools used to manage the large repo and process for evaluating new APIs and code changes. It also discusses efforts to improve communication and involvement with external contributors on issues like onboarding, unclear issues, and driving consensus.
.NET MeetUp Prague 2017 - .NET Standard -- Karel ZikmundKarel Zikmund
The document discusses .NET Standard, which is a specification that defines a set of APIs that all .NET platforms must implement. This allows code written for one platform using those APIs to work seamlessly across all other platforms that support the same .NET Standard version. The document outlines the different versions of .NET Standard and shows which platforms support each version. It emphasizes that .NET Standard is for libraries, while applications should target specific platforms like .NET Core or Xamarin. The document also provides an overview of .NET Core and its key advantages like being cross-platform, unified, fast, modern, open source and lightweight.
The document discusses best practices for building and packaging compiled applications across different platforms. It recommends setting up a build server like Jenkins to enable reproducible builds. Built artifacts should be backed up, such as copying to S3. The document also discusses using tools like chroot, mock, and pbuilder to build in clean environments. It recommends static linking of dependencies where possible and capturing debug symbols to aid in debugging. Automated testing of install/uninstall and correctness is also recommended to catch errors on supported platforms.
Sencha Tooling and Framework brings enterprise-grade development tools to Ext JS including visual application builders, theme designers, and debugging tools to help developers quickly build performant and beautiful applications. The document demonstrates using Sencha Architect to visually build a news application, and highlights new features in Architect 4.1 like support for premium components, grid enhancements, and importing themes from Themer. Sencha's tools help developers improve productivity and adopt Ext JS frameworks easily.
Visual studio 2012 - What's in it for me?Jeff Bramwell
Visual Studio 2010 was released two years ago. Since then Microsoft was working hard to deliver Visual Studio "11" and Team Foundation Server "11". This session will take a look at the myriad features that have been incorporated into the latest version of Visual Studio and Team Foundation Server including some great planning features, Team Foundation Service (on Windows Azure), a revamped look and feel for Visual Studio, and more. Some of these features are also available for use within Visual Studio 2010 if you know where to look. If you want to get an overview of what's new in Visual Studio "11", then check out this session. ***NOTE: "Visual Studio 11" and "Team Foundation Server 11" are code names. The official name will be announced in the near future. At that time, I will need to modify the names within the description.
This document provides an overview of Android application development. It introduces key concepts like the Android system architecture with multiple application components running on top of an Linux kernel. It demonstrates a simple "Hello World" application and covers major application components like Activities, Services, BroadcastReceivers and ContentProviders. It also discusses practical matters like storage, packaging, resources and application lifecycle. Finally, it introduces the Android development toolchain including the emulator, Eclipse plugin and debugging tools.
The document discusses various topics related to software development security including programming concepts, compilers and interpreters, procedural vs object-oriented programming, application development methods like waterfall vs agile, database security concepts, and assessing software vulnerabilities. It provides an overview of machine code, source code, and assembly language. It also describes compilers and interpreters, top-down vs bottom-up programming, open source vs proprietary software, and the software development lifecycle (SDLC) process.
This chapter discusses software development security. It covers topics like programming concepts, compilers and interpreters, procedural vs object-oriented languages, application development methods like waterfall vs agile models, databases, object-oriented design, assessing software vulnerabilities, and artificial intelligence techniques. The key aspects are securing the entire software development lifecycle from initial planning through operation and disposal, using secure coding practices, testing for vulnerabilities, and continually improving processes.
Eclipse Hawk provides scalable querying of models by indexing them into graph databases. It addresses challenges of collaborative modeling on large systems by distributed teams. The Hawk API is designed for flexibility, performance, and scalability through features like multiple communication styles, efficient encodings, and paged results.
Dot net Online Training | .Net Training and Placement onlineGaruda Trainings
The .NET Framework is a software framework, developed by Microsoft that was primarily intended to run on Windows operating system. Microsoft started developing it since late 1990’s and its first beta version was released in the end of 2000, however its first commercial version was released in the year of 2002. Wide genres of applications can be developed using .NET framework and it is hugely popular in the IT market currently.
P2Cinfotech is one of the leading, Online IT Training facilities and Job Consultant, spread all over the world. We have successfully conducted online classes on various Software Technologies that are currently in Demand. To name a few, we provide quality online training for QA, QTP, Manual Testing, HP LoadRunner, BA, Java Technologies.
Unique Features of P2Cinfotech:
1. All online software Training Batches will Be handled by Real time working Professionals only.
2. Live online training like Real time face to face, Instructor ? student interaction.
3. Good online training virtual class room environment.
4. Special Exercises and Assignments to make you self-confident on your course subject.
5. Interactive Sessions to update students with latest Developments on the particular course.
6. Flexible Batch Timings and proper timetable.
7. Affordable, decent and Flexible fee structure.
8. Extended Technical assistance even after completion of the course.
9. 100% Job Assistance and Guidance.
Courses What we cover:
Quality Assurance
Business Analsis
QTp
JAVA
Apps Devlepoment Training
Register for Free DEMO:
www.p2cinfotech.com [email protected] +1-732-546-3607 (USA)
Embedded systems have tightly coupled hardware and software that perform dedicated functions within a larger system. Real-time systems must meet timing deadlines, with hard real-time systems requiring near-zero flexibility and soft real-time systems tolerating some flexibility. The development process for embedded systems involves compiling and linking code on a host system into an executable image that is stored on the target system. The linker combines object files and maps sections like text and data to memory areas defined for the target system.
CISSP Prep: Ch 9. Software Development SecuritySam Bowne
The document discusses various topics related to software development security including programming concepts, compilers and interpreters, procedural vs object-oriented programming, software development lifecycles, agile development methods, database security, and object-oriented design. It also covers assessing software security through vulnerabilities, maturity models, and testing as well as artificial intelligence techniques.
- Entity Framework 7.0 is a lean and composable framework distributed via NuGet packages that does not require the full .NET Framework. It supports additional data stores and is designed to be cross-platform.
- Some missing features in EF Core 1.0 include stored procedures, table valued functions, and complex types. The speaker will demonstrate EF Core.
- The presentation discusses the past, present, and future of Entity Framework and .NET data access frameworks. It provides an overview of Entity Framework 7 and some of its new capabilities.
Shift Remote: AI: Behind the scenes development in an AI company - Matija Ili...Shift Conference
Creating any type of company takes enormous amounts of effort, hard work, and persistence. Let alone an Artificial Intelligence company. As we can assure you, it will take a lot more than the above and adding just a team of brilliant AI scientists to build complex real-world AI solutions. In this talk, we will show you the crucial roles of development teams in a high-performing Artificial Intelligence company.
Shift Remote AI: Behind the Scenes Development in an AI Company - Matija Ilij...Shift Conference
Creating any type of company takes enormous amounts of effort, hard work, and persistence. Let alone an Artificial Intelligence company. As we can assure you, it will take a lot more than the above and adding just a team of brilliant AI scientists to build complex real-world AI solutions. In this talk, we will show you the crucial roles of development teams in a high-performing Artificial Intelligence company.
This document provides an overview of a Logic Apps for Beginners session at the 2019 Global Azure Bootcamp in Adelaide, South Australia. It introduces the presenter Mandar Dharmadhikari and their background in integration and AI. The session aims to help attendees understand what Azure Integration Services and Logic Apps are, why they should use Logic Apps, the basics of Logic Apps, use cases, and includes some demonstrations. It provides information on Logic Apps connectors, triggers, actions, and potential use cases like analyzing tweet sentiment, backing up blobs, and intelligent mail responders.
Hello All,
Let's meet and discuss what are the new announcements from Build 2016 and how we can best leverage them in our business!
Here are some of the topics we will cover this time:
- Azure Functions
- Service Fabric
- Azure Storage
- Document DB
- Azure Container Services
- Power BI Embedded
- ASP.NET Core
- Virtual Machine Scale Sets
I will be happy to share my experience from the conference, especially the session I visited and also the conversations I had with various Microsoft representatives.
Azure is developing faster than ever and Microsoft is driving the platform in very interesting direction that require us to know and work with more and more new technologies!
Come and join us to learn more about Azure!
I am arranging the venue but my plan for the meetup is to be on April 25-th or April 27-th from 19:30. I will keep you updated on that!
Thank you!
Kanio
The document discusses domain specific development using T4 templates. It provides an overview of T4, describing it as a text generation engine in Visual Studio used to create domain specific languages. Key points include that T4 can generate code from domain models, capturing business knowledge and making it accessible. The document also outlines the anatomy of T4 templates and how they are processed.
Your host, Dr. Steven Dam, will walk you through all the changes from Innoslate 4.2. He'll show you the new Charts View and how to create and edit XY plots. You'll also get to see how you can generate Systems Requirements Documents (SRD) right from an asset diagram. Other new features that will be shown: Support Dashboard, Roll Up Models, Entity Definition Report, and Document Template Generation.
This document discusses ideas and technologies for building scalable software systems and processing big data. It covers:
1. Bi-modal distribution of developers shapes architecture/design and the need for loosely/tightly coupled code.
2. Internet companies like Google and Facebook innovate at large scale using open source tools and REST architectures.
3. A REST architecture allows scalability, extensible development, and integration of tools/ideas from the internet for non-internet applications.
This document provides an introduction to C# programming language. It outlines the goals of the introduction, provides background on .NET and C#, compares C# to Java, discusses networking namespaces in C#, and references additional resources. The key points covered include an overview of .NET, how to get started with a simple C# application, differences between C# and Java, and links for further reading.
2. The Big Picture
Overview
Directories
Configuration
Modules
Projects
What’s Next?
This Is Not Your Grandma’s Engine
• UE4 is pretty hot… but also huge!
• 5000+ directories, 40,000+ files
• Bazillions of lines of code
• Hundreds of modules
• Dozens of tools, thousands of features
• Centuries of man years
How To Master All This?
• Start with toes, work your way up
• Most code & content you’ll never touch
• Nobody knows everything about UE4
• But you’ll see, it’s really quite easy!
3. The Big Picture
Overview
Directories
Configuration
Modules
Projects
What’s Next?
Root Directory
• /Engine – All code, content & configuration for the Engine
• /MyProject – All files for the game project ‘MyProject’
• /Templates – Templates for creating new projects
Inside the /Engine and /MyProject Directories
• /Binaries – Executables & DLLs for the Engine
• /Build – Files needed for building the Engine
• /Config – Configuration files
• /Content – Shared Engine content
• /DerivedDataCache – Cached content data files (Engine only)
• /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!
4. The Big Picture
Overview
Directories
Configuration
Modules
Projects
What’s Next?
INI Files
• Hold class default properties
• Will be loaded into CDOs on startup
• Organized in a hierarchy
• Higher INIs override lower ones
• Organized in sections
• Key-value pairs within sections
• Important ones exposed in Editor UI
• Low-level access with FConfig
5. The Big Picture
Overview
Directories
Configuration
Modules
Projects
What’s Next?
INI Files
• Hold class default properties
• Will be loaded into CDOs on startup
• Organized in a hierarchy
• Higher INIs override lower ones
• Organized in sections
• Key-value pairs within sections
• Important ones exposed in Editor UI
• Low-level access with FConfig
Class Constructor
BaseXXX.ini
DefaultXXX.ini
XXX.ini
10. The Big Picture
Overview
Directories
Configuration
Modules
Projects
What’s Next?
Module Types
• Developer – Used by Editor & Programs, not Games
• Editor – Used by Unreal Editor only
• Runtime – Used by Editor, Games & Programs
• ThirdParty – External code from other companies
• Plugins – Extensions for Editor, Games, or both
• Programs – Standalone applications & tools
Module Dependency Rules
• Runtime modules must not have dependencies to Editor or
Developer modules
• Plug-in modules must not have dependencies to other plug-ins
12. The Big Picture
Overview
Directories
Configuration
Modules
Projects
What’s Next?
Important Modules for Beginners
• Core – Fundamental core types & functions
• CoreUObject – Implements the UObject sub-system
• Engine – Game classes & engine framework
• OnlineSubsystem – Online & social networking features
• Slate – Widget library & high-level UI features
13. The Big Picture
Overview
Directories
Configuration
Modules
Projects
What’s Next?
Interesting Modules for Advanced Programmers
• DesktopPlatform – Useful APIs for Windows, Mac & Linux
• DetailCustomizations – Editor’s Details panel customizations
• Launch – Main loop classes & functions
• Messaging – Message passing sub-system
• Sockets – Network socket implementations
• Settings – Editor & Project Settings API
• SlateCore – Fundamental UI functionality
• TargetPlatform – Platform abstraction layer
• UMG – Unreal Motion Graphics implementation
• UnrealEd – Unreal Editor main frame & features
14. The Big Picture
Overview
Directories
Configuration
Modules
Projects
What’s Next?
Interesting Modules for Cool Features
• Analytics – Collects usage statistics from Editor & games
• AssetRegistry – Database for assets in Unreal Editor
• GameLiveStreaming – Twitch Streaming
• HeadMountedDisplay – HMD Support API (Oculus, etc.)
• JsonUtilities & XmlParser – Handle Json & XML files
• SourceControl – API for custom source control providers
15. The Big Picture
Overview
Directories
Configuration
Modules
Projects
What’s Next?
Your Game Projects can…
• Use Blueprints, C++ Code or both
• Contain any number of modules & plug-ins
• Be moved around and shared with others
Project Templates to Get You Started
• Blank (with or without sample content)
• First Person Shooter
• Side scroller, top-down & puzzle games
• Flying & driving games
• They all come in Blueprint and C++ flavors
• More to come, and make your own!
18. Overview
Directories
Configuration
Modules
Projects
What’s Next?
Y U No Use C++11??!?!
Actually, we do
• override, final, nullptr keywords
• auto (automatic type deduction)
• range based for-loops
• Lambdas and anonymous functions
• Strongly typed enumerations
• Move semantics
What about the rest?
• XboxOne SDK is still on VS2012
20. 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 East Coast MiniDevCon 2014, November 12-13th
Email [email protected] in case of comments, questions or suggestions or visit our AnswerHub at http://answers.unrealengine.com
#3: Unreal Engine has been developed over a period of over 20 years and contains code and content from hundreds of developers.
The result is an unprecedented feature set for game development, but also a lot of things to learn.
Despite the large number of components and concepts, you should find it relatively easy to get started.
We have put a lot of effort into hierarchically organizing everything, so that the Engine as a whole is really just a big collection of simple parts.
#4: The very first things you will encounter after downloading Unreal Engine 4 are the various directories on your hard drive.
Most of the files are located within the Engine directory, which contains everything needed to make and run games.
Over time, you will add your own directories, one for each project you are creating.
#5: After looking at a few sample projects and perhaps creating your own first project, you may wonder how the Engine knows what to load and what to do.
The answer to this are configuration files – we call them INIs.
Many systems, such as the Engine, the Editor and games have their own so called INI file stack.
#6: There is not just one INI file, but multiple ones that are stacked hierarchically.
#7: In previous versions of Unreal Engine, users had to modify INI files quite frequently.
This was tedious and error prone.
In Unreal Engine 4 we are making a big push to expose all the important settings directly in the Editor.
We hope that, in the future, users will no longer have to edit INI files directly.
#8: For some very advanced settings you may still have to edit the INI files directly.
It cannot hurt to familiarize yourself with the syntax.
Here you can see a portion of the BaseGame.ini file.
The different types of sections and key-value pairs are easily recognized.
#9: Take a look at the GameSession class in this example.
Note that the C++ declaration of the class (right picture) is marked up with special attribute macros.
These macros cause our build tool to generate magic glue code that will add INI file support to the corresponding properties.
These properties can now be assigned in the INI file and will be automatically initialized when an instance of this object is created.
#10: In previous versions of Unreal Engine all code was split into a small number of DLLs.
Each DLL had a large number of responsibilities, which lead to a lot of very tightly coupled code that was difficult to maintain and extend.
For Unreal Engine 4 we have rewritten large parts of the code base from scratch and reorganized it into hundreds of modules, each of which has one particular purpose.
Modules are still compiled into DLLs, but they can also still be compiled into one large monolithic binary.
The important point is that the code base is now much more organized and easier to use.
#11: We split our modules into various categories.
Modules that are used by the Engine can be found in the Runtime directory.
Modules that are used to build the Editor can be found in the Editor directory.
We also have some standalone programs, which share their modules with the Editor.
Those modules are located in the Developer directory.
One important convention to remember is that Runtime modules must not have any dependencies to Developer or Editor modules.
#13: Like I said, there are now hundreds of modules in the code base, but you only need to know a few of them.
When you first begin programming with Unreal Engine, you will frequently use features from Core, CoreUObject, Engine and Slate.
Nearly all other modules in the code base are built on top of one or more of these.
#14: Once you are more familiar with programming games and tools for Unreal Engine, you may also be interested in other more advanced modules.
Most of the remaining modules in the code base implement features for Unreal Editor.
You can use them as a learning resource for implementing your own plug-ins and applications.
#15: There are also several modules that will make it easier for you to add cool new features to the Editor or your game.
We recently added the GameLiveStreaming module, which allows your users to stream their game play to Twitch.
There is also a module for 3D Head Mounted Display support – the Oculus plug-in uses it to add Oculus support to the Engine.
There are also various utility modules, such as Json and XML helpers.
#16: All these modules are used in the Engine, the Editor and our tools.
However, you will actually spend most of your time in your own projects.
Projects are really easy to create in Unreal Engine 4.
We provide a number of both Blueprint and C++ project samples for various types of games.
More templates will be added over time, and you can even add your own.
#17: Here you can see the project template browser and the sample project browser.
#18: When your project is ready for testing, you can cook, package and deploy it.
Cooking is the process of optimizing your game’s content for the desired target platforms.
Packaging will arrange all content files and binaries in a way that is best for the target device, usually a .pak file.
Deployment is the process of getting your packaged files onto the device.
Cooking and packaging each time is very time consuming.
We recommend that you use the Quick Launch feature instead, which utilizes Cook-On-The-Fly.
#19: UE4 recently started to use C++11 language features that are well supported on all platforms that the Engine runs on.
Most notably, we are gradually replacing our OVERRIDE, FINAL and NULL macros.
For the time being, you will still see both the old macros and the new keywords being used in parallel.
We are also in the process of replacing static local functions with lambdas, and namespaced enums with enum classes.
We can’t use all of the modern language features yet, because the XboxOne SDK still requires Visual Studio 2012.
#20: Of course, this short presentation is not even remotely enough to introduce you to all the components of the Engine.
We have prepared a number of other talks for today that will provide more detail on various topics.
#21: Make sure to check out our extensive documentation on the internet!