Due to being unable to currently access the required Unity installation/project files, a gameplay demo video cannot be generated at this time. This section will be updated with a video showcase once access is restored.
This project, developed during my second year at Gateshead College (Games Development, 2024) was an exploration into creating a foundational 3D character movement system using Unity and C#. The primary goal was to implement core mechanics like walking, running, jumping, and crouching. This controller served as a practical exercise in handling input, managing character states, and working with Unity's Rigid Body component. It was later adapted to provide the base movement for the character used in my AI Behaviour Showcase project.
Third-Person Camera: Implemented a follow-camera system with vertical angle clamping to prevent unrealistic rotation.
Movement States: Coded distinct movement states including walking (default) and sprinting (activated by input, increased speed).
Jumping: Developed jump logic incorporating ground detection (trigger box) to ensure the character can only jump when grounded.
Crouching: Implemented a crouch mechanic that reduces character height (allowing movement under obstacles) and modifies movement speed.
Engine: Unity
Language: C#
Core Concepts: Character Control (Rigidbody), Player Input Handling, State Management (for movement states), Collision Detection / Ground Detection (Triggers), Camera Control
IDEs: Visual Studio
Developing this foundational character controller provided valuable practical experience with core Unity systems:
Collider Manipulation: Implementing the crouch mechanic presented a significant challenge, specifically in correctly adjusting the character's collision size to allow movement under obstacles. Overcoming this required careful experimentation with Unity's collider components, along with in-depth research.
Scope Management: While the core movement states (walk, run, jump, crouch) were successfully implemented, initial plans included additional features like sliding. Due to time constraints, these features had to be cut, reinforcing the importance of realistic scope management and prioritization during development.