Elements of Canvas with Constant Physical Size doesn't show up in iOS Simulator

I’m making an UI that should scale across all iDevises - and since I don’t own all of them, I really want to use Xcode’s iOS Simulator. However when I create a Canvas, and choose Canvas Scaler → Ui Scale Mode: Constant Physical Size, all of the elements of this canvas (eg. buttons) doesn’t show up, when I build and try it out in Xcode’s iOS Simulator.

Here is how to reproduce it:

  • Make a newUnity project
  • Gameobject-> UI ->Button
  • (This also creates a Canvasand an EventSystem)
  • Choose:Canvas->CanvasScaler->UiScaleMode:ConstantPhysicalSize
  • Save the scene
  • Choose:File->BuildSettings…->
  • Platform: iOS
  • SwitchPlatform
  • PlayerSettings…->
  • OtherSettings-> SDK Version:Simulator SDK
  • Build

I’m on Unity 4.6.3f1 and Xcode 6.2

I tried to ask on Unity Answers, but with no luck. Maybe someone here could throw some light on it…?

One simple possibility is that you are adding the button BEFORE you set the canvas mode. Depending on where it is placed, the anchor positions could place this outside of the Canvas Bounds. Basically setting the CanvasScalar mode doe not change any UI element RectTransforms.

Try setting up the Canvas and CanvasScaler first and then add the button. Once you can see it properly in the editor using the Editor dimensions for the iOS device you are targeting, then build and deploy it.

Thanx for the suggestion. But no, it’s not that. See my screenshot

Now I’m on Unity 5.2 and Xcode 6.4. Problem is still there!