• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
Question by lpiljek · Mar 18, 2016 at 12:39 PM · iosrenderingmobiledeferred

Does deferred rendering work on iOS devices?

We have a single camera in the scene and it is set to deferred shading rendering path. When run on an iOS device, unity always switches camera to forward rendering path. The documentation states that deferred rendering "requires a graphics card with Multiple Render Targets (MRT), Shader Model 3.0 (or later), support for Depth render textures and two-sided stencil buffers". We have set graphics API to OpenGL ES 3.0, and are running the game on iOS 6 device which does support MRT (up to 256 bits). There seems to be no reason why deferred shading should not work on these devices.

Can anyone tell me how to make it work, or if it isn't supported, why? Also if Unity doesn't allow this, did anyone try to make their own deferred rendering path within Unity? Could one force Unity to manually start a g-buffer and lighting passes with custom shaders?

Comment
roddles

People who like this

1 Show 0
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image

Answer by sbsmith · Nov 20, 2017 at 08:57 PM

I'll answer this old question since it comes up in searches. Only certain devices can support Deferred rendering. Even if a device supports Metal, it may not support the deferred path. For example, Metal will fall back to Forward rendering if the device has an A7 chip. The deferred path is only supported on A8 and later. There is a chart on the bottom of this page explaining which devices can use the different rendering paths.

You can see which devices use which chips here.


Update: I have tested that deferred works on Unity 2017. In order to make it work on older devices, you will need to go to the Player settings and remove the Metal graphics API. Make sure that it is only using OpenGL ES 3. If Metal is listed as an API and the hardware does not support deferred in Metal, it will select Metal over OpenGL and then revert back to forward rendering.


Update 2: As of writing, Unity's own documents contradict themselves about deferred lighting on mobile. Here it leaves blank whether or not deferred is even supported on mobile.

Comment
roddles
JohnnyFactor

People who like this

2 Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image lpiljek · Nov 21, 2017 at 09:47 AM 0
Share

Yeah, I made a mistake in the original post where I said "on iOS 6 device", I meant "iPhone 6" which does have an A8 chip. So at the time of my writing that (a year and a half ago) Unity did NOT support Deferred rendering on iOS devices AT ALL (including the latest chips which were A8 and A9 then). I don't know if they fixed that in the meantime or if they did, which Unity version it was fixed in because I didn't have the time to test it.

That being said, I explicitly wrote that the device I was using has all the needed hardware requirements (because it was an A8 chip) and you don't answer my original concern at all.

avatar image sbsmith lpiljek · Nov 21, 2017 at 08:02 PM 0
Share

You're totally right. I'll update my answer above.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Unwanted rendering on top of all objects!? 0 Answers

Why did my render time increase after lowering the vertex count? 2 Answers

iOS Mobile - Mouse Input vs Touch Input 1 Answer

Creating a Mobile Game for both Android and IOS 2 Answers

[iOS] Cpu spike when camera near to objects on 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges