Is it necessary to check if a player owns a badge before awarding it to them?

Is it necessary for me to use BadgeService:UserHasBadgeAsync before calling BadgeService:AwardBadge? My badges (kill streak achievements) can be achived multiple times and I’m wondering if it’s nescessary to ensure that I don’t attempt to award a player a badge that they already have.

I feel like it would just be less efficient to check if they own it as that’s one extra method called when the script would work perfectly fine without it.

I don’t think it’s necessary to include BadgeService:UserHasBadgeAsync() with BadgeService:AwardBadge() because calling BadgeService:AwardBadge() kind of already checks if the user has the badge. BadgeService:UserHasBadgeAsync() is mostly used for other purposes, like granting a player access to an area if they own a badge.

3 Likes