Licensing
A Spine license is required to integrate the Spine Runtimes into your applications.
Assets
Exporting Spine Assets for Unity

Export User Guide
You can find complete instructions in the Spine User Guide on how to
Spine Unity Export for Beginners
The following shows a simple way to export Spine assets for Unity. Once you are familiar with the basics you can choose optimized settings for improved results.
-  After you have created your skeleton and animations, click on Spine Menu>Export...(CTRL+E). This opens the Export window.
   
-  Choose JSONon the upper-left of the Export window.
   Note: For production you should later prefer binary skeleton exports over JSON exports, as they are smaller in size and faster to load. 
-  Check the Texture AtlasPackcheckbox. (CheckingNonessential data,Pretty printare also recommended for beginners). Be sure to haveAnimation cleanupdisabled, otherwise keys identical to setup pose will not be exported.
   -  Click on Pack Settingsbelow thePackcheckbox. This opens the Texture Packer Settings window.
-  On the lower-right, look for the textbox labeled Atlas extensionand make sure it is set to.atlas.txt.  
-  For spine-unity 4.3 and newer: Disable Premultiply alphaand enableBleed.  
-  You're done with the Texture Packer Settings window. Click OKto close.
 
-  
-  In the Export window, pick an output folder. (Recommendation: Create a new empty folder.)   
-  Click Export. 
-  This will export three files:  - skeleton-name.jsonor- skeleton-name.skel.bytes, containing your skeleton and animation data.
- skeleton-name.atlas.txt, containing information about the texture atlas.
- One or more .pngfiles, each representing on page of your texture atlas containing the packed images your skeleton uses.
 
-  You can now continue with section Importing Spine Assets into Unity. 
Binary Export for Unity
Exporting in binary format instead of JSON will result in smaller file size and faster loading.
The following shows how to change to binary export for spine-unity. 
- Choose Binaryon the upper-left of the Export window instead ofJSON.
- Set the Extensionto.skel.bytes.
Note: spine-unity cannot load files with extension
.skel. Be sure to use extension.skel.bytes.
Advanced - Automating Exports
If you have many projects, it is recommended to automate the export of your skeleton and atlas assets using the Spine command line interface. This eliminates repetitive manual work and allows for easy re-export of all projects at once, should you decide to upgrade to a newer Spine version.
You can explore examples of utilizing the command line interface here.
 For example, we use this script to export all the Spine example projects and to create texture atlases: export.sh
Advanced - Single Texture Atlas Export and SkeletonGraphic
It is recommended in general to use a single-texture (single-page) atlas where possible to reduce the number of draw calls caused by additional submeshes. This is especially true for SkeletonGraphic. Due to limitations of the used Unity CanvasRenderer, SkeletonGraphic is limited to a single texture by default. You can enable Advanced - Multiple CanvasRenderers at the SkeletonGraphic component Inspector to generate a child CanvasRenderer GameObject for every submesh to raise the texture limit. For performance reasons, this is best avoided where possible. This means Skeletons used in UI shall be packed as a single-texture (single-page) atlas, rather than multi-page atlases.
If they do not fit into a single atlas page, you can pack texture atlas pages grouped by folder. This way you can ensure that each skin requires only a single atlas page.
When the images are placed in the respective folders, you can export the skeleton with the following steps:
- Press Ctrl+Eor in the dropdown menu selectExport...
- Enable Texture AtlasPackand selectImage Folderinstead ofAttachmentsright to it.
- (optional) Check in Pack Settingsif underOptionsin the bottom rightFlatten PathsandCombine Subdirectoriesis disabled (this is the default).
- Click Export.
Atlas Texture Workflows
Linear vs Gamma Color Space in Unity
Important Note: It is very important to decide on the color space to be used in your Unity project early on as it has a big impact on how any blending will look. This affects both alpha-blending or semi-transparent parts as well as additive/multiply/screen blending for special effects. Additionally, the used color space dictates how you can export your atlas texture assets from the Spine Editor.
Unity uses Linear color space by default for new projects. However, many Spine users work with 2D assets that have been carefully layered and color-corrected in external editors like Photoshop, which default to Gamma-space blending. As a result, blended colors will appear duller and more desaturated in Unity compared to the original artwork, which can be frustrating.

