Should i just go with the old input system

Hello there,
I finished the whole junior programmer stuff from unity learn and wanted to start making games by making a really simple fps. And for that and wanted to learn how to use the “new input system” since what you learn in the junior programmer is the old one and ngl that got me legit tweaking.

Problem is: every guide/tuto I find is on different unity version, uses different methods, some use the generate C# Class some do it themselves and it just seems so complex for nothing. I could just basically copy what I see but I really want to understand what I do.

Should I just stick to the old way at least for now until I get more advanced in unity or keep trying to learn how to use the new system?

Use the old input system as it’s much easier to understand. But keep in mind that if you use the GetAxis methods then they can’t be remapped at runtime. So if you decide to release a game and you want the users to be able to remap their keys then you’ll have no choice but to change your player’s movement code to use something else other than GetAxis. Still, it shouldn’t be that difficult.

For now just have fun and just make something. Don’t stress over the fancy new stuff that Unity adds.

Use the new Input system, but skip all the fancy parts until you need them. Just use the simple stuff like:

if (Keyboard.current.wKey.isPressed)
    WalkForwards();

if (Mouse.current.leftButton.wasPressedThisFrame)
    Shoot();

It’s super simple, and then when you want to add rebinding or different control types, you can replace Mouse.current.leftButton with shootAction, and keep the code the same.

2 Likes

thx for those answer, i think i will do a prototype using the old system to really understand how it work since it seems way easier and then i’ll try to learn that new input system

You can use both Input System at the same time by using Preprocessor directives. That way you can compare how they work on the same project. Of course it can lead to more complex problems, but it’s worth it! :smiley: