Version: 2021.3
  • C#


class in UnityEditor.Presets


Inherits from:Object

Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




A Preset contains default values for an Object.

The Preset class contains the type of the Object used to create it and a list of each serialized property/value pair of this Object. It can be used to store informations from any serializable Object in the Editor and apply them back to this Object or any other Object of the same type. Presets can also be saved as Assets using the .preset extension in order to.

using UnityEditor;
using UnityEditor.Presets;
using UnityEngine;

public static class PresetUsageExample { // This method uses a Preset to copy the serialized values from the source to the target and return true if the copy succeed. public static bool CopyObjectSerialization(Object source, Object target) { Preset preset = new Preset(source); return preset.ApplyTo(target); }

// This method creates a Preset from a given Object and save it as an asset in the project. public static void CreatePresetAsset(Object source, string name) { Preset preset = new Preset(source); AssetDatabase.CreateAsset(preset, "Assets/" + name + ".preset"); } }


excludedPropertiesList of properties to ignore when applying the Preset to an object.
PropertyModificationsReturns a copy of the PropertyModification array owned by this Preset.


PresetConstructs a new Preset from a given Object.

Public Methods

ApplyToApplies this Preset to the target object.
CanBeAppliedToReturns true if this Preset can be applied to the target Object.
DataEqualsDetermines if the target object has the same serialized values as the Preset.
GetPresetTypeReturns the PresetType of this Preset.
GetTargetFullTypeNameReturns a human readable string of this Preset's target fulltype, including namespace.
GetTargetTypeNameReturns a human readable string of this Preset's target type.
IsValidReturns true if the Preset type of this Preset is valid.
UpdatePropertiesUpdates this Preset's properties from the given Object's values. The given Object's type must match this Preset's type.

Static Methods

GetAllDefaultTypesReturns all the PresetType that have at least one DefaultPreset entry in the default Presets list.
GetDefaultPresetsForObjectGets the ordered list of Presets that set its default values when applied to the target.
GetDefaultPresetsForTypeGets an ordered list of DefaultPreset based on the specified PresetType.
RemoveFromDefaultRemove the Preset type from having default values in the project.
SetDefaultPresetsForTypeSets a default list of Presets with a filter for a specific PresetType.

Inherited Members


hideFlagsShould the object be hidden, saved with the Scene or modifiable by the user?
nameThe name of the object.

Public Methods

GetInstanceIDGets the instance ID of the object.
ToStringReturns the name of the object.

Static Methods

DestroyRemoves a GameObject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadDo not destroy the target Object when loading a new Scene.
FindAnyObjectByTypeRetrieves any active loaded object of Type type.
FindFirstObjectByTypeRetrieves the first active loaded object of Type type.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
FindObjectsOfTypeGets a list of all loaded objects of Type type.
InstantiateClones the object original and returns the clone.


boolDoes the object exist?
operator !=Compares if two objects refer to a different object.
operator ==Compares two object references to see if they refer to the same object.