Skip to content

keerthik/uelearning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning Unreal

This repository contains my journey through various tutorials learning Unreal Engine 5.

My background

I come from a programming background, with Unity experience starting around 2011. Initially, my experience was working on hobby games with early Unity versions. I never gained much 3D modeling, animation or texturing experience, I mostly worked with static meshes. I have some, but limited experience with shader programming or shader-graph-like tools.

I have however been professionally using the Unity engine and programming in C# for it extensively since 2012, building a mobile non-game application. A typical AAA-style game programmer would primarily focus on animation logic, synchronous multiplayer, real-time performance, or AI behaviours. My experience of these topics is at a hobbyist level. My professional experience was mostly gained on cross-platform stability, async backend interaction, general software architecture and 2D UI.

Depending on how similar my background is to yours, you may find the structure of my "tutorial roadmap" more or less useful.

How I use this repository

  • Each tutorial project is based on some tutorial content from the internet, listed below. I try to follow the tutorial pretty closely, occasionally exchanging the assets or level basis for my own.

  • If I am learning a lot of new things and doing them while constantly referencing the tutorial, I like to try and practice it one more time, by branching off an early commit and trying to accomplish everything I learned without referencing the source.

  • If I want to explore Unreal's experience with some new module or topic a tutorial exposed me to, I may work on some expansions to the tutorial content (see below).

  • After I have wrapped up a project, I add my learnings, questions, answers, expansions, and inferences in each project's readme, before merging it all back to master. Special annotations in my notes:

    • [xyz ? abc] means i am not sure why/how/what xyz, but abc is my guess
    • [xyz !! abc] means abc is a discovery that answers xyz

Expansions

I have three classes of expansions I try to do, that won't be covered by the tutorials listed below.

  • Simple improvements to the game feel, styling, or algorithmic structure of what the tutorial covered, usually within Blueprint (BP)
  • Migration of complex and unreadable BP graphs into C++ functions, and then refactoring the BP to invoke the C++. This improves my understanding of the engine code API, and intuition for the relationship between C++ & BP.
  • Integration of newly learned concepts into a prior more complex project, to see how to navigate building functionality around an existing codebase.

Learning metadata

The README.md file within each project folder has most of my learnings accumulated in context of the goals and steps of that tutorial or project.

I also keep a log of general purpose tips and where I learned them from in the UETips.md file.

I often use AI assisted coding as a shortcut to parsing UE documentation and browsing stack overflow, I found myself using in cppprompts.md within each project folder (if applicable). Despite how wrought AI assistance is in every creative pursuit, it has truly made learning a new software framework exponentially simpler.

Tutorials

These are tutorials I have previewed before starting to work on them. My goal is ordering these is to build out my understanding in the way that let's me get started working on my own game as soon as possible, roughly in this order:

  • Understand the shortest path to accomplishing the basics: UI, controls, asset pipeline and tying them together in a simple but specific game (constraints simplify the learning space)
  • Understand how to implement certain core game functionality with game-agnostic principles (save/load, pause menu, modify controls)
  • Understand implementations of common game dev paradigms (object pools, broadcasters, etc)

Covered/ongoing

tutorial0: UI and basic Unreal

  • NuMakesGames' Pause Menu part 1.
  • Part 2, customizing keybinds, will be returned to, as it was made using legacy Input system, not new Enhanced Input.
  • 🕜 2-3h

tutorial1: "first game"

tutorial2: Basic game project (asteroids)

tutorial3: Save & Load game

tutorial4: Character pipeline

tutorial5: Plugin system

Planned

Expansion1: Remake Asteroids with tutorial0-4 learnings

  • a 2D pause UI
  • save/load functionality
  • close full game UX flow*
  • improve gameplay feedback*
  • bullets and asteroids from an objectpool

tutorialX: Advanced audio management guide

  • [still evaluating a good guide]

Replay system

  • [still looking for a good tutorial]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published