Version: 2018.4
  • 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"); } }


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.
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

GetDefaultForObjectReturns the current default Preset assigned to the same Object type. Returns null if there is no matching default.
GetDefaultForPresetReturns the current default Preset assigned to the same Preset type. Returns null if there is no matching default.
IsObjectExcludedFromDefaultPresetsReturns true if this Object cannot have a default Preset.
IsObjectExcludedFromPresetsReturns true if this Object is not available in the Preset system.
IsPresetExcludedFromDefaultPresetsReturns true if this Preset cannot be set as the default.
RemoveFromDefaultRemove the Preset type from having default values in the project.
SetAsDefaultSets the Preset as the default for its target type in the project.

Inherited Members


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

Public Methods

GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the GameObject.

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.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active 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.