Supported types

Easy Save can automatically save the following types:

  • Primitive types
  • Structs
  • Enums
  • Components/MonoBehaviours
  • ScriptableObjects
  • Non-abstract, non-generic classes (a parameterless constructor is required for Universal Windows Platform)
  • Arrays, Lists, Dictionaries, Queues, Stacks and HashSets of supported types
  • 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] or [ES3Serializable] attribute
  • Is not const or readonly
  • Does not have the [Obsolete][NonSerialized] or [ES3NonSerializable] attribute
  • Is a supported type

Fields containing objects which derive from UnityEngine.Object will be saved by reference (see the Saving and Loading References guide for more info).

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
  • double
  • 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>

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
    • Note: custom properties need to be saved manually.
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
  • blendShapeWeights
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