diff --git a/spine-csharp/src/SkeletonBinary.cs b/spine-csharp/src/SkeletonBinary.cs
index b1fe22e7c..d48b185e7 100644
--- a/spine-csharp/src/SkeletonBinary.cs
+++ b/spine-csharp/src/SkeletonBinary.cs
@@ -199,7 +199,15 @@ namespace Spine {
// Slots.
SlotData[] slots = skeletonData.slots.Resize(n = input.ReadInt(true)).Items;
for (int i = 0; i < n; i++) {
- String slotName = input.ReadString();
+ String slotName = input.ReadString(); //, path = null;
+ if (nonessential) {
+ int slash = slotName.LastIndexOf('/');
+ if (slash != -1) {
+ //path = slotName.Substring(0, slash);
+ slotName = slotName.Substring(slash + 1);
+ }
+ }
+
BoneData boneData = bones[input.ReadInt(true)];
SlotData slotData = new SlotData(i, slotName, boneData);
int color = input.ReadInt();
@@ -218,7 +226,9 @@ namespace Spine {
slotData.attachmentName = input.ReadStringRef();
slotData.blendMode = (BlendMode)input.ReadInt(true);
- if (nonessential) input.ReadBoolean(); // if (nonessential) data.visible = input.readBoolean();
+ if (nonessential) {
+ input.ReadBoolean(); // data.visible = input.readBoolean(); data.path = path;
+ }
slots[i] = slotData;
}
diff --git a/spine-csharp/src/SkeletonData.cs b/spine-csharp/src/SkeletonData.cs
index 774b9ae41..528005bd6 100644
--- a/spine-csharp/src/SkeletonData.cs
+++ b/spine-csharp/src/SkeletonData.cs
@@ -58,6 +58,7 @@ namespace Spine {
/// The skeleton's bones, sorted parent first. The root bone is always the first bone.
public ExposedList Bones { get { return bones; } }
+ /// The skeleton's slots in the setup pose draw order.
public ExposedList Slots { get { return slots; } }
/// All skins, including the default skin.
diff --git a/spine-csharp/src/SkeletonJson.cs b/spine-csharp/src/SkeletonJson.cs
index cca56af61..30578cd81 100644
--- a/spine-csharp/src/SkeletonJson.cs
+++ b/spine-csharp/src/SkeletonJson.cs
@@ -143,7 +143,13 @@ namespace Spine {
// Slots.
if (root.ContainsKey("slots")) {
foreach (Dictionary slotMap in (List