To clarify, modifying the Controller properties is totally ok and expected! I was referring to trying to insert/remove the instances themselves. It sounds like this may be a bug!
As per your request, are you saying you’d like to customize the swimming move speed for up/down separately from forward/back?
Thanks for the video of the movement shifting, I’ll look into it.
As for the cylinder rotation issue, this is definitely something we want to support. You should be able to customize what you want your up and forward axes are.
I forgot to mention this! Several Humanoid properties have moved over to specific controllers and currently we do not write one to the other.
Jumping is tuned by setting the VectorForce property on the JumpController. Yes this means you can also add an X and Z dimension to your jump! (note this is probably going to get renamed as well)
HipHeight is also now defined on the GroundControllers as a GroundOffset property.
WalkSpeed is split between the ControllerManager.BaseMoveSpeed, and the MoveSpeedFactor property found on each controller. (final speed is BaseMoveSpeed * MoveSpeedFactor)
These should be getting set correctly if you’re inserting a ControllerManager via the StarterHumaonoid workflow mentioned in the post. Otherwise, you’ll need to set these manually if you want to change them at runtime.
Extremely excited to see component humanoids are still happening, and even nicer to see it implemented in a seemingly more straightforward and understandable way compared to the old setup shown a couple years back!
However, I do have one concern. I don’t see any mention of fully scriptable custom base controllers. Without this, the dream of component humanoids simply does not exist. No matter how many base controllers get released, there will always be some idea that requires a controller that Roblox will not be able to anticipate. If developers were to have the ability to write up new controllers from scratch, then the possibilities would be endless. Being able to control when and how custom states occur happen would mean we can write out virtually any scenario we want for our players to go through. I think the customizable properties on the default controllers are beneficial and should be explored but if that’s the extent of our ability to customize the humanoid system then we’re not far enough from the current implementation, developers will continue scrapping humanoids in favor of their own systems (with potential clunky interfacing between the base controllers), and there would need to be a whole new revamp to fix that issue.
Since it’s only the first step I might be a bit paranoid and full customization is the intention for humanoid componentization, but I want to leave this here just so there’s a clear understanding of the problems these updates intend to solve.
my jump power is set to 13, by default the JumpController (auto created) is set to 50 and changing jump power does nothing unless you set it to 0. To somewhat match the jump power, I have to set the JumpController to 3
Specifically, when you do not touch the controls and you are underwater, the character will slowly swim back to the surface. I do not want this the majority of the time.
Is there a way to not use a VectorForce but use a height/offset like how JumpHeight uses? I never use forces for jumping because I like having jump height consistent with different gravity values. Will this be added as an option?
Yes this will be added. For now you should be able to still set your JumpHeight on the Humanoid, and obtain the computed JumpPower value. Then set this as the VectorForce.Y value.
This sadly set the JumpHeight to 0 because it prioritized JumpPower’s value. I manually tried setting it to 12 (A height for my platformer) and it just went to 0 instead.
Will it always remain this way? I can see this feature breaking games that implemented an ‘AirController’ like-system when the feature did not exist (however I have not had a chance to test that hypothesis)
Will we ever see an expansion in the constraints that we can use as developers? I appreciate the addition of the magic new character controllers, even though they aren’t written in Lua like I’d hoped, but I’d really like to be able to implement things like mecanum wheels and hoverpads and so on without requiring lots of manual ApplyImpulses.
Incredible update. A new character controller is much appreciated after more or less having to use the default, less customizable one for years now. One thing I’ve always been dissatisfied with as a developer is how Roblox has no customization for ‘momentum’–I think they’ve said once it was to avoid Bhopping, but I think that should be less of a problem now. Being able to set characters to momentum and have to build up their speed over time in order to start running full speed, and to have strafing slow you down depending on the movement direction (much like some character controllers Unity games use) would be great.
EDIT: after messing around with this feature it’s definitely what I was hoping for and more! It’s great to see this added : D
Greate improvement, I look forward to playing with the new capabilities! I wanted to ask if this would have any effects on the Humanoid’s FloorRayCheck? The humanoids constant check for the FloorMaterial property has been a bottleneck for some time for some of my implementations where I would like to continue using roblox’s humanoid for clothes but wish to do the movement and replication myself. This is also a feature that has been requested in past see: Accomodations for Custom Character Replication: Humanoid.DisableFloorRayCheck
YO WHO GAVE ROBLOX SOFTWARE DEVELOPERS A GIANT BOOST.
This is all straight up amazing, all features that we’ve been wanting for so so long.
Genuinely curious why there is so much higher quality content being released right now, was it some executive decision? Or a hold-up of updates, to release them all together?
THIS IS INCREDIBLE! As a player this is the best thing about this update, since in many experiences when jumping on top of a car or any object at high speed I was flying. Finally it won’t happen anymore
Not a bad update but unfortunately I’m not too excited about the implications of “Humanoid Componentization” since I think I know what that means. : ^ )