Common Utilities
Extensions
Object.OrNull() - Make C# null check operators work on Unity objects
Object.IsAlive() - Check object alive in better way than cast to bool
Object.Destroy() - Call destroy as member function
GameObject.ClearDirty() - Helper for Prefab deactivating and spawning deactivated then clear dirty on prefab
MonoBeh < T > .InstantiateInactive() - Instantiate prefab in inactive state so you can setup it before activating
Services
Setup_InvariantCulture - Setup invariant culture for all threads so Single.Parse works on all devices the same way
Setup_TaskExceptionsLogger - Wire unobserved task exceptions to unity exception logger
Service_UGSIntegration - Initialize UnityServices in Ordered way (basement for other unity service packages)
Misc
Rng - Squirrel Random Number Generator implementation. State free noise based generator
LocString - core ValueObject struct for string localisation
PoymorphicAttribute - draw serializable reference field as polymorphic class
RoDict, RoList - True Read only struct wrapper for readonly access without ability to cast back and without lost of perfomance
RuntimeInspector - draw object runtime state in inspector by decorating method with attribute
SpanList, TempList - temp lists for temporary collection in algorithms without GC allocation
[Static(Clear)] - Attribute to execute Method for clearing static fields on application start or enter play mode
[Static(Init)] - Attribute to execute Method for for initializing static fields on application start or enter play mode
To use this short form you need to add this to one file in this asmdef:
global using StaticAttribute = UnityEngine.RuntimeInitializeOnLoadMethodAttribute;
global using static Flexy.Core.RuntimeInit;