Change Mesh.RenderFidelity to Performance at runtime?

In my game there are 2 separate humanoid descriptions, one for female, and one for male.

When a player joins, the appropriate humanoid description is applied to his/her character.

Since the male character has ~10K tris, I want to push the optimization to maximum by setting all of the character’s meshes RenderFidelity to performance.

I have tried doing:

character.DescendantAdded:Connect(function(descendant)
    if descendant:IsA("MeshPart") then
       descendant.RenderFidelity = Enum.RenderFidelity.Performance
    end
end)

It throws an error saying that scripts don’t have writing access to render fidelity, and render fidelity can’t be changed at runtime.

Is there any other way to make all the character meshes render fidelity = performance?

1 Like

Do it in edit mode by running a script in the command bar

1 Like

you missed the point. During runtime, during actual game, a humanoid description is applied to the character, depending if the person chose to be a male or female.
When a humanoid description is applied, all the meshes change, so I need to change their render fidelity in runtime.

1 Like

Best thing you can try is optimizing the mesh itself to reduce triangle counts, having a lot of triangles in your character model is counterintuitive if you’re going to lower it in the live game to begin with

1 Like

Unfortunately, there is no way to set the render fidelity of a mesh part at runtime. The best way to optimize your character is to reduce the number of triangles in the meshes, and to make sure that the textures used are optimized for performance. Additionally, you can use Roblox Studio’s MeshOptimizer tool to reduce the number of triangles and improve the performance of your character.

1 Like