For this reason, we generally recommend switching the project to Gamma color space for more intuitive blending that better matches the original design.
That said, Linear color space is still appropriate—particularly if you're using Spine skeletons in realistic 3D environments with dynamic lighting.
Advantages of Gamma color space
- Blending behaves in a more intuitive way (image editors perform blending in Gamma space by default).
- Easier to author in any image editor in advance and preview the result.
- You can use PMA textures which provide better mip-mapping.  
Advantages of Linear color space
- 3D lighting: angle-dependent light falloff (for 2D skeletons done via normalmaps) is more physically correct.  
- When layering additive light layers, any light-pixels add up in a more physically realistic way. (Note this may or may not be what you want)  
- Post-processing effects work best in Linear color space.  
You can switch your Unity project color space to Gamma via Edit - Project Settings (Unity - Project Settings on Mac) Player - Other Settings - Color Space.
Spine Editor Color Space
The Spine Editor defaults to Gamma color space, but can be switched to Linear space in Spine - Settings - Viewport.
 Once you have decided on a project color space, it is highly recommended to also adjust the Spine Editor to match your Unity project for consistent results.
Premultiplied vs Straight Alpha Export
Spine offers two basic workflows via Texture Packer Settings how atlas textures can be exported:
- Straight alpha (required when using Linear color space)
  Texture Packer setting Texture Packer settingPremultiply alphadisabled,Bleedenabled.
- Premultiplied alpha (PMA) (default export mode in Spine Editor, premultiplied in Gamma color space)
  Texture Packer setting Texture Packer settingPremultiply alphaenabled.
Choosing the right workflow:
- If you're uncertain about color space or might switch between Linear and Gamma in the future: Use straight alpha workflow as it is compatible with both color spaces.
- If you're certain you'll use Gamma color space exclusively: Use premultiplied alpha (PMA) workflow as it provides superior mipmap quality with crisper details in semi-transparent areas.
Unity now uses Linear color space for new projects by default, and premultiplied alpha textures are incompatible with Linear color space (causing incorrect borders when converted from Gamma to Linear space). See section Linear vs Gamma Color Space in Unity for details.
It is very important to match export and import settings correctly, see section Premultiplied vs Straight Alpha Import for correct settings in Unity.
Importing Spine Assets into Unity
- Open your Unity project in the Unity Editor. It should already have a functioning spine-unity runtime in it, as described in section Installation.
- Open the folder of the exported files. (.json,.atlas.txtand.png)
- Copy the exported files (or the folder containing them) to your desired subfolder of your project's Assetsfolder. You can do this by dragging the exported files from an Explorer/Finder window into your desired folder in Unity's Project panel. 
The spine-unity runtime will automatically generate the necessary additional Unity assets upon detecting the added files.
The following assets are generated: 
- an _Atlas asset for the texture atlas file (.atlas.txt). It holds a reference to the material and the.atlas.txtfile.
- a _Material asset for each texture atlas page (.png). It holds references to the shader and the.pngtexture.
- a _SkeletonData asset for skeleton data files (.json,.skel.bytes). It holds a reference to the.jsonor.skel.bytesfile and the generated _Atlas asset. It additionally provides custom import and animation settings for your skeleton, see section Skeleton Data Asset.
Premultiplied vs Straight Alpha Import
As described in Premultiplied vs Straight Alpha Export, Spine offers two basic workflows of how atlas textures can be exported:
- Straight alpha (required with Linear color space)
- Premultiplied alpha (PMA) (default export mode in Spine Editor, premultiplied in Gamma color space)
Preferences Auto-Import settings for correct import
Important Note: It is very important that the texture import and material settings match the atlas texture export settings. The spine-unity runtime provides a Spine Preferences section in Unity's Preferences window, accessible via Edit - Preferences (Unity - Preferences on Mac) which provides Auto-Import settings to ensure proper setup. 

