New Humanoid Physics Controller - Beta

Glad to hear that!

Unfortunately, yes. Whenever I set it to higher values, instead of moving in the chosen direction faster, it just makes the character spin.

1 Like

I’m starting to develop a game, can I use this and expect it to be released this year, or should I just stick with the default. stuff?

Also if dragging the controller under humanoid does not work anymore, how do I use it right now?

1 Like

I remember about a year ago you mentioned that you also plan to make players able to climb walls side to side after you fixed all the bugs. Will players be able to climb around corners aswell? Let’s say we have a room with 4 walls. 2 walls are covered in one ladder/truss that wraps around those 2 walls. Can a players climb to the other side? A 90 degree angle? Will this work for spheres and cylinders? The game Find Everything from Polyhex does a great job at what I am trying to describe. It has a phenomenal climbing system!

1 Like

Are you going to plan to make client position in sync with server position? Since a staff got an attention to this but it haven’t got fixed for a year!

This is a huge problem for competitive game like a local player perspective got hit from 5 studs away or further while other’s perspective saw they have correctly hit the local player

5 Likes

Hello,

I’m having this issue where when I insert the ControllerManager into the StarterHumanoid, it just will not let me jump.

I’ve tried changing every single property on every single controller, but it won’t work. Maybe I’m doing something wrong?


image
Here’s an image of the objects if that’s any help.

Thank you in advance!

Found something pretty odd. When the RunningController is changed to these stats, movement on the ground acts strange.
image

Here’s what I mean: When moving the character counter-clockwise, the character walks normally. But, when moving the character clockwise, the character walks slowly.

2 Likes

Isn’t that because you aren’t applying enough friction to even go that fast?

I’m having this strange issue where jumping with the beta controller plays the jumping animation, but the jump barely lifts off the ground. I only added a StarterHumanoid and the ControllerManager, so all the controllers are the default ones. It’s similar to if I set the jump power to 1 or jump height to some ridiculously low number in the legacy controller. If it helps, when I jump with the new controller, the ControllerManager’s active controller changes to the AirController for a split second instead of the JumpController.

i think you have to code the jump controller now since the lua stuffs are coming out, they did say they’re removing linear impulses of the controller in favor of ApplyImpulse of the BasePart so you have to code your own jump

luckily its as easy as making a JumpRequest for the user input service and checking if the FloorMaterial is not air at the moment

Will it be possible to change how quickly a character reaches full jump height?

That would be a combination of Gravity and JumpPower.

1 Like

Nope. Even when BalanceMaxTorque is set to 0, it has some insane infinitely-strong gyro behavior that makes it impossible to rotate the craft.

So it’s impossible to use a GroundController to solely create a hovering force.

Model: Hovercraft.rbxm (10.1 KB)

When is this planned to come out? It’s almost been a year

2 Likes

One troubling problem is the NetworkOwnership handling of the JumpController properties, it’s extremely difficult to not just use Humanoid exclusively, when the client is basically unable to jump with a character that’s :Cloned() on the client.

My main purpose of entirely using the ControllerManager on client would be to benefit from the better physics handling, especially for a tutorial stage where all the players will be invisible from one another, sharing the same space. This also benefits the game experience by not having to teleport players to different locations, or solo experiences.

Placed within a default StarterCharacter, I copied and pasted both the GettingUpController, and RunningController, from an instantiated Character. Both of these are only spawned during runtime. With the StarterCharacter having all of the ControllerManager dependencies set as the children, the “TutorialCharacter” is locally instantiated.

Using the PlayerScriptsLoader, I instantiated our local player without using the server’s :LoadCharacter() command.

--[[
	PlayerScriptsLoader - This script requires and instantiates the PlayerModule singleton

	2018 PlayerScripts Update - AllYourBlox
--]]

require(script.Parent:WaitForChild("PlayerModule"))

local tutorialCharacter = game:GetService("StarterPlayer"):WaitForChild("StarterCharacter"):Clone()
tutorialCharacter.Parent = game:WaitForChild("Workspace") tutorialCharacter.Name =  "TutorialCharacter"
local tutorialPlayer = game:GetService("Players").LocalPlayer
tutorialPlayer.Character = tutorialCharacter
local tutorialAnimate = game:GetService("StarterPlayer"):WaitForChild("StarterCharacterScripts"):WaitForChild("Animate"):Clone()
tutorialAnimate.Parent = game:WaitForChild("Workspace"):WaitForChild(tutorialCharacter.Name)
tutorialPlayer.ReplicationFocus = tutorialCharacter:WaitForChild("Humanoid")

The result is a character that can’t jump, oddly. Almost everything else works as intended. Everything’s properties are default!

4 Likes

I’m having a similar issue with characters that aren’t loaded via LoadCharacter (custom rig), or loaded via StarterCharacter. This is the only thing preventing me from using the (otherwise amazing) new character controllers in a playtest :frowning:

2 Likes

Update!

The ControllerManager and Controller instances are scheduled to release in two weeks.

As mentioned before, we are doing some revisions on how the ControllerManager and Controller instances are used. These are to further remove any dependency on the Humanoid in order to prepare for the more advanced and customizable movement systems coming over the next year.

This means the ControllerManager-Humanoid override will stop working. we are instead going with an option where the Humanoid physics can be disabled independently, and the Controller instances can be used independently.

These changes will become active in this Studio beta next week, Tuesday Sept 5. The steps to opt-in to the Controller instances outlined in the post will not work.
Instead, you’ll need to manually disable Humanoid physics and state machine (property coming for this) and hook up the ControllerManager yourself.

This is still a temporary step, over time more tools and implementations will be available which will require less work to set up. There will be more info in a separate announcement with the full release of these instances happening mid-September - looking forward to seeing you try stuff out then!

17 Likes

What’s the point of this reply? This behavior isn’t live yet.

On another note, this update is totally unusable. You cannot jump with R15, and R6 is stuck in the ground on almost every launch.

2 Likes

Why can’t you read what I posted. If you enable the beta feature, then the new humanoid controller is used by default. Do not manually add a ControllerManager. Because that no longer works. It’s not that it “isn’t live yet” - that method no longer works.

Being stuck in the ground is a symptom of not reading, it means you put a ControllerManager in the StarterHumanoid despite being told that no longer works.

1 Like