Skip to content

w-cook/unity-bugfix-showcase

Repository files navigation

Unity Bug-Fix Showcase

A focused portfolio project demonstrating practical Unity debugging and bug-fix workflows in C#.

This repository contains small, reproducible bug cases designed to show how common Unity issues can be:

  • reproduced in minimal scenes
  • diagnosed clearly
  • fixed cleanly
  • documented with before/after evidence

The case studies are intentionally minimal so each issue can be isolated, reproduced, and explained clearly. They are scoped around the kinds of targeted problems that often appear in freelance Unity support work.

Quick Navigation

  • See the Bug Case Index below for the four completed cases
  • Open each case folder for:
    • problem description
    • reproduction steps
    • fix notes
    • video evidence
  • Open the Unity scenes to reproduce each issue directly

Bug Case Index

Case Category Issue
Bug 01 Movement/Input Diagonal movement speed inconsistency
Bug 02 Gameplay State Pause menu does not fully stop player input
Bug 03 Missing Reference Unassigned player reference causes runtime failure
Bug 04 Save/Load Collected item state is not restored correctly

Repository Highlights

  • 4 completed Unity bug case studies
  • movement/input, gameplay state, missing reference, and save/load coverage
  • minimal repro scenes for each issue
  • before/after evidence and documented fixes

Project Structure

This repository includes the Unity project source required to inspect and run the bug repro scenes.

Included Unity project folders:

  • Assets
  • Packages
  • ProjectSettings

Generated/cache folders such as Library and UserSettings are intentionally excluded because Unity recreates them locally.

Scope

This repository is not intended to be a full game project. It is a focused debugging portfolio built around small, reproducible Unity issues and targeted fixes.

Common Unity Bugs This Repository Covers

  • movement and input bugs
  • gameplay/UI state conflicts
  • missing reference and dependency issues
  • save/load and state restoration bugs

These examples reflect the kinds of targeted debugging problems that frequently appear in prototype, indie, and freelance Unity work.

Bug Cases

Bug 01 — Diagonal Movement Speed Inconsistency

Movement becomes faster when combining input axes without normalization.

This case demonstrates:

  • vector magnitude issues
  • debugging movement systems
  • Input System normalization options

Bug 02 — Pause Menu Input Leak

Opening the pause menu does not fully stop player movement because gameplay scripts continue to process input.

This case demonstrates:

  • UI/gameplay state management
  • pause logic design
  • input gating strategies

Bug 03 — UnassignedReferenceException from Missing Player Reference

A minimal runtime error case where an enemy script assumes a Player reference exists and throws an UnassignedReferenceException when the dependency is missing.

This case demonstrates:

  • dependency validation
  • safer initialization
  • defensive null handling
  • runtime debugging in Unity

Bug 04 — Save Data Does Not Restore Correct State

A persistence bug where a collected item reappears after save/load because its state is not correctly stored or restored.

This case demonstrates:

  • save/load debugging
  • JSON file persistence
  • state restoration logic

Technologies

  • Unity
  • C#
  • Git

Why This Matters

Many Unity freelance requests are targeted debugging and maintenance tasks rather than full game builds. This repository is designed to demonstrate practical value for that kind of work.

Status

Completed

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Unity bug-fix portfolio project demonstrating debugging, problem-solving, and C# scripting in an existing game codebase.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors