Supported Types

Easy Save can automatically save the following types:

  • Primitive types
  • Structs
  • Enums
  • Components/MonoBehaviours
  • ScriptableObjects
  • Non-abstract classes with a parameterless constructor
  • Arrays, Lists, Dictionaries, Queues, Stacks and HashSets of supported types
  • Non-generic
  • Anything in the Natively Supported Types list below

A field in a supported class will be serialized if it:

  • Is public, or has a [SerializeField] attribute
  • Is not static
  • Is not const
  • Is not readonly
  • Does not have the [Obsolete] or [NonSerialized] attribute
  • Is a supported type

Fields containing objects which derive from UnityEngine.Object will be saved by reference.

If your fields or type are not supported automatically or natively you may be able to add support for them manually by creating an ES3Type. This is explained in detail in the Controlling serialization using ES3Types guide.

Natively supported types are those that the Easy Save team has manually added support for.

Most Unity types have to be manually supported as most of their fields are not automatically supportable.

Primitive Types

  • int
  • float
  • string
  • byte
  • bool
  • char
  • long
  • short
  • uint
  • ulong
  • ushort
  • intPtr
  • uintPtr
  • Enum
  • DateTime

Collections

  • Array [ ]
  • 2D Array [,]
  • 3D Array [,,]
  • Dictionary<TKey, TValue>
  • List<T>
  • Queue<T>
  • HashSet<T>
  • Stack<T>

.Net Types

Click a type below to see which of it’s fields and properties are supported.

Unity Types

Click a type below to see which of it’s fields and properties are supported.

AnimationCurve

  • keys
  • preWrapMode
  • postWrapMode

AudioClip

  • name
  • samples
  • channels
  • frequency
  • sampleData

BoneWeight

  • boneIndex0
  • boneIndex1
  • boneIndex2
  • boneIndex3
  • weight0
  • weight1
  • weight2
  • weight3

Bounds

  • center
  • size

BoxCollider

  • center
  • size
  • enabled
  • isTrigger
  • contactOffset
  • material

BoxCollider2D

  • size
  • density
  • isTrigger
  • usedByEffector
  • offset
  • sharedMaterial
  • enabled

Camera

  • fieldOfView
  • nearClipPlane
  • farClipPlane
  • renderingPath
  • hdr
  • orthographicSize
  • orthographic
  • opaqueSortMode
  • transparencySortMode
  • depth
  • aspect
  • cullingMask
  • eventMask
  • backgroundColor
  • rect
  • pixelRect
  • worldToCameraMatrix
  • projectionMatrix
  • nonJitteredProjectionMatrix
  • useJitteredProjectionMatrixForTransparentRendering
  • clearFlags
  • stereoSeparation
  • stereoConvergence
  • cameraType
  • stereoMirrorMode
  • stereoTargetEye
  • targetDisplay
  • useOcclusionCulling
  • cullingMatrix
  • layerCullSpherical
  • depthTextureMode
  • clearStencilAfterLightingPass
  • enabled
  • hideFlags

CapsuleCollider

  • center
  • radius
  • height
  • direction
  • enabled
  • isTrigger
  • contactOffset
  • material

CollisionModule

  • enabled
  • type
  • mode
  • dampen
  • dampenMultiplier
  • bounce
  • bounceMultiplier
  • lifetimeLoss
  • lifetimeLossMultiplier
  • minKillSpeed
  • maxKillSpeed
  • collidesWith
  • enableDynamicColliders
  • enableInteriorCollisions
  • maxCollisionShapes
  • quality
  • voxelSize
  • radiusScale
  • sendCollisionMessages

Color

  • r
  • g
  • b
  • a

Color32

  • r
  • g
  • b
  • a

ColorBySpeedModule

  • enabled
  • color
  • range

ColorOverLifetimeModule

  • enabled
  • color

EmissionModule

  • enabled
  • rateOverTime
  • rateOverTimeMultiplier
  • rateOverDistance
  • rateOverDistanceMultiplier

EventSystem

ExternalForcesModule

  • enabled
  • multiplier

Flare

  • hideFlags

Font

  • material
  • name

ForceOverLifetimeModule

  • enabled
  • x
  • y
  • z
  • xMultiplier
  • yMultiplier
  • zMultiplier
  • space
  • randomized

GameObject

  • layer
  • isStatic
  • tag
  • name
  • hideFlags
  • children
  • components

Gradient

  • colorKeys
  • alphaKeys
  • mode

GradientAlphaKey

  • alpha
  • time

GradientColorKey

  • color
  • time

InheritVelocityModule

  • enabled
  • mode
  • curve
  • curveMultiplier

Keyframe

  • time
  • value
  • inTangent
  • outTangent

