A small Unity project built with Unity 6 and the Input System. The player collects pickups, a camera follows the player, and an enemy chases the player using a NavMeshAgent.
Live Link: https://play.unity.com/en/games/d60f7848-5bc7-479b-8a6b-55f08eee14d6/rollaballbuild
- Player movement with Unity Input System
- Pickup collection and score tracking
- Win condition when all pickups are collected
- Enemy AI that follows the player
- Follow camera
- Rotating pickup objects
- Move: configured through the Input System action named
Move - Use your current Input Actions bindings for keyboard, mouse, or controller
- Collect all pickups to win.
- If the enemy touches the player, the player loses.
- When all pickups are collected, the enemy is removed and the win text appears.
- PlayerController.cs handles player movement, pickup collection, win/lose logic
- EnemyMovement.cs moves the enemy toward the player
- CameraController.cs follows the player
- Rotator.cs rotates pickup objects
- Unity 6.0.5f1
- Universal Render Pipeline
- Input System package
- AI Navigation package
- TextMesh Pro
- Open the project in Unity Hub.
- Let Unity import the packages and regenerate project files.
- Open the main scene from the Scenes folder.
- Assign the player, enemy, camera, UI text objects, and pickup tags in the Inspector.
- Make sure the enemy has a NavMeshAgent component and the player has the correct Rigidbody and collider setup.
- This project uses Unity meta files, so keep
.metafiles under version control. - Generated folders like Library, Temp, Logs, and Build output should not be uploaded to GitHub.
- If you change Input System bindings, update the
Moveaction accordingly.