Equipping certain skins will render them as invisible
Partner rank
2 - Important
Partner reporting team
CubeCraft
Verification builds
1.13.0
Summary
If you equip some custom skins files, they'll break your skin and make you render completely invisible in the client.
Impact
- Connecting to single player worlds will trigger an "Invalid Skin" error message, meaning players are unable to play any content on the marketplace, whilst having a broken skin equipped.
- The CubeCraft server will receive the incorrect amount of texture bytes for any clients to render the skin visible correctly. We filter out these invalid skins and don't send the players equipped skin to anyone.
Repro steps
I've attached 2 skins, one of which is working fine, and one of which is completely broken.
Testing the broken skin
- On the Home screen of the game, click on Profile
- Press "Edit Character"
- Click on the "Classic skins" tab (The one that looks like 3 people standing next to each other)
- Expand the "Owned" category
- Click on "Import"
- Press "Choose new skin"
- Select the broken skin
- Click on the Steve skin (on the right). This may be invisible, however the next few steps we'll do clear caches, to ensure that we reach a consistent goal.
- Restart the client.
- Follow all the steps above again to the point of selecting the broken skin within finder.
- Observe that inside the client, on the home screen, the skin selector and other places, the skin will be invisible.
Observed results
On the home screen, the skin will be invisible and joining a single player world will yield the error message "Invalid or Corrupt skin".
Expected Results
Testing the working skin
- On the Home screen of the game, click on Profile
- Press "Edit Character"
- Click on the "Classic skins" tab (The one that looks like 3 people standing next to each other)
- Expand the "Owned" category
- Click on "Import"
- Press "Choose new skin"
- Select the working skin
- From this point, if you select the steve skin on the right, you'll notice that the skin functions as you would expect a skin to work.
Screenshots/Videos attached
Yes, you can find attached the working and broken skin files. You can also see what a broken skin will look like when equipped within the client.
Regression builds
I believe this was last working on 1.12, however I can't test since the PlayFab migration has meant I can't load up any versions older than 1.13.
Notes
- This issue is a lot easier to reproduce on iPhone. Simply send the phone a JPEG skin, and it will be invisible.
- For the Windows 10 edition, we took the JPEG version of the skin, and change the file extension to .png (despite it still being JPEG format)