Unreal Development Guides and Tips
Range of content including high-level concept explanations, detailed tutorials, performance considerations, shortcuts and other useful content that aims to improve your Unreal Engine 4 development journey.
Built with the community in mind. The end goal is to become a centralised knowledge base which will compliment official documentation as well as help a range of developers, whether just starting out or seasoned veterans experimenting with new features.
Be sure to bookmark as updates are ongoing <(^_^<)
Content Directory
Basic Scene Creation
Short guides/tricks on creating a level with aesthetically pleasing elements and lighting. Introduces dynamic light and actor light sources. Also considers pre-made content imports for quick starting.
Improving Development Pipelines
Concepts/guides on cross-platform performance. Strong focus on optimisation and performance considerations in projects in conjunction with best practices. Covers a range of areas including Textures, Meshes, Materials, Texture Streaming, LODs, Lighting, Volumes and Reflections.
- Textures
- Texture streaming
- Static meshes
- Importing and Exporting
- Levels of Detail (LODs) and Static mesh merging
- Materials I: Basics
- Materials II: Master materials and Material functions
- Materials III: Material instances
- Materials IV: Vertex animation materials
- Light, Shadow, and Post Process
- Volumes
- Reflections
Real Time Ray Tracing (RTRT)
Concepts/guides on using how to make use of RTRT. Covers the hardware requirements to use the feature, basic discussion of each ray tracing component and how to implement each component in UE4. Furthermore, some additional command line features are mentioned and useful RTRT development tips.
- Requirements and Configuration
- Ray-Traced Shadows and Post Process Volume
- Ray-Traced Reflections
- Ray-Traced Translucency
- Ray-Traced Ambient Occlusion
- Ray-Traced Global Illumination
- Performance Analysis and Debugging
- Path Tracer Benchmarking
Chaos Physics
Concepts/guides on using Chaos Physics. Covers how to configure projects to use required Chaos features, destruction, vehicle physics, and the Chaos Fields system for controlling force fields to achieve a range of results. Note that Chaos Physics is currently in preview release and features are subject to change.
Converting Blueprints To C++
Concepts/guides on the benefits of using Blueprints versus C++. Covers the strengths and weaknesses of each approach, basic C++ architecture for maintainable design and the process of converting Blueprints to C++ implementations.
Interesting Resources
- Unreal Fest 2018 Presentations + Slides
- Unreal Fest 2019 Presentations + Slides
- Ray Tracing Gems: High-quality and real-time rendering with DXR and other APIs
References
- Unreal Documentation
- Unreal Academy
- Unreal Wiki (Lacks support for recent engine versions)
- UE4 Trello Roadmap (No longer updated post 4.25)
- UE4 Public Roadmap
Contributing
You'd like to help make this guide even more awesome? Seems like today's my lucky day! In order to maintain consistency of the guide and its code base, please adhere to the following steps, and I'd be pleased to include your additions.
Step 1: Choose what to do
If you've got no idea how to help, feel free to read through the existing content and look for ways to enhance it, be it grammar changes, content addition, media attachments or a GIF demonstration.
If you know exactly what is missing, open a new issue to begin a short discussion about your idea and how it fits the guide. If we all agree, you're good to go!
Step 2: Fork the project and check out the code
The guide is to be community developed using the GitFlow branching model. In order to contribute, you should check out the latest master branch, and create a new section or enhancement branch to be merged back.
Step 3: Implement your new feature or enhancement
The guide is ideally meant to target the latest version of Unreal Engine 4 and so it's always best to fact check your content against the latest version of documentation.
Step 4: Open a pull request
Finally, open a pull request so we can review your changes together, and finally integrate it into the guide.