Version: Unity 6.4 Alpha (6000.4)
Language : English
Create a custom provider
Check for feature support

Provider lifecycle management

Learn how Adaptive Performance manages the lifecycle of its providers automatically by integrating with Unity’s standard eventStandard events are application-specific events that you dispatch in response to important player actions or milestones. Standard events have standardized names and defined parameter lists. More info
See in Glossary
functions.

The AdaptivePerformanceManagerSettings ScriptableObject uses an AdaptivePerformanceLoader to automatically initialize, start, stop, and deinitialize provider subsystems. This process requires no manual intervention and operates in both scene-based and application-based contexts.

Scene-based lifecycle management

Scene-based automatic lifecycle management ties the provider to a specific MonoBehaviour in a sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
, making it active only when that scene loads.

Scene-based management hooks into the following MonoBehaviour callback points:

Callback Lifecycle step
OnEnable Find the first loader that initialized successfully and set ActiveLoader.
Start Start all subsystems.
OnDisable Stop all subsystems.
OnDestroy Deinitialize all subsystems and remove the ActiveLoader instance.

Application-based lifecycle management

Application-based automatic lifecycle management uses a persistent, global instance to keep the provider active for the entire duration of the application, from launch until it’s closed.

Application-based management hooks into the following callback points:

Callback Lifecycle step
Runtime initialization after assemblies loaded Find the first loader that succeeds initialization and set ActiveLoader.
Runtime initialization before splash screen displays Start all subsystems.
OnDisable Stop all subsystems.
OnDestroy Deinitialize all subsystems and remove the ActiveLoader instance.

Additional resources

Create a custom provider
Check for feature support