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;