Badge Issue - Won't spawn

I haven’t created badges in many years and I have now just created a bunch of them and need them to be physical. Is there a place where I locate the badges in studio so I can start placing them? By the looks of it, you only have the Game view that lists all badges and allows you to copy the badge ID and place it self-made badge. Do they not provide them to you anymore? I’m not even sure how to get the badge image on there without having to go upload the image.

Hopefully, there is a solution, and if not, guess I’ll have to take the long route. Still don’t know why they would do this as doing it manually for each one is a lot more time-consuming than previously, but I hope I am wrong and there is just some new way to access them.

You will likely have to do a part that when you touch it, you run a code giving the badge. As far as I’m aware, there are no longer “Badge Spawners”, but I haven’t worked much with badges. Don’t take my word on it. Good luck!

Dang, if that’s true, then it’s going to be rough with badges when considering roblox used to have it ready to go for you and you just needed to place it somewhere. All well though.

I might be wrong. Luckily, it is pretty easy to type up a script handing the badge off

You can take one of those badge models from 2015 that automatically give you the badge once you walk on the plate and all you have to do is replace the old badge id with the new one.

3 Likes

Here’s a handler, you would have a part and a decal set to top, and a NumberValue inside the part. The script would be inside the part.

local badgeId = script.Parent:WaitForChild("BadgeId").Value
local badgeService = game:GetService("BadgeService")
local badgeInfo = badgeService:GetBadgeInfoAsync(badgeId)
local decal = script.Parent:WaitForChild("Decal")

if badgeInfo.IsEnabled then
    decal.Image = "rbxassetid://".. badgeInfo.IconImageId
    script.Parent.Touched:Connect(function(hit)
         if game.Players:GetPlayerFromCharacter(hit.Parent) then
             local plr = game.Players:GetPlayerFromCharacter(hit.Parent)
             badgeService:AwardBadge(plr.UserId, badgeId)
         end
    end)
end

The number value would be called BadgeId and it’s value would be the badgeId. :smile:

You also might wanna take a look into; BadgeService3

1 Like