docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class AdaptivePerformanceScaler

    Abstract class representing single feature that is controlled by AdaptivePerformanceIndexer. You control the quality through changing the levels, where 0 represents the controller not being applied and 1,2... as applied. As a result, a higher level represents lower visuals, but better performance.

    Inheritance
    object
    Object
    ScriptableObject
    AdaptivePerformanceScaler
    AdaptiveBatching
    AdaptiveDecals
    AdaptiveFramerate
    AdaptiveLOD
    AdaptiveLayerCulling
    AdaptiveLut
    AdaptiveMSAA
    AdaptivePhysics
    AdaptiveResolution
    AdaptiveShadowCascade
    AdaptiveShadowDistance
    AdaptiveShadowQuality
    AdaptiveShadowmapResolution
    AdaptiveSorting
    AdaptiveTransparency
    AdaptiveViewDistance
    Inherited Members
    ScriptableObject.SetDirty()
    ScriptableObject.CreateInstance(string)
    ScriptableObject.CreateInstance(Type)
    ScriptableObject.CreateInstance<T>()
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, InstantiateParameters)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion, InstantiateParameters)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, InstantiateParameters)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate<T>(T, InstantiateParameters)
    Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: UnityEngine.AdaptivePerformance
    Assembly: Unity.AdaptivePerformance.dll
    Syntax
    [RequireDerived]
    public abstract class AdaptivePerformanceScaler : ScriptableObject

    Fields

    m_Settings

    Settings reference for all scalers.

    Declaration
    protected IAdaptivePerformanceSettings m_Settings
    Field Value
    Type Description
    IAdaptivePerformanceSettings

    Properties

    CpuImpact

    Scaler impact on CPU so far in milliseconds.

    Declaration
    public int CpuImpact { get; }
    Property Value
    Type Description
    int

    CurrentLevel

    Returns the current level of scale.

    Declaration
    public int CurrentLevel { get; }
    Property Value
    Type Description
    int

    Enabled

    Returns true if this scaler is active, otherwise returns false.

    Declaration
    public virtual bool Enabled { get; set; }
    Property Value
    Type Description
    bool

    GpuImpact

    Scaler impact on GPU so far in milliseconds.

    Declaration
    public int GpuImpact { get; }
    Property Value
    Type Description
    int

    IsMaxLevel

    Returns true if the scaler can no longer be applied, otherwise returns false.

    Declaration
    public bool IsMaxLevel { get; }
    Property Value
    Type Description
    bool

    MaxBound

    Returns the maximum boundary of this scaler.

    Declaration
    public virtual float MaxBound { get; set; }
    Property Value
    Type Description
    float

    MaxLevel

    Returns the maximum level of this scaler.

    Declaration
    public virtual int MaxLevel { get; set; }
    Property Value
    Type Description
    int

    MinBound

    Returns the minimum boundary of this scaler.

    Declaration
    public virtual float MinBound { get; set; }
    Property Value
    Type Description
    float

    Name

    Returns a string with the name of the scaler.

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

    NotLeveled

    Returns true if the scaler is not applied, otherwise returns false.

    Declaration
    public bool NotLeveled { get; }
    Property Value
    Type Description
    bool

    OverrideLevel

    Allows you to manually override the scaler level. If the value is -1, AdaptivePerformanceIndexer will handle levels, otherwise scaler will be forced to the value you specify.

    Declaration
    public int OverrideLevel { get; set; }
    Property Value
    Type Description
    int

    Scale

    Returns a generic scale of this scaler in range [0,1] which is applied to the quality.

    Declaration
    public virtual float Scale { get; set; }
    Property Value
    Type Description
    float

    Target

    Returns the bottlenecks that this scaler targets.

    Declaration
    public virtual ScalerTarget Target { get; set; }
    Property Value
    Type Description
    ScalerTarget

    VisualImpact

    Returns the visual impact of scaler when applied.

    Declaration
    public virtual ScalerVisualImpact VisualImpact { get; set; }
    Property Value
    Type Description
    ScalerVisualImpact

    Methods

    ApplyDefaultSetting(AdaptivePerformanceScalerSettingsBase)

    Any scaler with settings in IAdaptivePerformanceSettings needs to call this method and provide the scaler specific setting. Unity uses the setting arguments in the base-scaler as the default settings. This is also used by Scaler Profiles to apply their Settings.

    Declaration
    public void ApplyDefaultSetting(AdaptivePerformanceScalerSettingsBase defaultSetting)
    Parameters
    Type Name Description
    AdaptivePerformanceScalerSettingsBase defaultSetting

    The settings to apply to the scaler.

    Awake()

    Ensures settings are applied during startup.

    Declaration
    protected virtual void Awake()

    CalculateCost()

    Calculate the cost of applying this particular scaler.

    Declaration
    public int CalculateCost()
    Returns
    Type Description
    int

    Cost of scaler ranges from 0 to infinity.

    OnDisabled()

    Callback when scaler gets disabled and removed from indexer

    Declaration
    protected virtual void OnDisabled()

    OnEnabled()

    Callback when scaler gets enabled and added to the indexer

    Declaration
    protected virtual void OnEnabled()

    OnLevel()

    Callback for any level change

    Declaration
    protected virtual void OnLevel()

    OnLevelDecrease()

    Callback for when the performance level is decreased.

    Declaration
    protected virtual void OnLevelDecrease()

    OnLevelIncrease()

    Callback for when the performance level is increased.

    Declaration
    protected virtual void OnLevelIncrease()

    ScaleChanged()

    Checks if scale changed based on the current level and returns true if scale changed false otherwise.

    Declaration
    protected bool ScaleChanged()
    Returns
    Type Description
    bool

    Returns true if scale changed false otherwise.

    In This Article
    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)