← Back to portfolio

Specialization project  ·  Breakdown

UNITY PCC

A ready made Player Controller for Unity for those that want advanced movement out of the box.

Write a paragraph here about the project in general — what it is, what the goal was, what the team set out to make.

A second paragraph about context — school project, game jam, personal project? What constraints did you work under?

Describe specifically what systems you owned. Be concrete — not "I worked on movement" but "I built the ground detection, coyote time, and a momentum-preserving dash that feeds into the slide."

Use this callout for a key insight or something you're especially proud of, or that had a big impact on game feel.
Wall Running
Momentum-preserving adhesion with bank tilt and jump redirect.
In Detail
How the wall detection and adhesion system works

Write as much as you need here. Describe the full implementation: how does wall detection work, what raycasts or overlap checks are you doing, and on which axes?

Explain the adhesion itself. Is it a custom gravity override, a velocity clamp against the wall normal, or something else? What happens if the player holds away from the wall mid-run?

Describe the transition out — does the player get a speed boost on exit, does momentum carry into a jump? What edge cases did you have to handle?

Wall run detection Detection Wall detection raycasts
Wall run tilt Camera Tilt Camera bank during run
Wall jump Wall Jump Jump redirect at exit
Corner handling Edge Case Internal corner handling
Dash System
Directional burst with cooldown, recovery, and chained slide entry.
In Detail
Dash direction sampling and momentum hand-off

Describe how direction is sampled — is it from the input vector, camera forward, or a blend? What happens when no directional input is held?

Explain the cooldown and recovery system. Is it a single charge, multiple charges, or a timed reset? How does it communicate state to the player?

What makes the momentum handoff feel good? How does it chain into a slide or wall run? Any edge cases around mid-air dashes or overlapping abilities?

Dash Dash trail VFX
Dash into slide Chaining into slide
Slide & Crouch
Speed-dependent slide with capsule shrink and camera dip.
In Detail
Physics-driven slide with speed gating and capsule resize

Explain the speed gate — what's the minimum speed to trigger a slide vs a plain crouch? How is the threshold tuned and why?

Describe the capsule resize — how do you handle the transition, and what happens when the player tries to stand up under a low ceiling?

How does slope affect the slide? Does it accelerate on downhill surfaces? What happens at the end?

Slide Slide under obstacle

Explain what this code does in plain English before showing it.

C++ · PlayerMovement.cpp
void APlayerCharacter::HandleDash()
{
    if (!bCanDash) return;
    // your code here
}
Challenge
Describe a problem you ran into — a technical hurdle, a design conflict, a performance issue.
Solution
How did you solve it? What did you try first? What did you learn?
01First lesson — keep it specific.
02Second lesson — technical, design, or process.
03Third lesson — optional.
close
No annotation
← Portfolio ↑ Back to Top