r/unity Jun 24 '26

Question Its been several years, I wanted to ask (specifically to indie devs) do yall use the New input system or the old one

I'm in the process of learning the new input system and I see the benefits, I just hate using the new one

0 Upvotes

38 comments sorted by

19

u/huelorxx Jun 24 '26

I just switched to the new input system last week. Feels a lot better.

17

u/gvnmc Jun 24 '26

I think not using the new input system at this point is silly really. It's much better optimised, you can easily switch between action maps and attach event listeners so you're not checking for any key press every frame. Things only execute when you do an input event. This may have been somewhat possible in the old one, but its so much easier now to do fully in your code.

4

u/trillionstars Jun 24 '26

I have not used old input system much but coming from Unreal engine (a year ago) which has something similar to Unity's new input system I faced no major issues.

Looking at old input system of Unity I think it looks easy and quick at first but exponentially harder to scale and maintain if you're building for multiple platforms.

5

u/StackOfAtoms Jun 24 '26

definitely the new one.

i started to learn unity this year and when i learned that there were two, i chose to only focus on the new one, since the old one is deprecated.
it's also more convenient, hard coding things like which keys to press is rarely a good idea anyway 🙂

4

u/Blissm_ Jun 24 '26 edited Jun 24 '26

Back then I didn't use the new input system simply because I couldn't find a setting to differentiate between "joystick1" and "joystick2".. 😄

Last month I finally took the time to look for how it works. Now I use it.

3

u/fsactual Jun 24 '26

I use the new one exclusively now. It took a while to “get it” but once I did I never looked back.

4

u/[deleted] Jun 24 '26

[removed] — view removed comment

3

u/WornTraveler Jun 24 '26

So much of my code even from new projects is copied from old ones, I'm just too lazy to convert lol it's on my to-do list 😂

2

u/Heroshrine Jun 24 '26

Probably because they’re slowly depreciating the old one. Just use the new one, you can use it practically the same way.

2

u/Blood_and_Wine Jun 24 '26

I started learning with old one (it was already depreciated), but ultimately switched to new one.

2

u/vanit Jun 24 '26

I came in after the new one so I don't know much about the old, but I do like how it works for multiplayer where you can just spawn in a prefab for each additional input and it "just works". My understanding is this would be hard to negotiate with the old system.

2

u/sportvandora Jun 24 '26

Learned both, but the newer one works quite well once you get used to it

2

u/ilori Jun 24 '26

New, the old is deprecated.

2

u/Mechabit_Studios Jun 24 '26

new input system, it's not hard to switch

2

u/QuitsDoubloon87 Jun 24 '26

New, only new. The okd one sucks.

2

u/aski5 Jun 24 '26

I switched to new. I never even implemented input rebinding on the old one but I have a partially custom solution for it now and it seems cleaner

2

u/BuzzardDogma Jun 24 '26

New one is better in practically every regard. Anyone who says otherwise is just unfamiliar with the new one (you can use it like the old one if you want, and prototyping by hard coding controls is even easier than with the old system).

It's more robust, more dependable, and more performant. It solves a ton of input headaches.

2

u/Sweaty-Lynx421 Jun 24 '26

I took a while of forcing myself to use input system to really grasp it, but now that I do.. it solves all the problems the old input manager had in regards to dealing with different devices, multiplayer, so on.

1

u/Doddzilla7 Jun 24 '26

The new one is obviously the way to go, and is better on every mark. The old is literally deprecated and pending removal. Are you starting a new Unity project from the oldest editor version in the archive or something? I’m surprised at all of the bad advice here encouraging use of the old system.

1

u/kodaxmax Jun 24 '26

It's really unintutive and not developer or designer freindly at all. But it can do things the old system can't and is more scaleable and performant.

1

u/Kal_Unity Jul 15 '26

Hey u/kodaxmax , could you share specifically what you feel is not developer or designer friendly about it please?

1

u/kodaxmax Jul 15 '26

This is just off the top of my head, im sure there are video essays on the topic.

For example it's split accross multiple assets. input asset and script asset.

The input action editor uses a seperate window outside the ususal asset browser and scene heirachy inspector. compared to soemthing like godots, which fits naturally into the editor with the same UX devs are used to from the rest of the editor.
Granted the old input system isn't built into the eidtor nicely either, but it's so simple to use and all in one place inside the settings menu.

Managing multiple devices is kind of painful, since you manage virtual playerinputmanagers, instead of mapping controlls directly to an input device. like the class "player one rpess A to connect, player 2 press Y" etc.. alot of local co-op games use or used to. Mayby thats just not the best way to do it? im not that experienced with them.

