Skip to content

Unity

The Luck of Roaring Camp

Cinematic retelling of Bret Harte's Gold Rush short story in Unity HDRP

A cinematic visual presentation of Bret Harte's 1868 short story "The Luck of Roaring Camp," built in Unity with HDRP for an English Literature final project at Shenandoah University. The experience retells the story of a California Gold Rush mining camp transformed by the birth of a baby, exploring themes of redemption, community, and the American Dream through narrated cinematic scenes with period-appropriate music and environmental storytelling.

The Luck of Roaring Camp cover
My role
Lead Developer
Period
May 2023 – Aug 2023
Platforms
Windows / macOS
Status
delivered

Tools & technologies

UnityC#HDRPCinemachineTimelineTextMeshProUI ToolkitUnity Recorder

FULL_STACK (9)

UnityC#HDRPCinemachineTimelineTextMeshProUI ToolkitUnity RecorderVisual Scripting

Impact & Results

  • The v2.0 rework brought the project onto Unity 6 with all package dependencies updated to current versions. The engine migration is complete, the UI Toolkit menu system is functional, and the scene architecture has been restructured. The project went through multiple iteration cycles, exploring both Universal Render Pipeline conversion and incremental upgrade approaches before selecting a direct Unity 6 HDRP migration as the most practical path forward.

Overview

The Luck of Roaring Camp is a cinematic adaptation of Bret Harte's 1868 short story, built as a real-time 3D experience in Unity. The project retells the story of a California Gold Rush mining camp transformed by the arrival of a newborn baby, exploring themes of redemption, community, and the American Dream through narrated cinematic scenes, period-appropriate music, and environmental storytelling set in western frontier environments.

Originally developed as an English Literature final project at Shenandoah University, the experience uses Timeline-driven cinematics with Cinemachine virtual camera rigs, a multi-channel audio mixing system, and HDRP rendering to bridge literary analysis and interactive media, demonstrating how game engine technology can serve as a vehicle for narrative interpretation beyond traditional essays or presentations.

Role Summary

  • Continuing as Technical Director, Scene Designer, UI Developer, and Editor. Led the Unity 6 engine migration, resolving package compatibility issues across HDRP, Cinemachine, Timeline, and dependent packages. Designed and implemented the UI Toolkit main menu system with custom USS stylesheet defining a six-level typography hierarchy. Restructured the project's scene organization into completed, active, and legacy directories.

Non-Technical Summary

The 2025 rework brings the cinematic experience up to date with the latest version of Unity (Unity 6). This upgrade ensures the project benefits from improved rendering quality, better performance, and access to modern development tools. The most visible change is a new main menu screen that displays the project title, story attribution, and credits before the cinematic begins.

Behind the scenes, the project's file organization has been cleaned up, with completed scenes archived separately from development work. The rework is complete, with the modernized foundation enabling higher cinematic quality through Unity 6's improved rendering backend.

Highlights

  • Directed and developed a cinematic adaptation of Bret Harte's 1868 short story in Unity with HDRP, combining narrated scenes, period-appropriate music, and environmental storytelling across western-themed environments
  • Composed multiple Timeline-driven cinematic sequences orchestrating Cinemachine virtual camera shots, audio crossfades, and animation-driven scene transitions to retell a Gold Rush-era narrative
  • Designed a multi-channel audio mixing system routing narration, period music, and environmental sound effects with scene-driven crossfades for cinematic pacing
  • Built an animation-driven fade system using keyframe controllers for screen transitions, text appearance, and scene flow between narrative chapters
  • Upgraded the project to Unity 6 with HDRP 17.1.0, migrating Cinemachine from 2.x to 3.1.3 and adding a UI Toolkit-based menu system with custom USS typography

Quick Highlights

  • Full engine upgrade from legacy Unity to Unity 6000.1.0f1 with all packages migrated to latest major versions
  • New UI Toolkit menu system with custom USS typography and structured credits display
  • HDRP 17.1.0 with Cinemachine 3.1.3 for modernized rendering and camera systems
  • Restructured scene organization separating completed, active, and legacy scenes
  • Added Unity Recorder for built-in cinematic capture capability

Technical Breakdown

Engine Migration

The project was upgraded from legacy Unity to Unity 6000.1.0f1. This required migrating all package dependencies to their latest compatible versions: HDRP to 17.1.0, Cinemachine from 2.x to 3.1.3 (a major API change), Timeline to 1.8.8, and all supporting packages. The migration also brought in new packages not present in v1.0, including Unity Recorder 5.1.2 for built-in cinematic capture and Visual Scripting 1.9.6.

UI Toolkit Menu System

