This asset has just one purpose - to give scriptable objects unique identifiers of small integers.The asset revolves around an automated process of assigning unique identifiers to Scriptable Object instances. It doesn't use inheritance and comes with a handy tool that helps you resolve Id conflicts in the case of merging 2 branches of a project together and other situations!Features🌱 Robust replacement for evergrowing enums that represent an asset instance while offering generation of a static class with all the Ids with a toolbar button.👴 Retired Id system to let you easily deal with game updates in which some content gets permanently removed.🔧 Adding functionality to your existing classes without changing your inheritance due to a source generator triggered by an attribute over the class.⚖️ Quick comparison of scriptable objects “by value”.🧩 Compare an SO referenced in a scene to an SO loaded via Addressables without worrying whether they are 2 separate instances of the same asset.📚 Makes it easy to lay out your game’s data in handy and performant Dictionary for each asset type.⚡ Efficient serialization (especially binary with varint encoding) takes up very little memory and time compared to string-based serialization, avoiding GC allocations caused by UnityEngine.Object.name.🛠️ [USO(Type)] attribute turns an int or int collections into an object field with an optional sprite and customizable name display in the Inspector.🎛️ Convenient selection of global and case-specific strongly typed Id types (int, ushort, short, byte).🚨 Built-in Id conflict resolver that comes handy after branch merges.🔎 Special code analyzers that help you with the correct asset utilization.🤝 Seamless integration and usage.A more in-depth pdf guide is included in the package!