The Gabmeister Resources
This page is a collection of links that have helped me throughout my career as a VR, AR, Unreal Engine, and Unity Developer. I’m constantly updating this list, removing old items and adding new ones. I try to remove those that are older than 5 years old. However, there are exceptions which I truly believe contain information that are relevant today. I hope that these resources assist you in your journey.
XR
"Unfortunately, no one can be told what the Matrix is. You have to see it for yourself." - Morpheus, The Matrix (1999) -
Meta Quest
- Oculus Documentation
- Code Samples
- Capture MR and VR Apps for Publishing
- Making a Mesh: Global Mesh Destruction in First Encounters (2023)
- How to Improve Unreal Engine Material Shader with Adreno Offline Compiler (2023)
- Improve App Image Quality with Meta Quest Super Resolution (2023)
- Project Flowerbed: A WebXR Case Study (2023)
- The Evolution & Implementation of Hand Tracking in ‘Myst’ (2022)
- Building Your Multiplayer VR Experience (2022)
- Showdown on Quest Part 1 (2022) by Zac Drake
- Getting a Handle on Meta Quest Memory Usage (2022)
- Oculus Multiplayer Development Quick Start Guide (2022)
- Avoiding Hitches When Loading Scenes in Unity (2021)
- Unity Profiler & Profile Analyzer Data on Quest (2021)
- Using Vulkan Subpasses in UE4 for Performant Tone Mapping on Quest (2021)
- Unreal Insights on Oculus Quest (2021)
- Optimizing Performance For Fast-Paced Interactions on Quest (2019)
Meta Developers YouTube Channel
- State of Compute: Maximizing Performance on Meta Quest (2023)
- Developing Marvel’s Iron Man VR for Meta Quest (2023)
- Performance and Optimization on Meta Quest Platform (2022)
- State of the Art GPU Profiling on Quest l Facebook Connect (2021) by Meta Quest
XR in Unreal Engine
- XR Best Practices in UE Documentation
- XR Performance and Profiling in UE Documentation
- Profiling with Stereo Rendering (2024) by Epic Online Learning
- What You Didn’t Know About VR Development in Unreal Engine (2023)
- What are the Performance-killer for VR? (2021) in UE Forums
- Oculus Quest Performance Tools in Unreal Engine (2020) by Shahriar Shahrabi
XR in Unity
- XR in Unity Documentation
- VR Optimization and Performance Tips for Unity (2021) by VRwithAndrew
VR Rendering Issues
- UNITY Aliasing FIX, Jaggy Noisy Blinking edges in VR URP (2024) by NikoVR
- Flickering in Unity VR: Fix Flickering and Pixel Noise on Edge (2023) by Roadway VR
- Behind the Scenes of ‘COMPOUND,’ a New Hardcore Rogue-Lite VR FPS (2022)
- MSAA + 3D Widgets = Horrible jagged edges (2020) in UE Forums
- How to improve visual rendering quality in VR (2019) by Ryan O’Shea
- Common Rendering Mistakes (2019) by Trevor Dasch
- Anti-aliased Alpha Test (2017) by Ben Golus
- Steps to Avoid Aliasing in VR (2016) by John Carmack
Others
- The Ultimate XR Developers Resource Guide by authorTom
Programming
"Talk is cheap. Show me the code." - Linus Torvalds, creator of Linux -
Assembly
- Assembly Language for x86 Processors, 8th edition (2019) book by Kip R. Irvine
- The Art of Picking Intel Registers (2003) by William Swanson
- Compiler Explorer
C
- Beej’s Guide to C Programming
- C Programming: A Modern Approach, 2nd Edition (2008) by K.N. King
- null program by Chris Wellons
- Awesome C – A curated list of C good stuff.
- Learn Makefiles
- How to write a game engine in pure C (2019) by PRDeving
- Game State Pattern in C (2011) by Paweł Góralski
C++
- LearnCpp.com
- The Definitive C++ Book Guide and List
- C++ Links by MattPD
- An Introduction to Modern CMake by Henry Schreiner
- cmakeSetup by meemknight
- C++ Core Guidelines (2024) by Bjarne Stroustrup and Herb Sutter
- Awesome Modern C++
- Modernes CPP Resources
- YouTube: CppCon, The Cherno,
C#
Clean Code and Design Patterns
- A Short Summary On Clean Coding Best Practices (2021) by Thilina Ashen Gamage
- Refactoring Guru
- Game Programming Patterns (2014) by Robert Nystrom
- Summary of “Clean Code” by Robert C. Martin
- C³: Common Coding Conventions
- Purely Functional Retrogames, Part 1 (2008) by James Hague
- The solution to ‘OOP is Bad’ : ECS
- What is an Entity Component System architecture for game development? () by Richard Lord
Other References
- Project Based Learning
- Just-In-Case vs. Just-In-Time Learning
- How Developers Stop Learning: Rise of the Expert Beginner (2013) by Erik Dietrich
- GitHub Ranking Top 100 Stars
Unity
"I think the unmissable "skill" is the drive to create. If you have that drive, Unity will give you back thousandfold." - David Helgason, Co-founder of Unity -
Technical deep dive: Unity best practices
C# Programming
- Unity Production Architecture by Mody
- Create modular game architecture in Unity with ScriptableObjects (2023) by Unity
- Create a C# style guide: Write cleaner code that scales (2023) by Unity
- Functional Unity Architecture: A Developer’s Guide 2023 by Bruno Mikoski
- Level up your code with game programming patterns by Thomas Krogh-Jacobsen (2022). Complete PDF version here.
- Game programming patterns in Unity by Erik Nordeus
- Unity Clean Code by Lucas Sampaio Dias
- DeltaTime (2023) by Jonas Tyroller
- Unity Architecture for Noobs – Game Structure (2021) by Tarodev
- Three ways to architect your game with ScriptableObjects (2020) by Unity
- How to get a variable from another script in Unity (2020) by John French
- How to Get Variables from Other Scripts in Unity (2020) by Jason Storey
- Game Architecture with Scriptable Objects (2017) byRyan Hipple
- Unity Software Design – Introduction (2016) by Luke Thompson
Optimization
- When Optimisations Work, But for the Wrong Reasons (2024) by SimonDev
- Performance optimization tips: Physics in Unity (2021) by Unity Technologies
- Optimization tips for maximum performance – Part 1 (2020) by Unity Technologies
- Optimization tips for maximum performance – Part 2 (2020) by Unity Technologies
- Fixing Performance Problems (2020) by Unity Technologies
- Optimizing Graphics in Unity (2018) by Unity Technologies
- Squeezing Unity: Tips for raising performance (2017) by Unity Technologies
- Unity Draw Call Batching: The Ultimate Guide (2020) by Ruben Torres Bonet
- Event Performance: C# vs. UnityEvent (2016) by Jackson Dunstan
- Unity Optimization Tips: Mobile & Desktop (2022) by Makaka Games
- Performance recommendations for Unity (2022) in Microsoft Documentation
Networking / Multiplayer
- Unity Realtime Multiplayer (2023) by Dimitrii Ivashchenko
- Multiplayer Game Architecture in Unity (2020) by Shrine Wars
- High Performance Game Networking in Unity3D + Q&A (2019) by Kyle Olsen and Jason Weimann
Unreal Engine
“Within our lifetimes, we will be able to push out enough computational power to simulate reality.” - Tim Sweeney, CEO of Epic Games -
- Unreal Engine Documentation
- Unreal Engine 5 Style Guide by Michael Allar
- Open Unreal Conventions by Jonas Reich
- Unreal Engine Learning Library
- Unreal Engine Learning Resources by Tom Looman
C++ / Blueprints
- The Gabmeister Unreal Engine C++ Code Reference by The Gabmeister
- Blueprints vs. C++: How They Fit Together and Why You Should Use Both (2021) by Alex Forsythe
- The Unreal Engine Game Framework: From int main() to BeginPlay (2020) by Alex Forsythe
- Unreal Engine C++ Project Setup, From Scratch (2020) by Alex Forsythe
- Data-driven Design in Unreal (2020) by Ben UI
- State Design Pattern in Unreal Engine Blueprint (2020) by Paul Gestwicki
- Best Practices for Creating and Using Plugins (2019) by Max Preussner
- Unreal Property System – Reflection (2014) by Michael Noland
- Mr Robin Getting Started C++
User Interface
GPU / Graphics Profiling and Optimization
- Optimizing and Debugging Projects for Real-Time Rendering in Unreal Engine Docs
- Optimizing UE5: Advanced Rendering, Graphics Performance, and Memory Management
- Dissecting a Frame with RenderDoc (2023) by Tech Art Aid
- UE5: Optimizing Memory Usage of Textures & Meshes (2023) by Tech Art Aid
- Shader Optimization – True Instruction Cost, Performance Tips (2022) by Tech Art Aid
- Unreal Engine Game Optimization on a Budget (2022) by Tom Looman
- Deep Dive: Memory Management in Blueprints (2020) by Jesse Humphy
- Deep Dive: Memory Management in Blueprints II (2020) by Jesse Humphy
- An In-Depth Look at Real-Time Rendering (2019) by Sjoerd de Jong
- Profiling and Optimization in UE4 (2019) by Paulo Souza
- Performance Optimization for Environments (2020) by Matt Oztalay and Jakob Keudel
Lighting
- Understanding Lightmapping in Unreal Engine in documentation
- Generating Lightmap UVs in documentation
- Modular Asset Lighting Problem
- Unreal Engine 4 Lighting Masterclass Summary (2017) by Tom Looman (talk by Jerome Platteaux)
- Unreal Engine 4 Lighting Academy by 51Daedalus
Networking / Multiplayer
- Unreal Engine Multiplayer Tips and Tricks by WizardCell
- Persistent Data Compendium by WizardCell
- Multiplayer Network Compendium by Cedric Neukirchen
- [UE4] The Secret of Multiplayer | Ownership (2021) by Aaron Hunt
- Multiplayer in Unreal Engine: How to Understand Network Replication (2020) by Alex Forsythe
- Unreal Engine Multiplayer Framework (2022) by Kekdot
- https://unreal-mmo-dev.com
- Kieran Newland Blog
Pixel Streaming
- Pixel Streaming documentation
- Interacting with the Pixel Streaming System
- Pixel Streaming servers and frontend GitHub repo
- Frontend Communication with Unreal Engine Client (2023) by Betide Studio
- Voice Chat with Unreal Engine Client (2023) by Betide Studio
- How to Pixel Stream Unreal Engine 5.2 on AWS Instance (Windows) (2023) by Eagle 3D Streaming
- 4Players ODIN – Voice Chat SDK compatible with pixel streaming
Crash Troubleshooting
- GPU Crash Debugging in Unreal Engine: Tools, Techniques, and Best Practices (2023) by Thijs van Wingerden
- Crashing With Style in Unreal Engine (2022) by Ari Arnbjörnsson
- What do you do when Unreal Editor crashes? (2020) by Alex Forsythe
- Crash Reporting in Unreal Engine. NOTE: Download Editor symbols for debugging if you’re using Unreal Engine from the Epic Launcher. These will allow the Crash Reporter to show you a detailed call stack. Moreover, the Crash Reporter does not show up when you’re using a UE5 Editor Source Build from GitHub. Instead, you need to run Debug Mode in Visual Studio.
Networking / Multiplayer
"People come to The Oasis for all the things they can do, but they stay because of all the things they can be." - Wade Watts, Ready Player One (2018) -
- Choosing the right network model for your multiplayer game (2024) by Glenn Fiedler
- The Ultimate Guide to Forwarding Ports in Your Router (2021) by Jason Bauer
- Netcode 101 – What You Need To Know (2017) by Battle(non)sense
- Gaffer On Games Articles by Glenn Fiedler
- BaaS + Game Server Comparison Sheet by Imperium42
- Más Bandwidth articles
Game Engine Programming
- https://engine-programming.github.io/
- Game Engine Architecture by Jason Gregory
- Handmade Hero
- Rendering Engine Architecture Conference
- Tools to make a Game Engine in C++ (2022) by pikuma
- Game Engine Black Book Doom
Artificial Intelligence
Getting Started
- Neural Networks by 3Blue1Brown
- [1hr Talk] Intro to Large Language Models (2023) by Andrej Karpathy
- Neural Networks: Zero to Hero by Andrej Karpathy
- llama3 implemented from scratch (May, 2024) by Nishant Aklecha
- AI Canon (May, 2023)
- The Rise of the AI Engineer (Jun, 2023) by swyx & Alessio. Followed by Rise of the Planet of the AI Engineer (Mar, 2024) in Latent Space
- LLM-Sampling
- Prompt Engineering Guide
- Comprehensive Guide to Chain-of-Thought Prompting by Maithili Badhan
- Advanced Prompt Engineering Techniques by Maithili Badhan
Generative AI
- Microsoft Generative AI for Beginners
- Generative AI Handbook (June, 2024) by William Brown
- https://generativeai.pub
- Every Way To Get Structured Output From LLMs (May, 2024) by Sam Lijin
AI Safety and Security
- Apart Research Sprints
- The ultimate guide to AI safety research hackathons (2024) by Jord Nguyen
Publications
- Good AI Podcasts and Newsletters by swyx
3D Environment Art
"Art is never finished, only abandoned. " - Leonardo da Vinci -
Polycount Wiki
The Polycount Wiki is “a catalog of information aimed at game development artists; whether professional, student, or hobbyist.” To be honest, this is the only resource you need if you’re starting out as a 3D Game Artist. It covers all the topics. Don’t be fooled by the old-school UI. This is the place where the AAA game artists hang-out. I’ll try and hand-pick a couple of links which are pertinent to 3D environment art:
Environment Art Theory
- Environment art isn’t about ‘making pretty things’…so, what’s it about? (2017) by Jason Hickey
- Color in games: An in-depth look at one of game design’s most useful tools (2015) by Herman Tulleken
- The Aesthetics of Game Art and Game Design (2013) by Chris Solarski
- Applying the Elements of Design and Principles of Design in Level Art (2011) by Jeremy Price
Concept Art
- Concept Fundamentals
- FZD School of Design videos by Feng Zhu
3D Modeling
- Topology
- Subdivision Surface Modeling
- Vertex Normal
- Topology Guides by Johnson Martin
Texturing
- Environment Texturing Tutorials
- Texture Coordinates
- Channel Packing
- Multi-Texture
- Photogrammetry Thread (2014 to present) by littleclaude
Normal Maps
- Normal Map
- Texture Baking
- A Practical Guide on Normal Mapping for Games (2015) by Alexey Oshchepkov a.k.a. Superfranky
- Of Bit Depths, Banding and Normal Maps (2015) by Joe “EarthQuake” Wilson
- Skew you buddy! Making sense of skewed normal map details. (2015) by Joe “EarthQuake” Wilson
- You’re making me hard. Making sense of hard edges, uvs, normal maps and vertex counts (2012) by Joe “EarthQuake” Wilson
- Understanding averaged normals and ray projection/Who put waviness in my normal map? (2011) by Joe “EarthQuake” Wilson
Lighting & Rendering
- Lighting Resources
- An In-Depth Look at Real-Time Rendering (2019) by Sjoerd de Jong
- Unreal Engine 4 Lighting Academy by 51Daedalus
Physically-Based Rendering
- Basic Theory of Physically-Based Rendering by Jeff Russell
- Physically-Based Rendering, And You Can Too! by Joe “EarthQuake” Wilson
- PBR Texture Conversion by Joe “EarthQuake” Wilson
Modular Environments
- Modular Design & Workflow
- Creating Trim Textures 4 Part Free Tutorial – Step by Step (2019) by Tim Simpson
Landscapes & Foliage
- Terrain Modeling and Texturing
- Environment Scupting – Sculpting Tiled Maps
- Foliage Tutorials
- Grass Technique
- Vertex Color
Optimization
- Polygon vs. Triangle vs. Vertex Count
- GPU Performance for Game Artists (2017) by Keith O’Conor
- Polycount vs Vertex count (2013) by Matías Nazareth Goldberg
Technical Studies and Research
- Game Art Tricks by Simon Schreibt
- Graphics Studies Compilation (2020) by Adrian Courrèges
- Interesting Research Thread (2014-2020) by littleclaude
Career Advice
- Freelance
- Game Industry Tips
- 8 Tips for Artists Struggling With Motivation (2018) by Tim Simpson
- 10 Insider Tips for Digital Artists Applying to Game Studios (2018) by Tim Simpson
- WHY Your portfolio needs to be on ArtStation (2018) by Tim Simpson
- The Death of Curiosity (2016) by Joe “EarthQuake” Wilson