Non-janky collision with 1 part only

The Building Support sub-category is intended for all development support relating to architecture on the Roblox platform. This includes questions ranging in difficulty from extremely basic to even the most technical of issues.

You may present your thread how you choose, but you are required to answer the following questions in your thread;

  1. What do you want to achieve? Keep it simple and clear!
  2. What is the issue? Include screenshots / videos if possible!
  3. What solutions have you tried so far? Did you look for solutions on the Creator Hub?

You may then include any further details.

My game has a custom startercharacter, the player is really just a 2D sprite (BillboardGUI), physically, its only a single part, the humanoidrootpart


the grey thing you see there is the aforementioned humanoidrootpart, as far as i know it’s the only part of my startercharacter with collision, i wanted it to be some cheap version of the “pill” you see in unity games, so my player can still somewhat climb stairs & what not without a “humanoid” model

however, the more oval-y i make my sphere the stranger it’s collision gets, i’ve tried importing a similar “pill” model from the catalog but that made it impossible to climb any steps slightly too high above the ground, no matter how much i resized the model

i’ve setled with a sphere for now, however there is a small issue when i stand on an edge where the sprite looks to be floating, i’d make the sphere less wide but then the collision gets janky again

sorry this is so lengthy : (

Assuming the oval you are using as a substitute for the default HumanoidRootPart (HRP) is a MeshPart, as Roblox doesn’t have any native oval shapes; the collisions on the oval aren’t the same as how they show up in the rendered view.

If you want to see the shapes Roblox uses to calculate collisions, go to the gear icon at the top right in studio and scroll down to look for “Collision fidelity” this will show you what the collision object looks like.

As for a possible solution, when you click the part, under properties there should be a property called “CollisionFidelity”. The default HRP is a physical part so it’s collisions are simulated as a box. However, if you want more accurate simulation, you can change it to “PreciseConvexDecomposition”

Roblox has a good page in the documentation on Mesh collisions which details how they calculate collisions on meshes and shows a side-by-side of each collision fidelity type.

https://create.roblox.com/docs/workspace/collisions#mesh-and-solid-model-collisions

Overall, however, I’d recommend sticking with the default HRP and scaling it to the size of the character sprite you have, no thinner than between 0.5 - 1 stud. Roblox is not made to handle thin collisions between bricks/parts and the engine is known to glitch in physics simulation and rendering when a part is too thin.