Light

  • type
  • color
  • intensity
  • bounceIntensity
  • shadows
  • shadowStrength
  • shadowResolution
  • shadowCustomResolution
  • shadowBias
  • shadowNormalBias
  • shadowNearPlane
  • range
  • spotAngle
  • cookieSize
  • cookie
  • flare
  • renderMode
  • bakedIndex
  • cullingMask
  • areaSize
  • lightmappingMode
  • enabled
  • hideFlags

LightsModule

  • enabled
  • ratio
  • useRandomDistribution
  • light
  • useParticleColor
  • sizeAffectsRange
  • alphaAffectsIntensity
  • range
  • rangeMultiplier
  • intensity
  • intensityMultiplier
  • maxLights

LimitVelocityOverLifetimeModule

  • enabled
  • limitX
  • limitXMultiplier
  • limitY
  • limitYMultiplier
  • limitZ
  • limitZMultiplier
  • limit
  • limitMultiplier
  • dampen
  • separateAxes
  • space

MainModule

  • duration
  • loop
  • prewarm
  • startDelay
  • startDelayMultiplier
  • startLifetime
  • startLifetimeMultiplier
  • startSpeed
  • startSpeedMultiplier
  • startSize3D
  • startSize
  • startSizeMultiplier
  • startSizeX
  • startSizeXMultiplier
  • startSizeY
  • startSizeYMultiplier
  • startSizeZ
  • startSizeZMultiplier
  • startRotation3D
  • startRotation
  • startRotationMultiplier
  • startRotationX
  • startRotationXMultiplier
  • startRotationY
  • startRotationYMultiplier
  • startRotationZ
  • startRotationZMultiplier
  • randomizeRotationDirection
  • startColor
  • gravityModifier
  • gravityModifierMultiplier
  • simulationSpace
  • customSimulationSpace
  • simulationSpeed
  • scalingMode
  • playOnAwake
  • maxParticles

Material

  • shader
  • renderQueue
  • shaderKeywords
  • globalIlluminationFlags
  • properties

Matrix4x4

  • col0
  • col1
  • col2
  • col3

Mesh

  • bounds
  • subMeshCount
  • boneWeights
  • bindposes
  • vertices
  • normals
  • tangents
  • uv
  • uv2
  • uv3
  • uv4
  • colors32
  • triangles
  • subMeshes

MeshCollider

  • sharedMesh
  • convex
  • inflateMesh
  • skinWidth
  • enabled
  • isTrigger
  • contactOffset
  • material

MeshFilter

  • sharedMesh

MeshRenderer

  • additionalVertexStreams
  • enabled
  • shadowCastingMode
  • receiveShadows
  • materials
  • lightmapIndex
  • realtimeLightmapIndex
  • lightmapScaleOffset
  • motionVectorGenerationMode
  • realtimeLightmapScaleOffset
  • lightProbeUsage
  • lightProbeProxyVolumeOverride
  • probeAnchor
  • reflectionProbeUsage
  • sortingLayerName
  • sortingLayerID
  • sortingOrder

MinMaxCurve

  • mode
  • curveMultiplier
  • curveMax
  • curveMin
  • constantMax
  • constantMin
  • constant
  • curve

MinMaxGradient

  • mode
  • gradientMax
  • gradientMin
  • colorMax
  • colorMin
  • color
  • gradient

NoiseModule

  • enabled
  • separateAxes
  • strength
  • strengthMultiplier
  • strengthX
  • strengthXMultiplier
  • strengthY
  • strengthYMultiplier
  • strengthZ
  • strengthZMultiplier
  • frequency
  • damping
  • octaveCount
  • octaveMultiplier
  • octaveScale
  • quality
  • scrollSpeed
  • scrollSpeedMultiplier
  • remapEnabled
  • remap
  • remapMultiplier
  • remapX
  • remapXMultiplier
  • remapY
  • remapYMultiplier
  • remapZ
  • remapZMultiplier

ParticleSystem

  • time
  • hideFlags
  • collision
  • colorBySpeed
  • colorOverLifetime
  • emission
  • externalForces
  • forceOverLifetime
  • inheritVelocity
  • lights
  • limitVelocityOverLifetime
  • main
  • noise
  • rotatonBySpeed
  • rotationOverLifetime
  • shape
  • sizeBySpeed
  • sizeOverLifetime
  • subEmitters
  • textureSheetAnimation
  • trails
  • trigger
  • useAutoRandomSeed
  • velocityOverLifetime
  • isPaused
  • isPlaying
  • isStopped

PhysicMaterial

  • dynamicFriction
  • staticFriction
  • bounciness
  • frictionCombine
  • bounceCombine

PhysicsMaterial2D

  • bounciness
  • friction

PolygonCollider2D

  • points
  • pathCount
  • paths
  • density
  • isTrigger
  • usedByEffector
  • offset
  • sharedMaterial
  • enabled