A new main menu was built using Unity's UI Toolkit framework. The layout is defined in MainMenuUI.uxml with label elements for the project title, story author credit, and contributor credits. Styling is handled by Typography.uss, which defines a six-level typography hierarchy (Title at 64px, Header-1 at 48px, Header-2 at 36px, Header-3 at 28px, Subtitle at 24px, Quote at 20px, Normal at 18px) using the Bangers font with an orange color scheme (rgb 255, 134, 0). A MainMenuUIHandler MonoBehaviour provides the script hook for runtime menu logic.

Scene Restructuring

The scene architecture was reorganized into three categories. Active scenes (Main_Scene, Dereliction_Scene, OutdoorsScene) remain at the top level of the Assets/Scenes directory. Completed scenes from v1.0 (Intro_Scene, Main_Scene) are archived under Completed Scenes/ with their lighting settings and occlusion data preserved. Legacy experimental scenes (Western_Scene, Redemption_Scene, and the original Dereliction_Scene) are stored under Old Scenes/.

Rendering Pipeline Update

HDRP 17.1.0 provides access to Unity 6's updated lighting, volumetric, and post-processing features. The existing volume profiles and depth-of-field configurations from v1.0 carry forward, now benefiting from the improved rendering backend. The project continues to use per-scene volume profiles for independent post-processing control.

Systems Used

  • Timeline Cinematic Sequencing: Carried forward from v1.0 with updated Timeline 1.8.8. Multiple playable timelines orchestrating camera cuts, audio cues, and animation triggers across narrative scenes.
  • Cinemachine Virtual Camera System: Migrated to Cinemachine 3.1.3 with updated API. Virtual camera rigs for cinematic panning, tracking, and dolly shots through 3D western environments.
  • HDRP Post-Processing Pipeline: Updated to HDRP 17.1.0. Volume-based depth of field, color grading, and atmospheric effects with access to Unity 6's improved rendering features.
  • UI Toolkit Menu System: New in v2.0. UXML-defined layout with USS-styled typography hierarchy. MainMenuUIHandler provides runtime logic for the title screen and credits display.
  • Audio Mixing System: Carried forward from v1.0. Multi-channel Main_AudioMixer routing music and sound effects with scene-driven crossfades.
  • Animation-Driven Fade System: Carried forward from v1.0. Keyframe animations controlling screen fades, text appearance, and scene transitions.

Deep Dive

Migration Path

The path to v2.0 involved iterative exploration of different upgrade strategies. An initial approach explored converting to Universal Render Pipeline and importing additional Polygon environment assets. A subsequent iteration focused on Git LFS configuration and asset management. These explorations informed the final strategy: staying on HDRP and upgrading directly to Unity 6, which proved to be the most practical path given the existing HDRP-dependent scene configurations and post-processing profiles.

Cinemachine 3.x Migration

The jump from Cinemachine 2.x to 3.1.3 is a significant API change. Cinemachine 3.x restructured how virtual cameras, camera bodies, and aim/follow behaviors are configured. The existing camera rigs from v1.0 required adaptation to the new component model. This migration was part of the broader Unity 6 upgrade.

UI Toolkit Design Decisions

The choice of UI Toolkit over the legacy UGUI system was deliberate. UI Toolkit provides a web-like authoring model with UXML (markup) and USS (styling) that separates structure from presentation. The Typography.uss stylesheet defines a consistent type hierarchy that can be reused across future UI elements. The orange color scheme (rgb 255, 134, 0) on a dark background with the Bangers font creates a western-themed visual identity that matches the project's setting. The PanelSettings asset and UnityDefaultRuntimeTheme provide the runtime rendering configuration.

Scene Organization Strategy

The restructuring into Active/Completed/Old directories serves both development and archival purposes. Completed scenes from v1.0 are preserved with their full lighting and occlusion data intact, allowing rollback if needed. Old experimental scenes (Western, Redemption, legacy Dereliction) are kept for reference but clearly separated from active work. The new OutdoorsScene suggests development of additional environmental content beyond the original indoor-focused scenes.


KEYBOARD_SHORTCUTS

GO_TO

  • g h TERMINAL
  • g p PROJECT_INDEX
  • g e EXPERIMENTS
  • g s SKILL_MATRIX
  • g a ABOUT_ME
  • g r EXPERIENCE

GLOBAL

  • ⌘K COMMAND_PALETTE
  • / COMMAND_PALETTE
  • ` TERMINAL_MODE
  • ? SHORTCUT_PANEL
  • ESC CLOSE_OVERLAY

Chords expire after 1 second. Keys are ignored while typing.