- Since version 4.3 the Preferences sections provides Switch Texture Workflowbuttons for quickly switching toStraight AlphaorPMA, saving you any manual adjustments of (2) and (3) below.
- The Atlas Texture Settings parameter is used to automatically apply the proper texture import settings at newly imported atlas textures. When switching from straight alpha workflow to PMA or vice versa, this preset needs to be adjusted.    
- Additive Material,- Multiply Materialand- Screen Materialdefine the template materials for each blend mode. When switching from straight alpha workflow to PMA or vice versa, these need to be adjusted accordingly as well.   
For straight alpha workflow (already the default in spine-unity 4.3 and newer):
- a) use the Switch Texture Workflow-Straight Alphabutton to switch presets at once. 
- b) or manually set Atlas Texture SettingstoStraightAlphaTexturePreset, and set blend mode materials toSkeletonStraightAdditive,SkeletonStraightMultiplyandSkeletonStraightScreen.
For premultiplied alpha (PMA) workflow (only works with Gamma color space):
- a) use the Switch Texture Workflow-PMAbutton to switch presets at once. 
- b) or manually set Atlas Texture SettingstoPMATexturePreset, and set blend mode materials toSkeletonPMAAdditive,SkeletonPMAMultiplyandSkeletonPMAScreen. This was the default in spine-unity 4.2 and earlier.
You can also create your own TextureImporter Preset asset and blend mode material templates and assign them here. When creating your own, it is recommended to choose a name with PMA or Straight in it to reflect the used blend mode.
Whenever you see dark borders around transparent areas, or colorful stripes around your attachment images, it is very likely because of incorrect import settings.
Correct Texture Packer export and Texture and Material import settings:
-  Straight Alpha  Texture Packer setting Texture Packer settingPremultiply alphadisabled,Bleedenabled,
 Unity Texture settingssRGB (Color Texture)andAlpha Is Transparencyenabled,
 Unity Material parameterStraight Alpha Textureenabled.If you are new to Spine export settings, be sure to check out Atlas Texture Workflows and Spine Unity Export for Beginners first. 
-  Premultiplied Alpha  Texture Packer setting Texture Packer settingPremultiply alphaenabled,
 Unity Texture settingssRGB (Color Texture)andAlpha Is Transparencydisabled,
 Unity Material parameterStraight Alpha Texturedisabled.Note: For PMA textures, sRGB (Color Texture)was previously recommended to be enabled, however whenGenerate Mip Mapsis enabled, this combination may lead to white seams. To avoid these artifacts and because it has no drawbacks in Gamma space, it is now recommended to keepsRGB (Color Texture)disabled with PMA textures.
Default settings:
- Spine Editor: Texture packer settings default to premultiplied alpha (Premultiply alphaenabled).
- spine-unity 4.3 and later: Import settings default to straight alpha workflow.
- spine-unity 4.2 and earlier: Import settings default to premultiplied alpha workflow.
The Spine shaders that come with the spine-unity runtime support both workflows. When using straight alpha textures, enable the Straight Alpha Texture parameter on materials. When using premultiplied alpha textures, ensure this parameter is disabled.
Be sure to configure all textures and materials accordingly as described above when changing the used atlas texture workflow between straight alpha and PMA. You can check or modify the current color space via Project Settings - Player - Other Settings - Color Space.
Import Troubleshooting
When something goes wrong importing your skeleton into Unity there are a number of possible causes, from incorrect Spine export settings to incorrect settings in Unity. This video will help you better understand the correct settings for many common problems during import.
Advanced - Unity SpriteAtlas as Atlas Provider
Note: It is encouraged to follow the normal Spine workflow and use sprite atlases created by Spine instead of Unity
Sprite Atlasassets. Spine atlases provide superior packing, support multiple atlas pages and are less prone to problems. Use Unity'sSprite Atlasassets as an atlas provider only when you cannot use the normal Spine workflow. Also consider that you can re-pack used texture regions of a collected skin to a single atlas texture at runtime.
You can use Unity's SpriteAtlas as atlas provider as an alternative to .atlas.txt and .png files alongside a skeleton data file. Import is handled via a special Spine SpriteAtlas Import tool window accessible via Window - Spine - SpriteAtlas Import.

