Publishing for Mobile



Caching Behavior

As a ScriptableObject, the Substance in Unity plugin works with two types of texture caching. 

  1. If the Substance graph is not referenced in a script it will bake the textures and discard the Substance Graph data. 
  2. If the the Substance graph is referenced by a script, it will bake the textures and keep the Substance Graph data so the textures can be changed at runtime. 

Texture size on mobile devices

The resolution of the texture set in the Unity Editor will be the size that is published in the app binary. Lowering the resolution of the Substance material will create textures with smaller file sizes.

Platforms

Apple iOS

1. Make sure that the iOS module is downloaded for the corresponding Unity version.
2. In Unity, change the build target to iOS.
3. Open the Player Settings and change the 'Identification - Bundle Identifier' field to something more unique. (for example: com.Allegorithmic.iosProject)
4. Build and Run the game.
5. In Xcode, click on the iOS device and change the 'Signing - Team' dropdown to your developer team ID.
6. In Xcode, click on the 'Build Settings' tab and search for "bitcode". Change the 'Enable Bitcode' option to 'No'. We are using tinyxml and it does not support bitcode
7. On the iOS device, go to 'Settings - General - Device Management' and click 'Trust' on the developer team ID that appears.
8. Run the Xcode build again by clicking the 'Build and Run current scheme' button (the Play button).
9. The game should be running on the iOS device.

Android OS

1. Make sure that the Android module is downloaded for the corresponding Unity version.
2. In Unity, change the build target to Android.
3. Open the Player Settings and change the 'Identification - Bundle Identifier' field to something more unique. (for example: com.Allegorithmic.androidProject)
4. Build and Run the game.
5. The game should be running on the Android device.