
Load assets on demand without Addressables or Bundles
Almost zero editor setup!
Fast, extendable, production-proven and Open Source!Docs and Use Cases | Repo | Unity DiscussionsWant to load assets ondemand but:don't want to mess around with Addressablesdon't want to use any type of Bundlesdon't want to manage addressable assets separatelydon't want any big system yet (on early stage of project)Flexy.AssetRefs will help you to Load assets on demand from prototyping stage and add bundles complexity only when game grows up! or Never :)Flexy.AssetRefs provides an efficient way to indirectly reference assets and scenes, offering a cleaner alternative to Unity Addressables. It focuses solely on asset referencing, allowing full control over how assets are loaded at runtime without enforcing specific bundling or loading methods.Designed for flexibility, Flexy.AssetRefs is easy to use from the prototyping stage. It is well-suited for small projects where Addressables can create more issues than they solve and easily expand to more complex systems later.Key Strengths:It is Open Source :)Fast: pure struct basedECS-Compatible: because it is structCustomisable: load methods can be totally replacedGDD Friendly: store asset references directly inside GameDesignDataAsset Loader can be totally replaced (Bundles, Addressables, Custom, ...)Editor-Friendly: works seamlessly in the Editor without extra setupSceneRef: allows loading scenes in the editor without adding to Build SettingsToggle runtime/editor behavior with simple menu item clickClean Inspector: looks like regular asset referenceProduction-Proven: used in released games since 2019Minimal Inspector Clutter:Looks like regular reference in inspectorDoes not clutter GO inspectorOnly one simple file in project to collect necessary data for runtimeSee Docs and Use Cases for usage samplesFlexy.AssetRefs is:Modular and Simple to use: we separate the reference system from complex asset bundles bundling and downloading. Flexy.AssetRefs focuses only on asset references for on-demand loading. Flexy.Bundles adds bundles building and downloading capabilities. This modular approach avoids the complexity of a heavy solution like AddressablesEasily Extendable: asset loading methods is C# extension methods, which means that users have flexibility to define their own loading methods with any indirections, additional checks or better knowing used loading backendDouble Easily Extendable : asset loading done through AssetLoader instance that is backend for loading any ref and can be replaced with your own implementation. It is only 5 virtual methods to implementAlready Used in Games like: Sniper League, Animals Happy Run, CyberstrikeIn production on platforms: iOS, Android, Windows, Linux, MacRef is struct with 2 fields: Hash128 & Int64C# Extensions based load methodsAssetLoader interface is 5 virtual methodsSync loadingUniTask based async loadingNative C# Nullability annotationsC# 10Fast Enter Play Mode support