Steps to prepare the Sprite Atlas:
- Create a Sprite AtlasviaAssets - Create - Sprite Atlas.
- Add the folder containing the Sprites to be used as attachments to Objects for Packingin theSprite AtlasInspector.
- (a) For Unity versions prior to 2018.2, please manually disable Tight Packingand enableRead/Write Enabled.
 (b) in Unity versions 2018.2 an newer, these settings are automatically adjusted for you. 
- Assign the Sprite Atlasto theSprite Atlasproperty in the newSpine SpriteAtlas Importwindow. Additional assets are generated automatically. 
- Hit Load regions by entering Play modeto briefly switch into play mode and back again to load the region information. YourSprite Atlasis now ready for use as a Spine atlas.
To use the atlas at a .json or .skel.bytes skeleton asset:
- Place the .jsonor.skel.bytesfile in the same directory as the newly created atlas assets.
- Assign it to the Skeleton json/skel fileproperty in theSpine SpriteAtlas Importwindow. 
- Hit Import Skeletonto generate the_SkeletonDatafile using theSprite Atlasassets.
Spine Preferences
The spine-unity runtime provides a Spine section in Unity's Preferences window, accessible via Edit - Preferences (Unity - Preferences on Mac). Here you can setup default values used upon skeleton import and instantiation, as well as customize appearance and update behavior of the spine-unity runtime.