Quaternion

  • x
  • y
  • z
  • w

Rect

  • x
  • y
  • width
  • height

RectTransform

  • anchorMin
  • anchorMax
  • anchoredPosition
  • sizeDelta
  • pivot
  • offsetMin
  • offsetMax
  • localPosition
  • localRotation
  • localScale
  • parent
  • hideFlags

RotationBySpeedModule

  • enabled
  • x
  • xMultiplier
  • y
  • yMultiplier
  • z
  • zMultiplier
  • separateAxes
  • range

RotationOverLifetimeModule

  • enabled
  • x
  • xMultiplier
  • y
  • yMultiplier
  • z
  • zMultiplier
  • separateAxes

Shader

  • name
  • maximumLOD

ShapeModule

  • enabled
  • shapeType
  • randomDirectionAmount
  • sphericalDirectionAmount
  • alignToDirection
  • radius
  • angle
  • length
  • box
  • meshShapeType
  • mesh
  • meshRenderer
  • skinnedMeshRenderer
  • useMeshMaterialIndex
  • meshMaterialIndex
  • useMeshColors
  • normalOffset
  • meshScale
  • arc

SizeBySpeedModule

  • enabled
  • size
  • sizeMultiplier
  • x
  • xMultiplier
  • y
  • yMultiplier
  • z
  • zMultiplier
  • separateAxes
  • range

SizeOverLifetimeModule

  • enabled
  • size
  • sizeMultiplier
  • x
  • xMultiplier
  • y
  • yMultiplier
  • z
  • zMultiplier
  • separateAxes

SkinnedMeshRenderer

  • bones
  • rootBone
  • quality
  • sharedMesh
  • updateWhenOffscreen
  • skinnedMotionVectors
  • localBounds
  • enabled
  • shadowCastingMode
  • receiveShadows
  • materials
  • lightmapIndex
  • realtimeLightmapIndex
  • lightmapScaleOffset
  • motionVectorGenerationMode
  • realtimeLightmapScaleOffset
  • lightProbeUsage
  • lightProbeProxyVolumeOverride
  • probeAnchor
  • reflectionProbeUsage
  • sortingLayerName
  • sortingLayerID
  • sortingOrder

SphereCollider

  • center
  • radius
  • enabled
  • isTrigger
  • contactOffset
  • material

Sprite

  • texture
  • textureRect
  • pivot
  • pixelsPerUnit
  • border

SpriteRenderer

  • sprite
  • color
  • flipX
  • flipY
  • enabled
  • shadowCastingMode
  • receiveShadows
  • sharedMaterials
  • lightmapIndex
  • realtimeLightmapIndex
  • lightmapScaleOffset
  • motionVectorGenerationMode
  • realtimeLightmapScaleOffset
  • lightProbeUsage
  • lightProbeProxyVolumeOverride
  • probeAnchor
  • reflectionProbeUsage
  • sortingLayerName
  • sortingLayerID
  • sortingOrder

SubEmittersModule

  • properties
  • systems
  • types

Text

  • font
  • text
  • supportRichText
  • resizeTextForBestFit
  • resizeTextMinSize
  • resizeTextMaxSize
  • alignment
  • alignByGeometry
  • fontSize
  • horizontalOverflow
  • verticalOverflow
  • lineSpacing
  • fontStyle
  • onCullStateChanged
  • maskable
  • color
  • raycastTarget
  • material
  • useGUILayout
  • runInEditMode
  • enabled
  • tag
  • name
  • hideFlags

Texture2D

  • filterMode
  • anisoLevel
  • wrapMode
  • mipMapBias
  • rawTextureData

TextureSheetAnimationModule

  • enabled
  • numTilesX
  • numTilesY
  • animation
  • useRandomRow
  • frameOverTime
  • frameOverTimeMultiplier
  • startFrame
  • startFrameMultiplier
  • cycleCount
  • rowIndex
  • uvChannelMask
  • flipU
  • flipV

TrailModule

  • enabled
  • ratio
  • lifetime
  • lifetimeMultiplier
  • minVertexDistance
  • textureMode
  • worldSpace
  • dieWithParticles
  • sizeAffectsWidth
  • sizeAffectsLifetime
  • inheritParticleColor
  • colorOverLifetime
  • widthOverTrail
  • widthOverTrailMultiplier
  • colorOverTrail

Transform

  • localPosition
  • localRotation
  • localScale
  • parent

TriggerModule

  • enabled
  • inside
  • outside
  • enter
  • exit
  • radiusScale

Vector2

  • x
  • y

Vector3

  • x
  • y
  • z

Vector4

  • x
  • y
  • z
  • w

VelocityOverLifetimeModule

  • enabled
  • x
  • y
  • z
  • xMultiplier
  • yMultiplier
  • zMultiplier
  • space