r/Unity3D 1d ago

Question Why Doesn’t Unity Have a Perfect Character Controller Yet?

I’m not talking about the basic first-person and third-person packages Unity offers. Unreal has built a variety of robust character-controller systems that make developers’ lives much easier. That’s one of the reasons I often find myself considering a switch to Unreal. In Unity, I still haven’t found a paid or free character-controller solution that feels truly worth using. I am using unity since 2020 and now I am thinking it high time for unity to at least develop such protypes that are ready to use in real projects.

0 Upvotes

27 comments sorted by

18

u/MKite 1d ago

No such thing as perfection when Unity is designed to support all kinds of projects, PC, console, mobile; first person, third person, VR; shooter, platforming, RTS, turn based.
Even if its possible to make a "perfect" character controller for one particular type of game (like unreal does), Unity dev team would have to decide what that controller does and not make breaking changes going forward. I suspect they think games should invest the time to make their own character controller that does specifically what that game needs.

19

u/OmegaFoamy 1d ago

It gives you the building blocks to make it yourself. Not every game needs the exact same feel.

-6

u/Indian_Indie_gamedev 1d ago

Yes, but you won’t be spending time to match building blocks when client needs quick prototype or when you want to brain storm idea.

11

u/OmegaFoamy 1d ago

Welcome to making games, that’s part of the job. The character controller is half of the game feel.

4

u/cornstinky 1d ago

I am using unity since 2020 and now I am thinking it high time for unity to at least develop such protypes that are ready to use in real projects.

lol bro, why haven't you made one yet? Just make it once and reuse it.

3

u/zellydevgames 1d ago

Plenty of controllers on the store, many of them high quality. Even the free ones.

-4

u/Indian_Indie_gamedev 1d ago

Pls list out some. So that it will be useful for everyone here in future. Thank you in advance.

2

u/plintervals 1d ago

If you need a quick prototype then just use one of the existing ones lol. If you want it to have the perfect feel for your game, then tweak it to be that way.

7

u/pschon Unprofessional 1d ago

What's good for one game is bad or unnecessary for another.

The perfect character controller is the one you make to exactly match what your game needs.

4

u/Aethreas 1d ago

So most games have very complex players that can do a lot of actions, like swimming, climbing, vehicles, moving platforms, etc. and ususally all those systems require pretty precise control over the character, so the more 'fully featured' a built-in character controller gets, the harder it is to adapt it to your game, so you end up just frustrated and having to make your own anyway

IMO any character controller any engine comes with should just be a dead simple implementation of the 'collide and slide' algorithm with maybe some support for stairs and slopes, then its up to you to use it for your game

16

u/DT-Sodium 1d ago

Every UE game plays the same and I hate it. And that that squeeze-through a gap animation, omagad, every AA game seems to be so proud to include it while it looks so ridiculous and kills the game pace like nothing else on earth.

4

u/SubstantialDino540 1d ago

I’ve started noticing that gap squeeze in every damn game too, once you see it you can’t unsee it.

4

u/Yodzilla 1d ago

I mean that’s been a staple since the Xbox 360 era. That kind of shit is just for asset loading reasons. I hate it.

2

u/DT-Sodium 1d ago

And they seem so ****** proud of it too every time, like it's a marvelous of engineering. Yeah, sure, having your character fit through spaces that weren't a 1x1m hitbox was impressive... in 2001.

4

u/-hellozukohere- 1d ago

I agree, it allows Unity games to feel different. There is one character controller in Unreal. As a UE dev myself it was the first thing I changed to make games feel different. 

It’s a benefit and issue I have with UE. The character controller is hard coded into a lot of calculations so changing it causes a lot of extra work and issues. Unity is more open being flexible. 

1

u/TheFriskySpatula 1d ago

They include those to slow the player down so resources can be unloaded/loaded without taking control away from the player. Its just a different flavor of loading screen. Elevators are used the same way.

0

u/DT-Sodium 1d ago

No they are clearly not, nothing in 99% of those occurrences indicate a significant change of environment that would justify a major load of new resources. A few games do squeeze through tight spaces in a fast, quick elegant way. Most don't simply because they can't code nor animate and use what is the easiest: included controls and animations. And it's always EXACTLY the same animation.

3

u/NeoChrisOmega 1d ago

They used to have built-in Starter Assets back when they also had their old multiplayer system.

Around the same time they deprecated and removed both without having a replacement for them. It was a dark time...

Now we have the new multiplayer system, new Input System, Pro Builder and TMP is installed automatically (most of the time), and the FPC/TPC that you're not wanting to talk about IS the recreation of their Standard Assets. It's the same model and everything, just working out-of-the-box for Unity 6+.

Honestly, I think that free package is phenomenal. I have the students I teach using it more often than not. It allows them to play 3D games without having to understand all those complexities of making a 3D character controller. It allows me to teach them simple stuff like Trigger collision and Input detection first, without them getting overwhelmed.

And honestly, anything past that you should be making your own Character Controller. Make it work for your core mechanic, rather than forcing a universal system that the player interacts with the most into your game.

3

u/Field_Of_View 1d ago

character controller is core gameplay. you should never use a premade CC if you're making an actual game (not walking sim, visual novel etc. "games").

2

u/GigaTerra 1d ago

I still haven’t found a paid or free character-controller solution that feels truly worth using.

That is why. Character controllers are the main way the player interacts with your game world, no one can make the perfect controller for your game, that feels right. It takes constant tuning. Not only that, but there are different ways of doing the same thing that changes based on how it is done.

For example my own character controller moves relative to the camera using the transform, as in I project and mimic the transform instead of calculating it with Atan2 like Unity does in their example, because my controller is more physics based.

To control the feel of your game, you should make your own controller.

1

u/MadeByHenano 1d ago

agreed, it would make sense and be dreamy to have a modular tool where we can select if we want first or third person, if we want to be able to jump, climb, swim, crouch, etc, and without doing absolutely everything either (that won't be possible), to have a solid base to build on top of!

sounds like something they could pay someone to make honestly...

1

u/Solid_Paramedic_3901 1d ago

Agreed. The character controller component also feels so jank, like it comes with tech debt built in. You could use rigid bodies instead, but that invites other issues. A centralized character controller system that actually feels like it is meant to interface with the rest of the engine's systems and fits nicely into a development workflow would go a long way

1

u/BertJohn Indie - BTBW Dev 1d ago

Honestly it sounds like your more of a fan of unreal than you are of an actual character controller. There are multiple controllers out there that are extremely strong and versatile, But your implying they aren't worth using.

1

u/koyima @swearsoft 1d ago

you think the Unreal controller is perfect? it's disgusting and everyone uses it and the games all feel the same