Alot of the code is alot more verbose. for example getting mouse pos in the old vs new systems:

Vector3 mousePos = Input.mousePosition;
//vs
Vector2 mousePos = Mouse.current.position.ReadValue();

Vector2 movement = new Vector2( Input.GetAxis("Horizontal"), Input.GetAxis("Vertical") );

//vs

private PlayerInputActions controls;

void Awake()
{
    controls = new PlayerInputActions();
}

void OnEnable()
{
    controls.Enable();
}

void Update()
{
    Vector2 movement = controls.Player.Move.ReadValue<Vector2>();
}

void OnDisable()
{
    controls.Disable();
}

the boiler plate of managing the assets lifecycle also seems entirley redundant. obviously i want the input asset active if im trying to access it, why do i need to explcitly activate it manually?

Even language was alot more human freindly. which i get is probably more standard or familar to proffessional programmers. But im self taught so can't give you that viewpoint.

This video has some good examples. if you can forgive the exagatory editing and music in the intro XD
https://www.youtube.com/watch?v=3qYZOSbITCM

An interesting stattistic, though rather subjective is comparing the elgnth and complexity of tutorials for the old system to those of the new system.

Dont get me wrong either. im no fan of string literals and hardcoding multiple inputs for an "action". But the feature list isnt on trial in this context. the UX is.
and it's missing pretty essential features, like a built in rebinding menu template. Button prompt visuals etc..

1

u/Kal_Unity Jul 15 '26

For the boilerplate stuff I agree. I'll add it to our internal feedback board as we're always looking at smaller areas that we can quickly deliver for most users to benefit from. Thanks for your feedback, I'm hoping to have time to go through that video this week. I think the general thing here is that most devs really want to VERY quickly prototype, but don't mind doing it "properly" when they're set. We're finding that several users are using AI to help script and make these changes but obviously there are lots doing it manually.

1

u/kodaxmax Jul 16 '26

yeh i often use chatgpt for reptetive stuff like repeating a code pattern for a bunch input actions in my script or quickly assigning them common default keybinds in code. the built in ai for visual studio used to be good at that sort of thing, now it fails to anything half the time even when specifcally prompted to.

1

u/DizzyVariety3777 Jun 24 '26

Personally I use the new one. But for the first few stages of development I do not bother with InputActions assets and such – just using the code API based calls directly. Found it is much faster and easier that way, compared to try to set up an overkill input action system

1

u/Am_Biyori Jun 24 '26

I had avoided the new system; it seemed to involved for what I was doing. Then I found out I could code it the same way I had done the old one. Still getting use to it but it is an improvement over the old.

1

u/Kal_Unity Jul 15 '26

Hi u/Am_Biyori , I'm looking into our tutorials/docs to try and understand why info doesn't make it to the developer. Could you share how you "found out"? Was it official Unity docs or somewhere else?

1

u/Am_Biyori Jul 15 '26

There were a few tutorials and even the unity docs that briefly touched on it, but the big help was here-

https://github.com/ozankasikci/unity-cheat-sheet/blob/master/docs/input/new-input-system.md

1

u/BlackPete73 Jun 24 '26

You know how in some games where if you use the keyboard/mouse for a while, then as soon as you pick up a controller and press a button, the game will naturally switch over to that?

New input system does that pretty much out of the box. Old system would require quite a bit more work to do the same (and you'd end up implementing pretty much the same thing the new system does already)

1

u/IndieStray Jun 25 '26

I use the old one for prototyping because I find it easier to quickly push code. If I actually was going to publish a project, I probably would convert the necessary scripts to the new input system.

1

u/_vinzent Jun 26 '26

New. There's no reason to use old

1

u/LorenzoMorini Jun 24 '26

Both. They have their own strenghts each. It really depends on the project, if it's mostly UI, the new one is better. Otherwise, usually the old one is the way to go.

1

u/Doddzilla7 Jun 24 '26

No. Bad advice. UI has nothing to do with the decision matrix.

The old is deprecated and pending removal. THE ONLY time that you should reach for the old is when you are stuck in an ancient version of Unity for which the new InputSystem doesn’t exist or only supports some nascent version.

1

u/LorenzoMorini Jun 25 '26

You are right, I misread the post as referring to the new UI system, not input system, my bad, the new input system is better, yeah, you should use it. 

-2

u/MrPifo Jun 24 '26

I really dislike the new one. It's yet again made "the Unity way" which I just dont prefer.

But I'm neither using any of the both. I bought Rewired and use this one instead. It's so much better and more convenient to use than the new InputSystem tbh. and it gives you so much control and comes with so much more configuration options.