Releasing Character Physics Controllers

Congratulations on the release!

I’ve gotten some questions from people asking if this can be used for “Server Authoritative Player Movement” (aka something like chickynoid) and the answer is no, atm.

I’d love to be able to!

For this to work, humanoid would need to support something like

:StepPhysics(inputData, dt)

which could be run in a somewhat deterministic way, as well as the player simply not simulating outside of those calls.

Everything else required is there!

Congrats again on the release :slight_smile:

39 Likes

OMG OK I JUST READ 1 LINE OF THIS POST AND IM ALREADY HYPED

in my opinion one of the best if not the best update related to humanoid physics

16 Likes

elasticity property for humanoids when??

17 Likes

When you press reset it doesn’t do anything at all, and plus even if you do something like ;respawn your character will break.

14 Likes

This is great! I was excited for this to come out. Is using these controllers more optimal than using humanoids in the context of using them on NPCs that move around?

12 Likes

The CharacterStateMachine script creates an Attribute on the ControllerManager to edit the jump impulse. Otherwise you can modify that script to get whatever jump behavior you like.
The AirController is just the physics state used for movement in the air. If you use something to counter-act gravity on the character then you’ll “fly”, and can configure speeds/forces on the AirController. The SwimController may actually be a better choice since it allows movement on all 3 axis - and you don’t need to be in Water to activate it

Thanks for the bug reports, we’ll check them out.
Otherwise, this is coming later via the “official implementation in Lua” mentioned in the post. There will be a system in place so that you can get all these new controller instances with an otherwise backwards compatible Humanoid state machine.

Generalized server authority is still being worked on :slight_smile:

Can you give more details on what you mean here?

The example scripts don’t implement any logic for death and respawning. For now you’ll need to implement that yourself until the new Lua humanoid state machine is released.

It depends. If you aren’t using a Humanoid at all and you just want to move a custom NPC around than it could be more performant. Also a Humanoid with EvaluateStateMachine turned off will be cheaper than one with it turned on.
Otherwise I wouldn’t really look at these features as performance boosters, the larger benefit is just the ability to pick and choose what you want and have more control. If that’s what you’re looking to do then perfect!

24 Likes

This is really good, one of the first major improvements/updates to humanoids in a while, thank you :+1:

12 Likes

I like how we are getting more control over how humanoids interact in our games, and it’s always nice to have more control over built-in game behavior in general. No longer will players cheese slippery surfaces by jumping!

15 Likes

Instantly realizes the possibilities for my Sonic fangame

Jokes aside, good update. People have, however, been wondering if this is one of those steps towards having an excuse for sunsetting R6. Is this necessarily true?

13 Likes

Will there ever be replicated impulses, so that jumps can affect parts not owned by the client? Or does that have to be implemented manually?

5 Likes

It shouldn’t. Pathfinding doesn’t care about the agent in any way other than how big it is, and whether it can jump and climb trusses.

5 Likes

A Script is now required to set-up characters with ControllerManagers to give as much control to developers as possible.

5 Likes

Awesome update! I’ve been waiting for an update like this for quite a while. Keep up the great work Roblox!

5 Likes

how can we bring back the default truss behavior? i hate the new “momentum” and jumps being disabled

4 Likes

Does this mean characters will stop sliding on moving parts like trains, buses, planes and whatever???

3 Likes

yeah, that means they will attach properly!

3 Likes

Yay.

Will there be an option to have this humanoid as default?

4 Likes


is there an option to disable this push-off thing

10 Likes

Would this enable a player to walk on walls or upside down on a ceiling? Being able to set a vector force for gravity against the player’s root part would enable a number of interesting play scenarios.

One of which (there was a post where someone was asking about this some time ago) is you can have a large planet (sphere) and the players can walk all over the planet, including the bottom of it, hanging upside down. By manipulating the camera, the player would see things right side up.

2 Likes

They are indeed planning to make this happen.

3 Likes