I thought it meant porting it to Unity. It’s the 17236067693276th time my thoughts are wrong.
I would use both Attributes and Values. but This belongs in #resources:community-tutorials as you aren’t making something new but rather comparing Attributes and Values
I would not say that your thoughts are wrong, rather unusual, which is also good. Also thanks for the correction, I didn’t know which topic was more suitable for this post, so I chose the Resources.
This is a good report. I use attributes for things like “Custom Character Properties”. Values should only be used for constant things like leader stats and player data. Attributes would be recommended for nonconstant things like characters and entities.
Attribute Example:
Function that creates a new projectile. Store damage into the projectile with an attribute. When the projectile is registered deal the damage dependent on the Damage attribute.
Value Example:
Function that updates Player kills in leaderstats after a kill.
It is honestly best practice to only use Values for leaderstats. Use CollectionService instead of ObjectValues.
How can CollectionService be used as an alternative to ObjectValues? CollectionService can be used to group instances with the same purpose. An ObjectValue, on the other hand, can be used to store a reference to an instance that is somehow related to a spesific other instance.
Pretty sure there’s a couple of object values that don’t have an attribute counterpart, a considerable reason why you might see someone use an object value.
Anyways, modulescripts solo. They store tables/dictionaries and even entire functions. Only downside is no client replication.