Releasing Character Physics Controllers

@bule_exe @caIcifers @dec23viktor @whatplayer5858 @max52229 @CringeEngineer

This feature is not related to Humanoid Rig Types. The ControllerManager does not care about how the character is rigged.

Let’s otherwise please keep this thread on topic - there are other places to discuss R15/R6.

14 Likes

It literally works fine with R6, I am using it in my own game…

2 Likes

(cc @focasds)

Thanks for the report, does look like there is a bug here.

When the floor is removed the Controller should and does deactivate. This is because the GroundSensor.SensedPart is nil.
However, once when the floor is re-inserted, the sensor should see the floor again and the GroundController should reactivate. Looks like that’s not happening here and we’ll get it fixed!

7 Likes

this is great news, I feel like there’s been a disconnect on customizing movement previously

1 Like

when accelerating and decelerating the character do the animations slow down with the deceleration? or no?

And another question. Does Initializing the new controllers under the humanoid mean that it just replaces the physics right? Does it mean that the controllers work with a humanoid or independent of the humanoid?

1 Like

Custom character controller. Egomoose has a great open source one if you want to take a look.

x_o also open sourced an awesome BMX custom character controller, but it’s a totally custom implementation with procedural animations.

1 Like

Not sure how it determines when parts are climbable, but I believe you can adjust its sensor radius with the SearchDistance property.

1 Like

It seems to not be working for me. I followed the steps correctly in the original topic, but nothing activates. Changing any of these properties has no effect.

image

image

This is my character as it was when I took the pictures above:

Character.rbxm (23.5 KB)

1 Like

Is this related to it? With this release you have to use a script.

1 Like

Yep I am also having the same issue

1 Like

actually i just found out that the sensor uses the height and width of the part so i just changed the size of the hrp. gotta be a better way though

2 Likes

It doesn’t seem to play nice with seats, I can’t get out

6 Likes

This is practically one of the only reasons why this holds me back from adding it in a game that relies on the teleportation of characters.

5 Likes

You need to implement seat behavior yourself in your own scripts. It isn’t built in

5 Likes

Not really, the Parts in your character should continue to follow the same ownership rules as any other set of Parts. We will continue to make improvements in this area however so things may change (and we will announce)

No changes to how the Animations work. They will continue to play at the speed of your character. The post mentions there is a known issue with the movement signals when on moving floors. This can either be solved by custom animations or waiting for a fix.
Your other questions are answered in the main post.

This will introduce some redundancy. The GroundController already is already creating a “contact” with the GroundSensor.SensedPart at the GroundController.GroundOffset below your root part.

If you just want to increase the range you can increase the SearchDistance
Otherwise you’ll need to write your own sensor logic.

4 Likes

@GregTame @bluebxrrybot @2jammers

Just to reiterate:
There is no straightforward migration path to new controllers yet.
Turning off EvaluateStateMachine will disable more than the ControllerManager and my scripts will provide.

Things like sitting, death/respawn, shift-lock, state replication, and more would need to be manually re-implemented if you want EvaluateStateMachine off. The new Controller instances are not drop-in replacements, rather a new set of tools that can be used to build your own system.

That being said,

If you are looking for a drop-in replacement, you’ll need to wait for this. We hope to have a beta later this year.

13 Likes

Works wonderfully for me, however I’m using an IK Leg system for R6 and due to the legs needed to have their collision off, all players sink into the floor. Anybody know how I could fix this?

The system I use:
Leg Controller (IK Included) - A quality solution to leg movement - Resources / Community Resources - Developer Forum | Roblox

1 Like

I really like updates like these that give more improvements and additions to existing features! I really hope more like this come in the future :happy2:

1 Like

I just want to give everyone the heads up about something that I spent a couple hours debugging:

If your NPC’s position is not replicating properly between the server and client, make sure you check that the Root Priority of the HumanoidRootPart is the highest priority.

Happy programming y’all! :slight_smile:

3 Likes

I’m afraid I’ve been misinterpreted, the cylinder is to add collisions with walls and other entities, it’s not supposed to make the controller stand on the ground, i knew how GroundController worked.
I’ll also take this opportunity to ask, is the aim of this new controllers to also enable developers to create more optimized versions of humanoid, or is it simply a more modular alternative? (with the extra physics based features of course)

1 Like