Nametag+ peer review

Recently, I’ve made a brand new nametag system to replace this old one I built a while back. The goals of this project are to create a hyper-customizable, modular, performant, and easy-to-contribute-to system. It is 100% free and open-source and will be in #resources after the issues from this code review are fixed.

Guidelines:

  • Feel free to use the examples included in the place file to diagnose errors and better understand how the system works. Note that those do not require code review, and are there purely for exemplification. The entire system is in ReplicatedStorage.
  • I’ll update the known issues section below with acknowledged issues with the system. Be sure to check there before posting to avoid repeats.
  • You probably should wait until I release the system entirely to use it in a production game. I doubt that it works perfectly as-is.
  • Some upcoming features are already planned:
    • Batch changing tags
    • Moving the function to wait on a player’s name to load into Utilities

Stuff to review (pick one; both have the same code):
GitHub:

Place file:
NametagPlus0.2.rbxl (26.6 KB)

Known issues:

[FIXED] Change to a custom wait function to minimize unneeded delay. Heartbeat:Wait() is a very consistent alternative. Thanks NeoInversion!

1 Like

Not sure if its something that happened while uploading to GitHub (pretty sure this happens when manually committing through the website) or not, but there is some weird indentation in some places. Only other thing I immediately noticed was the use of wait(). Normally I wouldn’t point this out, but if you want to be a stickler about it then you might want to use Heartbeat:Wait(). Most if not all else of what I would change is because of my coding style. If this gets the job done, then I’d say it looks pretty good.

1 Like

I double-checked it and the indentation looks right to me. Probably just a GitHub error.

Would you recommend that or using a custom wait function with os.time()? I try to avoid polling when possible, but unfortunately until Roblox adds an event for this, there isn’t a better way. I’ll probably file a bug/feature report about the player’s name not being loaded eventually in #platform-feedback.

Thanks! You can also try it out in the place file, or in this game: