I want to use a cylinder as the RootPart of a character controller, but to do so I need to apply a transform to get it into the correct orientation. However there is no option to change what the desired orientation for the RootPart is.
The RootPart is tied to the controller in some important ways so it’s kinda difficult to solve this problem by other methods. If I weld a dedicated collision part to the rig and change the RootPart to be smaller then I get weird unstable jumping behavior because the controller manager isn’t able to stabilize the character’s physics properly without using the RootPart as the canonical hitbox or something like that.
I know it’s not the question, but could you elaborate on why you want a cylinder as the root? Are you welding spheres to it to form a capsule collider or something like that?
I am working on a toroidal custom character/vehicle. The cylinder is to quickly prototype the general shape and physics of the character before we produce a better shaped mesh without sharp edges. Since it’s only an approximation I suppose it’s possible to just use a box mesh instead, though I’d prefer to use the cylinder because it matches the shape better.
So the goal is effectively low-effort, low-3D-modelling-expertise putting stuff together. I dunno how often it will come up, but I am also thinking about situations where people are trying to just quickly reuse/repurpose their meshes and put stuff together, or when they intentionally want to use a “bad” collision shape with hard edges in particular places (such as cylinders) for some reason.
Also another more practical solution to the instability I mentioned in the OP is to set the RootPart to be the same height (after rotation) as the separate rotated collision hitbox part, which appears to stabilize the physics, and also set RootPart.CanCollide = false so it cannot interfere with the hitbox’s collisions.