Build working on Android and not working on iOS

Hi Everyone,
Noob to PlayCanvas and an artist here.
I typically work with Unity and Unreal so this is typically taken care of by the programmer, but we don’t have one free for this eval we are doing so I am taking care of this so far.

I have a build that works on Android and not iOS via the Web Player (Chrome / Safari)
I am completely new so any help would be appreciated.

The projects are public, hopefully I am sharing the right links the right way.

Problem child project that won’t run on iOS:

2k Lightmaps on this one, many 2K textures, profiler says it’s using 768 megs of ram.

The one that does work so far on iOS:

This is using all 1K lightmaps and textures.
it runs on iOS. uses about 250 megs of RAM.

My guess is texture RAM usage.
It’s runs on My Nexus 6, Android 7.0, but it has 3 Gigs of Ram.
Thanks ahead of time

Mike Kennedy

It’s very possible that you are running out of VRAM given the number of 2K textures you have in the project. Try this build on iOS of the 2K version that I’ve branched and used the texture compression. If this works then it’s most likely a VRAM issue.

If it doesn’t, then I would use the Safari remote inspector to see if there are any error messages in the console:

1 Like

Awesome, Thank you very much!
Turning that on for all the textures in my branch now and will test.
Super Appreciate the help!
Mike Kennedy

Just to update.
Confirming this worked, it’s now my standard workflow. Awesome feature. Used to this being automatic almost in Unreal and Unity to such a large degree. I love it.

Feature request : Could this be a global import switch? It’s not difficult to convert, but on more complex projects it’s some thing that has to be managed by hand and being global would be a great option to have.


Yes, we could potentially look at auto-generating compressed textures on import. The reason we don’t do that at the moment is that is a very large CPU cost to compress and vast numbers of textures are uploaded to PlayCanvas, and often, users don’t want or need it. We’ll discuss internally. Perhaps an auto-generate option that is initially off could be added. But with it being so easy to multi-select all textures in your app, it takes literally seconds to do this anyway.

To select all textures in your project and compress do:

Useful ops I used there:

  • Enter *. into Search field to list all assets in project
  • Shift-click to multi-select in Asset Panel. CTRL-A works too.

Notice how you get combined totals for multi-selected assets in the Inspector panel, which is useful.

That’s how I do it now, it’s a very good feature!
I noticed you were checking off all the option, could you explain whay and how that affects the project,

So far I am only using the PVR set to 2 BP on the advice from the forum, and because it’s been super efficient.

Can I ask what the advantage or purpose is, out of my own lack of knowledge only!
I never got too deep into these compression formats other than the settings in Unity and Unreal and DDS in the past out of Photoshop. Very curious to learn more.

This blog post will help :slight_smile:

1 Like

Read this to learn about the options:

1 Like

Awesome, thank you folks, super helpful forum and company!

1 Like

I can’t find the texture compress option in the editor, could you please tell me where I can find it ?

This feature is currently exposed only for subscribers to PlayCanvas.

How can I become a subscriber ?

Upgrade to a paid account to access it - details of the Personal and Organization plans can be found here.

1 Like

A post was split to a new topic: Difference between Web Download and iOS Download