Open-source In-Game Avatar Editor

Will this be improved anytime in the future with the frame rate drops?

1 Like

It’s pretty easy to do it yourself by making it page based instead of just one scrollframe.

2 Likes

How do we update it so that it can have new items every time. Example: when a new UGC item comes out and how would I add that UGC item? Can we make it so that it automatically adds new items when new items come out?

2 Likes

I have provided code on how to get a list of all the catalog items. Check the CatalogGetter ModuleScript in ServerScriptService.

On line 21 you pick which subcategory you want (subcategory ids are on lines 3-15). On line 25, you pick how many pages you want to look up. Generally 25 pages is enough for all subcategories except for the Hat subcategory.

For the Hat subcategory, you cannot get all the assets at once; you will get an error like: string too long or something; you need to split it up.
Example: On line 28

for i = 1, 25 do
for i = 26, 51 do
for i = 52, 77 do

and so on; up to 200 with what is currently in the catalog, you might need to increase it as Roblox adds more assets. You will also need to do this for other categories as creators keep assets.

You cannot use HttpService:GetAsync to get the catalog. Search for http proxy on the devforum for solutions to get around this.

4 Likes

When I finish dressing up I can’t seem to move.

1 Like

Fixed.

Roblox recently updated the camera module.

3 Likes

This is so nice. It’s clean and just very modern and sleek. I really like the design! Keep up the good work.

1 Like

How would I update the catalog?

2 Likes

you know dude i always wanted an editor that was simple thxs

1 Like

maybe add like an importing system were you can import using an id

1 Like

Why is it only available in R15 because my game is based off of R6 and it sucks that I cannot use this :confused:

1 Like

thank you!

I’ve always wondered how to begin character customization during gameplay

1 Like

could this be modified to work with custom player characters? and accessories?

2 Likes

You should be able to modify ServerScriptService.AvatarEditorServer to support R6. I think there are few parts needs editing.

Bundles: (ServerScriptService.AvatarEditorServer, line 255)
You just need to check if Humanoid.RigType is R6 or R15. I think you can just parent the bundle’s children to the character.

Scaling:(ServerScriptService.AvatarEditorServer, line 323)
You need to check if the Humanoid.RigType if R6 or R15. R6 does not support scaling.

I think that is it to support R6. Further testing might need to be done.

Probably.
For custom characters, you probably need to change humanoid:AddAccessory() to your custom method of attaching accessories to your character; Welds or whatever.
For custom accessories, you need to upload the accessory as a model and add the Id and Name to the respective category in ReplicatedStorage.Catalog.Accessories.CATEGORY

4 Likes

I would like to know how to save the avatar in-game.

1 Like

Man :confused: Why can’t this be R6 as well :frowning:

Thanks! This looks amazing! Keep up the good work. <3

is there any ways that can get all the items from roblox catalog, and load it back into the game instead of getting id of each items and put into modules

I should have thought about saving when making this. I think you can use a BindableFunction to get what the player is currently wearing from playerWearingAssets table in AvaterEditorServer and save that table to a data store. As for loading it, I should have made the avatar editor more modular. Right now there is no way to apply all the accessories at once. You can probably use a BindableEvent and call the wear(player, id) function for all the assets.

There are two ModuleScripts in ServerScriptService that can update the catalog database. You just need a proxy. There is more information on this post:

I dont know what im doing wrong

but for custom accessories, do I have to make a model of the accessorie, or the handle of the accessorie, I have been trying and I dont seem to make it work, is there something that Im doing wrong?