
Code & Tool: Unity, C#
Stars: 50+
GitHub: https://github.com/Brian-Jiang/SmartReference
Unity Asset Store: https://u3d.as/35Sh
Smart Reference is a Unity plugin designed to reduce direct asset dependencies by referencing assets through paths rather than Unity’s default referencing system. This approach helps avoid the performance issues caused by loading unnecessary assets when accessing ScriptableObjects or MonoBehaviours.
For instance, if you have 100 monsters stored in ScriptableObjects (each containing data like sprites, models, and materials), Unity would normally load all dependencies (e.g., textures, shaders, models) even if you only need the monster’s name and description. This leads to significant memory usage and loading times.
Smart Reference solves this by storing asset paths instead of directly referencing them, as shown in pictures below. At runtime, assets are loaded only when needed, drastically improving performance without changing your workflow. The plugin serializes references using Unity’s GUIDs and paths, ensuring efficient loading at runtime while maintaining familiar editor functionality.


Additionally, Smart Reference features auto-generated documentation created with Docfx. You can explore the full documentation here. With the help of GitHub workflows, the documentation is continuously generated, and it’s used to test and validate merges, ensuring smooth development and integration.
By integrating Smart Reference, you can load only the necessary assets and optimize your game’s performance, especially when managing large amounts of data. It’s an essential tool for developers seeking to reduce memory usage, streamline loading, and improve overall asset management.