Search Results for

    Show / Hide Table of Contents

    iOS / tvOS Platforms

    Plugin Specs

    • Compatibility
      • Unity 2018.x - 2022.x are supported
      • iOS 10.0, iPadOS 13.1, tvOS 11.0 and later are supported
    • Rendering
      • Only the Metal rendering API is supported
      • Multi-threaded rendering is supported
    • Internals
      • Under the hood we’re using Apple's AVFoundation API

    Supported Media

    See the Supported Media section for more information.

    Streaming

    See the Streaming section for more information.

    Platform-Specific Options

    See the Platform-Specific Options section for more information.

    Troubleshooting

    • My app terminates with the following error in the log:

      dyld: Library not loaded: @rpath/AVProVideo.framework/AVProVideo
      

      You need to make sure the AVProVideo.framework is set to Embed & Sign in the Frameworks, Libraries and Embedded Content section of the General pane for the Unity-iPhone target of the generated Xcode project as shown below:

      Unity-iPhone target showing AVProVideo.framework set to Embed & Sign

      You will also need to make sure that AVProVideo.framework is set to Do Not Embed in the Frameworks, Libraries and Embedded Content section of the General pane for the UnityFramework target of the generated Xcode project as shown below:

      Unity-iPhone target showing AVProVideo.framework set to Embed & Sign

      The PostProcessBuild_iOS script should do this automatically for you. It has been known to fail when:

      • building from the command line and not passing the -buildTarget iOS option
      • the path to the framework cannot be identified. This is usually due to either:
        • The plugin being moved from its default installed location
          Whilst relocating the entire plugin folder is fine, the contents should be left in their respective locations
        • The plugin was installed into a project with version 1.x already present
          Remove version 1.x of the plugin and then reinstall version 2.x
      • you are integrating Unity into a native iOS application as outlined here
        • add AVProVideo.framework to Frameworks, Libraries and Embedded Content section of the General pane for your application target and make sure it is set to Embed & Sign
        • make sure that AVProVideo.framework is set to Do Not Embed in the Frameworks, Libraries and Embedded Content section of the General pane for the UnityFramework target

    Streaming

    • By default streaming requires that the HTTPS protocol is used. If you want to support streaming via HTTP you need to enable this explicitly. Look for the "Allow downloads over HTTP" option in the "Other Settings" pane of the iOS and tvOS player settings inspector.

    Y'CbCr Video Output Mode

    Apple platforms have support for Y'CbCr textures which has lower memory overheads and is slightly more performant when compared with standard BGRA32 textures. This option is disabled by default and can be enabled on the MediaPlayer in at Platform Specific section:

    alt_text

    The DisplayIMGUI and DisplayUGUI components automatically detect the use of Y'CbCr mode and switch to a suitable shader. ApplyToMesh/ApplyToMaterial also detect this setting and try to set up the shader on the material to the correct settings, however it requires the shader to have the correct properties. The AVPro Video shaders support this, so if you want to use this on a mesh then make sure you’re using these shaders.

    In This Article