2022-09-08
6334
#unity
Marian Pekár
130548
Sep 8, 2022 ⋅ 22 min read

Building a third-person controller in Unity with the new input system

Marian Pekár I'm a programmer by heart and soul. Today, I'm fluent in C#, C++, and JavaScript, and I love making games. I work full-time as a programmer in Bohemia Interactive studio, in my spare time I write blog posts, occasionally create a game on a game jam, and constantly learn to be a better developer.

Recent posts:

RAG vs. Fine Tuning, A LogRocket Article

Fine-tuning vs. RAG: Which AI strategy fits your frontend project?

Compare fine-tuning vs. RAG to design faster, smarter, and more responsive AI-powered frontend experiences.

Ikeh Akinyemi
Jun 16, 2025 ⋅ 8 min read
7 Common CSS Navigation Menu Mistakes And How To Fix Them

7 common CSS navigation menu mistakes and how to fix them

Navigation menu errors are common, even for seasoned developers. Learn seven common navigation menu errors and how to solve them using CSS.

Temitope Oyedele
Jun 13, 2025 ⋅ 6 min read
Comparing the top 5 React toast libraries

Comparing the top React toast libraries [2025 update]

Compare the top React toast libraries for when it’s more trouble than it’s worth to create your own custom toast components.

Nefe Emadamerho-Atori
Jun 13, 2025 ⋅ 16 min read
Comparison between TanStack Start and Next.js — two modern full-stack React frameworks with different architectural approaches.

TanStack Start vs. Next.js: Choosing the right full-stack React framework

TanStack Start vs. Next.js: both are powerful full-stack React frameworks, but they take fundamentally different approaches to architecture, routing, and developer experience. This guide breaks down their core features from SSR and data fetching to TypeScript support and deployment, to help you choose the right tool for your next React project.

Abiola Farounbi
Jun 12, 2025 ⋅ 8 min read
View all posts

9 Replies to "Building a third-person controller in Unity with the new input system"

  1. I have the problem that Unity doesn’t recognize the Controls.IPlayerActionsn / Controls.
    It is recognizing the normal UnityEngine.InputSystem and I made sure I included that package in VS Code. Any ideas? 😀

    1. Fixed the problem in case anyone runs into the same, here is the solution:
      check the generate c# class in the inspector 😉

  2. After implementing all the code and going trough the article multiple times, the movement works but it doesn’t play any animations.

  3. Hi Marian, thanks for the great tutorial, it seems to work nicely for me.
    I’m having an issue where moving sideways causes the camera to rotate a bit, i.e. if I walk left without manually moving the camera, it will turn enough that eventually the character will walk in a full circle.
    Do you have any ideas how I can fix this?

    Cheers,
    Elric

    1. Hey Elric,
      Did you figure out how to stop this? I can see what is happening with the camera but I cannot figure out how to fix it.
      Cheers,
      Brandon

      1. You need to go to the cinemachine camera and find the setting Orbits > Binding Mode and set it to World Space instead of Simple Follow with world up.

  4. I can’t find Cinemachine collider in my project. I’ve done all steps before it. Is it suppose to show up on Add Component?

  5. @Yujin, even though it says component above, it´s actually an extension. You´ll find it in a dropdown menu of the CinemachineFreeLook component at the very button.

  6. Character floats on play. The isGrounded check fails so it plays the Fall Animation (check in MoveState). Character is standing on a plane with a mesh collider! Any thoughts? thank you.

Leave a Reply