-  Show Hierarchy Icons. Show relevant icons next to GameObjectsin the Hierarchy panel with Spine components on them.
-  Auto-reload scene components. Reloads skeleton components in the scene whenever their SkeletonDataAsset is modified. This may be slow when your scenes have large numbers of SkeletonRenderer or SkeletonGraphic components. 
-  Reload SkeletonData after Play. When enabled, the shared SkeletonData of all skeletons in the active scene is reloaded (from the .json or .skel.bytes file) after exiting play-mode. This may add undesired delays, but prevents (accidental) modifications to the shared SkeletonData during play-mode carrying over its effect into subsequent plays. 
-  Auto-Import Settings - Default Mix. The Default Mix Duration for newly imported SkeletonDataAssets.
- Default SkeletonData Scale. The default Scalevalue for newly imported SkeletonDataAssets.
- Default Shader. The default shader assigned at materials created for newly imported skeleton atlas textures.
- Switch Texture Workflow (4.3 and newer). Allows for quickly switching presets to Straight AlphaorPMAworkflow, saving manual adjustments ofAtlas Texture SettingsandAdditive/Multiply/Screen Materialbelow.
- Apply Atlas Texture Settings. Apply reference Atlas Texture Settingsat texture importers specified below.
- Atlas Texture Settings. The texture import settings to be applied at newly imported atlas textures. For straight alpha texture workflow (recommended) use StraightAlphaTexturePresethere (ensurePremultiply alphais disabled in Spine's Texture Packer Settings). This preset is already assigned by default in spine-unity 4.3 and newer. When using premultiplied alpha (PMA) textures (the Spine Editor export default), usePMATexturePreset. You can also create your ownTextureImporterPresetasset and assign it here.
- Apply Additive Material. The default Apply Additive Material value for newly imported SkeletonDataAssets. See SkeletonDataBlend Mode Materials.
- Additive Material. Material template for slot blend mode Additive. SeeSkeletonDataBlend Mode Materials.
 Make sure to chose the straight alpha vs PMA material variant matching your workflow above.
- Multiply Material. Material template for slot blend mode Multiply. SeeSkeletonDataBlend Mode Materials.
 Make sure to chose the straight alpha vs PMA material variant matching your workflow above.
- Screen Material. Material template for slot blend mode Screen. SeeSkeletonDataBlend Mode Materials.
 Make sure to chose the straight alpha vs PMA material variant matching your workflow above.
 
-  Warnings - Atlas Extension Warning. Log a warning and recommendation whenever a .atlasfile is found.
- Texture Settings Warning. Log a warning and recommendation whenever texture import settings are detected that could lead to undesired effects, e.g. white border artifacts.
- Component & Material Warning. Log a warning and recommendation whenever Component and Material settings are not compatible.
- SkeletonDataAsset no file Error. Log an error when querying SkeletonDatafromSkeletonDataAssetwith no json or binary file assigned.
- Workflow Mismatch Dialog. Show warning dialog when PMA atlas is detected but not supported with current project settings.
 
- Atlas Extension Warning. Log a warning and recommendation whenever a 
-  Editor Instantiation - Default Slot Z-Spacing. The default Z Spacing parameter of newly instantiated SkeletonRenderer or SkeletonGraphic components.
- Default Loop. The default Loopparameter of newly instantiated SkeletonRenderer or SkeletonGraphic components.
- Physics Inheritance- Default Position. The Default Physics Inheritance - Position scale factor parameter of newly instantiated SkeletonRenderer or SkeletonGraphic components.
- Default Rotation. The Default Physics Inheritance - Rotation scale factor parameter of newly instantiated SkeletonRenderer or SkeletonGraphic components.
 
 
-  Mecanim Bake Settings - Include Folder Name in Event. When enabled, Mecanim events will call methods named "FolderNameEventName", when disabled it will call"EventName".
 
- Include Folder Name in Event. When enabled, Mecanim events will call methods named 
-  Handles and Gizmos - Editor Bone Scale. Size of bones and similar gizmo elements displayed in the Scene view.
 
-  Prefabs - Fix Prefab Overr. MeshFilter. Global setting for the equally named skeleton component Inspector parameter, section Advanced. When the component parameter is set to Use Global Setting, this setting is used.
- Optimize Preview Meshes. When enabled, Spine prefab preview meshes will be removed in a pre-build step to reduce build size. This increases build time as all prefabs in the project will be processed.
 
- Fix Prefab Overr. MeshFilter. Global setting for the equally named skeleton component Inspector parameter, section Advanced. When the component parameter is set to 
-  Unsafe Build Defines - Direct Data Access. Allow unsafe direct data access. Currently affects reading .skel.bytesfiles, reading with fewer allocations.
 
- Direct Data Access. Allow unsafe direct data access. Currently affects reading 
-  Automatic Component Upgrade - Split Component Upgrade. Allow automatic upgrade of skeleton components to split components new in version 4.3. Disable once all scenes and prefabs are migrated to avoid unnecessary editor checks.
- Upgrade Scenes & Prefabs. Upgrade All: Opens and upgrades all scenes and prefabs in the project to split animation components new in version 4.3. Make sure to backup your project beforehand.
 
-  Threading Defaults - Threaded Mesh Generation. Global setting for the equally named SkeletonRendererandSkeletonGraphicInspector parameter. When the component parameter is set toUse Global Setting, this setting is used.
- Threaded Animation. Global setting for the equally named SkeletonAnimationandSkeletonMecanimInspector parameter. When the component parameter is set toUse Global Setting, this setting is used.
 
- Threaded Mesh Generation. Global setting for the equally named 
-  Timeline Extension - relevant for the Timeline Extension UPM Package - Default Mix Duration. The default value for the Default Mix Durationparameter of newly createdSpine Animation State Clips.
- Use Blend Duration. The default value for the Use Blend Durationparameter of newly createdSpine Animation State Clips.
 
- Default Mix Duration. The default value for the 
Updating Spine Assets
During development, you may frequently update your Spine skeleton data and texture atlas files. You can simply overwrite these files (.json, .skel.bytes, .atlas.txt, .png). Re-export the assets from the Spine Editor and copy the exported files to your subfolder of your project's Assets folder again, overwriting the existing files.
Unity will detect changes to these files and automatically re-import the modified assets. After re-import, all references to previously imported Spine assets will be intact and use the latest data.
Note: Unity sometimes fails to recognize file changes. In this case, locate the folder containing the Spine assets in Unity's Project panel that you want to re-import, right-click on the folder, then select
Reimportfrom the context menu.
Skeleton Data Asset
The skeleton data asset (named with suffix _SkeletonData) stores information about the bone hierarchy, slots, draw order, animations and other data that constitutes your skeleton. Other components provided by the spine-unity runtime reference and share this skeleton data asset to animate and display a skeleton.
To inspect or modify a skeleton data asset, select it in Unity's Project panel. The Inspector panel will display all properties of the skeleton data for review and modification.

Skeleton Data
The SkeletonData section provides general import settings of the skeleton.

-  Scale. Allows you to specify a custom import scale value, affecting all skeleton instances referencing this data asset. Changing the value will immediately affect all instances of this skeleton. Note: When you want to precisely match e.g. 32px of artwork to 1 game unit (and the attachment images have not been scaled in Spine), you can set this Scaleparameter to1/px_per_unit. So for32px/unityou would setScaleto1/32 = 0.03125.
-  SkeletonData Modifiers. Provide a way for users to add additional processing to skeleton data assets after loading from a .jsonor.skel.bytesfile has been completed. Please consult section SkeletonData Modifier Assets below for additional information.
-  Blend Modes - Upgrade. Upgrades an obsolete BlendModeMaterialAssetto the native Blend Mode Materials properties shown below.
-  Blend Mode Materials. Skeleton slots with special blend modes require additional materials. These materials are setup automatically upon import, unless a BlendModeMaterialAssetis in use with older Unity and spine-unity versions. It is recommended to upgrade an assignedBlendModeMaterialAssetvia theBlend Modes - Upgradebutton above, as it prevents problems with newer Unity versions. You can customize material templates for each blend mode in the Spine Preferences.- Apply Additive Material. When enabled, slots with Additiveblend mode will also have materials generated for them. You can keep this parameter disabled when havingAdvanced - PMA Vertex Colorsenabled at your skeleton components (the default) asNormalandAdditiveslots can be drawn with the same PMA material.
- Additive Materials, Multiply Materials, Screen Materials. These lists show the currently used blend mode materials for each blend mode.
 
- Apply Additive Material. When enabled, slots with 
Atlas
Atlas references are used by the skeleton to resolve the exported image name references to the respective image areas for rendering.

Upon import the Atlas Assets array is automatically populated with one entry per atlas asset (ending with _Atlas).
In case spine-unity failed to automatically assign all required atlas assets, you can change the Atlas Assets Size to the desired amount of atlas assets and manually assign the required atlas assets to Element0 - ElementN.
Mix Settings
The skeleton data asset allows you to specify animation mix times.

Default Mix Duration allows you to enter the default mix time, in seconds.
You can define mix times for two specific animations by clicking the Add Custom Mix button in the Custom Mix Durations section of the asset and setting specific mix durations, overriding the default mix duration value above.
Components using the skeleton data asset, like the skeleton animation component, use these mix times when playing back animations.
Preview
The Preview section for a skeleton data asset allows you to inspect all bones, slots, animations, skins, and events contained in the asset.

You can playback animations via the play buttons to the left of each animation and view a live update of the respective slots via Show Attachments in the Slots section. The timeline bar shows all events as purple markers. Hover over the markers while playing to display the event name.

Use the Create Animation Reference Assets button to generate reference assets for all animations of the skeleton. An AnimationReferenceAsset acts as a Unity asset referencing a single Spine.Animation and can be assigned to component properties in the Inspector.

Skeleton Mecanim
In case you want to use Unity's Mecanim animation system instead of Spine's default animation system, you can generate and assign a Mecanim controller via Generate Mecanim Controller.

Skeleton Baking
Note: Baking is a specialized tool and is not the recommended way of using Skeletons in spine-unity! It is not used for SkeletonMecanim, SkeletonAnimation or SkeletonGraphic (UI) components! It will instead bake a Skeleton down to a less flexible Prefab with a fixed hierarchy of
TransformswithMeshRenderersand compatible animation clips. A lot of Spine's features don't exist in Unity's Animation system so they can't be translated and are ignored in the process.

To open the Skeleton Baking Window, click on the gear icon at the top right of the SkeletonDataAsset Inspector and choose Skeleton Baking.
A detailled list of supported and unsupported features can be found here in SkeletonBaker.cs.
Note: Baking is not using the recently added Unity 2D animation system but the previously existing 3D
MeshRendererbased system.
Texture Atlas Asset
The texture atlas asset contains information about the images used by your skeleton, namely on what texture atlas page an image is stored, as well as its UV texture coordinates on the texture atlas page.

You can view the material of the texture atlas pages by double clicking the material asset in the Materials array.
Note: You can modify the materials and textures referenced by the texture atlas asset. When modifying textures, make sure the UV texture coordinates stay valid. The
SkeletonRenderercomponents use a normalMeshRendererfor rendering, so materials and textures are applied normally just like they would when assigned at e.g. a cube or quad. So you can replace or pre-process the textures at the materials of your Texture Atlas Asset as needed.
The Set Mipmap Bias to -0.5 button is intended for advanced users and can be used to compensate for blurry appearance when Generate Mip Maps is enabled on an atlas texture.
You can generate sprites for each image element of an atlas by pressing the Apply Regions as Texture Sprite Slices button. The generated sprites reference areas of the texture atlas image (png file) and can be used as any Unity sprite asset.
SkeletonData Modifier Assets
SkeletonData modifier assets provide a way for users to add additional processing to skeleton data assets after loading from a .json or .skel.bytes file has been completed.
SkeletonDataAsset's Inspector provides a Skeleton Data Modifiers list you can add assets to.

Writing a custom SkeletonDataModifierAsset class
You can write your own custom SkeletonDataModifierAsset class to add additional processing to skeleton data assets after loading from a .json or .skel.bytes file. SkeletonDataModifierAsset is an abstract ScriptableObject class where you can derive your own classes from.
-  Create a new class derived from SkeletonDataModifierAssetand implement thevoid Apply (SkeletonData skeletonData)method. Add theCreateAssetMenuclass attribute to list an entry for your class in theAsset -> Createmenu.C#[[CreateAssetMenu(menuName = "TopMenu/Submenu/SubSubmenu", order = 200)]
 public class BlendModeMaterialsAsset : SkeletonDataModifierAsset {
 public override void Apply (SkeletonData skeletonData) {
 ...
 }
 }
-  Create an instance of your new class by selecting your desired folder in the Project panel and selecting your newly created Asset -> Createmenu entry. Assign the created asset at an element of theSkeleton Data Modifierslist of your SkeletonData asset.
Apply(skeletonData) will be called after loading data from the .json or .skel.bytes file has been completed.
BlendModeMaterialsAsset Modifier Asset (obsolete)
Note: spine-unity now provides native support for slot blend modes
Additive,MultiplyandScreenat eachSkeletonDataAsset, with automatic setup at newly imported skeleton assets.BlendModeMaterialAssetsare now obsolete and replaced by the native properties atSkeletonDataAsset. TheSkeletonDataAssetInspector provides a newBlend Modes - Upgradebutton to upgrade an obsoleteBlendModeMaterialAssetto the native blend modes properties. This upgrade will be performed automatically on imported and re-imported assets in Unity 2020.1 and newer to prevent reportedBlendModeMaterialAssetissues in these Unity versions. spine-unity 4.0 and newer will automatically perform this upgrade regardless of the Unity version.
BlendModeMaterialsAsset is a SkeletonData modifier asset class included in spine-unity. It holds references to materials that can be used to render attachments within slots that have the Additive, Multiply and Screen blend modes assigned to them in the Spine editor.
The Material references stored in BlendModeMaterials assets are used as templates to generate new Materials that use the appropriate texture needed by the loaded attachments.
The spine-unity runtime comes packaged with a ready-to-use BlendModeMaterialsAsset named Default BlendModeMaterials. Using this included asset allows the attachments in slots with special blend modes to use the included default Multiply and Screen shaders: Spine/Blend Modes/Skeleton PMA Multiply and Spine/Blend Modes/Skeleton PMA Screen.
If you need to use different Materials or shaders or Materials with different settings, you can create new BlendModeMaterialsAssets using Create -> Spine -> SkeletonData Modifiers -> Blend Mode Materials. Then assign your Material templates to the created asset.