docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class AdaptivePerformanceSubsystem

    Use the Adaptive Performance Subsystem class to create your custom provider subsystem to deliver data from your provider to Adaptive Performance.

    Inheritance
    object
    Subsystem
    Subsystem<AdaptivePerformanceSubsystemDescriptor>
    AdaptivePerformanceSubsystemBase
    AdaptivePerformanceSubsystem
    SimulatorAdaptivePerformanceSubsystem
    Implements
    ISubsystem
    Inherited Members
    AdaptivePerformanceSubsystemBase.running
    AdaptivePerformanceSubsystemBase.initialized
    Subsystem<AdaptivePerformanceSubsystemDescriptor>.SubsystemDescriptor
    Subsystem.Start()
    Subsystem.Stop()
    Subsystem.Destroy()
    Subsystem.OnDestroy()
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.AdaptivePerformance.Provider
    Assembly: Unity.AdaptivePerformance.dll
    Syntax
    public abstract class AdaptivePerformanceSubsystem : AdaptivePerformanceSubsystemBase, ISubsystem

    Constructors

    AdaptivePerformanceSubsystem()

    Main constructor, not used in the subsystem specifically.

    Declaration
    protected AdaptivePerformanceSubsystem()

    Properties

    ApplicationLifecycle

    Application lifecycle events to be consumed by subsystem. Can be null if the subsystem does not need special handling on life-cycle events. The returned reference does not change after startup.

    Declaration
    public abstract IApplicationLifecycle ApplicationLifecycle { get; }
    Property Value
    Type Description
    IApplicationLifecycle

    Application lifecycle object

    Capabilities

    Bitset of supported features. Does not change after startup.

    Declaration
    public Feature Capabilities { get; protected set; }
    Property Value
    Type Description
    Feature

    Bitset

    PerformanceLevelControl

    Control CPU or GPU performance levels of the device. Can be null if the subsystem does not support controlling CPU/GPU performance levels. Is null when the PerformanceLevelControl bit is not set in Capabilities. The returned reference does not change after startup.

    Declaration
    public abstract IDevicePerformanceLevelControl PerformanceLevelControl { get; }
    Property Value
    Type Description
    IDevicePerformanceLevelControl

    Performance level control object

    Stats

    Generates a human readable string of subsystem internal stats. Optional and only used for development.

    Declaration
    public virtual string Stats { get; }
    Property Value
    Type Description
    string

    String with subsystem specific statistics

    Version

    Returns the version of the subsystem implementation. Can be used together with SubsystemDescriptor to identify a subsystem.

    Declaration
    public abstract Version Version { get; }
    Property Value
    Type Description
    Version

    Version number

    Methods

    Update()

    To be called once per frame. The returned data structure's fields are populated with the latest available data, according to the supported Capabilities.

    Declaration
    public abstract PerformanceDataRecord Update()
    Returns
    Type Description
    PerformanceDataRecord

    Data structure with the most recent performance data.

    Implements

    ISubsystem
    In This Article
    • Constructors
      • AdaptivePerformanceSubsystem()
    • Properties
      • ApplicationLifecycle
      • Capabilities
      • PerformanceLevelControl
      • Stats
      • Version
    • Methods
      • Update()
    • Implements
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)