Rebuild R6 Accessories Module | Add PBR Textures & ParticleEmitter compatibility to R6 characters!

After I finished The Hunt event and got these new accessories with really cool particles and textures, I realized that games that uses R6 characters, the PBR and ParticleEmitters does not work, I am unaware of why roblox has not added this (Probably since roblox does not want developers to use R6 anymore, so they lock these new features for R15/Rthro only) So I made this module which converts the R6 accessories (SpecialMesh) into the new R15/Rthro accessories (MeshPart).

Here a comparison with SpecialMesh and MeshPart (Using this module)

Here a tutorial on how to get this working (You can skip this if you are already familiar with modules)

Note: Make sure to have the property MeshPartHeadsAndAccessories in workspace enabled or set on default, otherwise this module will not work.

  1. Place the module anywhere you prefer.
    Preferably being a descendant of ReplicatedStorage, this module only works on the server so you can also use ServerScriptService or ServerStorage
    Trying to use this module in a LocalScript will just return error.

  2. Locate the module in a script and use the require function.
    Here a quick example:

local RebuildAccessoriesModule = require(game.ReplicatedStorage.RebuildAccessories)
  1. Once thats done, you just have to run the function Rebuild with the players character (It also works with non-player characters)
    Example:
local RebuildAccessoriesModule = require(game.ReplicatedStorage.RebuildAccessories)
game:GetService("Players").PlayerAdded:Connect(function(newPlayer)
	local function CharacterAdded()
		local Character = newPlayer.Character or newPlayer.CharacterAdded:Wait()
		local Success, Result = RebuildAccessoriesModule.Rebuild(Character, newPlayer)
	end
	CharacterAdded()
	newPlayer.CharacterAdded:Connect(CharacterAdded)
end)

You can get the module here.

Last note: This module may not be the most optimized or has the best method, this module uses Humanoid:GetAppliedDescription() and Humanoid:ApplyDescription() to get the accessories with meshparts, I made this module yesterday in like 15 minutes, if I ever find a better method to do this I’ll update the module!

19 Likes

This is probably partly to maintain compatibility with R6 games which expect a part named Handle and a SpecialMesh under Accessory objects.

Those accessories look awesome with Particle FX and SurfaceAppearence under R6 though!

5 Likes

Which in my opinion is a really strange line to draw, considering all of the other bazillion changes they had no problem making before R6 effectively became a legacy rigtype. That we need to write hackish implementations such as these just to do the conversion, is pretty ridiculous. By now, we should already have some built-in API or setting to enable this directly.

1 Like

That’s what I was thinking, I am not sure why Roblox has not added a feature that does this, I get it they want to keep the “legacy” style in R6, but I don’t see whats wrong with letting us have MeshPart accessories in R6.

1 Like

I get it it is to keep the compatibility with old games that use R6 and rely on SpecialMesh, but lets all be honest here, we already have been through a lot of updates that have broke so many games, giving us the ability to use MeshPart accessories in R6 as a toggle option, would be really nice, there shouldn’t be such problems with keeping old games running perfectly fine even after such option being added.

Even I was confused on why the property of MeshPartHeadsAndAccessories under workspace only works with R15/Rthro, I don’t see why someone would want to downgrade MeshPart to SpecialMesh in a R15 avatar, when MeshPart accessories look way better and even fixes some issues with low poly models. (Some accessories look different in their SpecialMesh version than their MeshPart ver.) If that property did worked for R6 avatars as like, if you set it to Enabled it would spawn with these MeshPart accessories already in a R6 rig. It would be much easier than having to rely on own made implementations.

That’s just my opinion though! I think the new MeshPart accessories looks really cool with R6 avatars. Hopefully one day Roblox will add this as a feature.

2 Likes

Alright so now seems like either Roblox saw this post or just by coincidence they decided to make the accessories with particles work in R6 by default now, that was really unexpected, but anyways the module will still be available if you want to also use the PBR textures these accessories have, since they just fixed the particles but not the PBR textures (Which I can understand since PBR is only available for MeshParts)

2 Likes

This module rules, not just for the PBR textures but also because it fixes the annoying texture issues with accessories on R6.

Broken:


Notice the weird white line down the front and the low quality pumpkin faces.

Fixed:


Perfection!

Thank you very much for this, great work!

1 Like

Roblox should just change it from special meshes to meshparts.

2 Likes