Frequently Asked Questions
Keyboard input works when I run standalone/in the editor but not when I connect through OmniStream?
For security reasons keys must be added to the allowed keys list.
Mouse input doesn't work when testing locally
In Unity if you are using the Legacy Input System then mouse input won't work correctly due to the way the legacy system captures input. To test mouse input effectively you'll have to upload your built project and test on an OmniStream Render Service.
The composition fails to run when I click start on ZLManager when testing locally
There is a Windows 11 bug which prevents ZLManager from running it's processes at lower privileges. To work around this set "Run With Lower Privileges" to "Off" in the "Features" section of the ZLManager Settings.
Local debugging fails to connect
Local debugging is only supported on Nvidia GPUs and in either Chrome or Firefox.
Most errors can be fixed by stopping and re-running the composition in ZLManager and then the same for your application (or from the Editor). In Unreal, we recommend running in Standalone Game mode rather than through the Editor. If you have localhost/zlm/localmetadataservice/?extended=true:1 Failed to load resource: net::ERR_BLOCKED_BY_CLIENT
in your browser log then it's likely that a browser extension such as adblock is blocking the local connection. To work around this try using a different browser or adding an exception to the relevant extension.
Audio is not working
In Unity projects, Audio must be enabled for OmniStream in each of the scenes in your project, you can find instructions here: Unity Audio.
Due to browser restrictions, streams start muted, and a user action is required to un-mute. There are different ways to do this depending on how you're accessing the stream. The OmniStream Test Page has a button under the "features menu" to toggle audio. The OmniStream Viewer can display controls to un-mute/mute the audio, as well as an option to automatically un-mute the audio the first time the stream window is clicked. If a native integration is being used then it's up to the integrating page to implement.
iframe will got go into fullscreen
By default iframe elements that are from a separate domain to the host page, are not allowed to enter fullscreen. To allow the OmniStream Viewer to go fullscreen when in an iframe element, make sure the iframe element has the allow="fullscreen"
attribute set.
When I connect my app is still in the same state as the last person who was connected
If you're using the Unity or Unreal plugin then by default OmniStream is configured to deliver faster connection times by not restarting the app between users. Instead Connect and Disconnect events are provided which you can hook into to start your experience when someone connects and reset it when they disconnect, ready for the next user. There is also an option in the plugin settings to to restart the app completely between users.
Unreal is not including the plugins
To check if the plugin has been included in your project go into your build directory and traverse down the folder structure until you reach the folder named after your project. Inside this folder you should see a folder called "Plugins" which contains a folder called "ZLCloudPlugin". If this folder is not present then the plugin hasn't been included in the build.
There are a couple of reasons why the plugin might get get included from a build:
-
There's an Unreal bug with Blueprint only projects, which causes them to sometimes not include plugins, adding a dummy c++ script resolves this https://forums.unrealengine.com/t/plugin-failed-to-load-because-module-could-not-be-found/472360
-
The plugin has been restricted to Editor Only. This sometimes happens as the result of an engine version update. Open the .uproject file for your project and find ZLCloudPlugin in the "Plugins" section. If it contains as section like the below then remove this section.
"TargetAllowList": [
"Editor"
]
Unreal builds fail with exception accessing CloudStream2.dll
If you see the Exception: Access to the path 'ProjectDir\Plugins\ZLCloudPlugin\Binaries\ThirdParty\CloudStream2\Win64\CloudStream2.dll' is denied. error and are getting build failures due to this, close the editor and copy the CloudStream2.dll file from ProjectDir\Plugins\ZLCloudPlugin\Source\ThirdParty\CloudStream2\x64\Release to ProjectDir\Plugins\ZLCloudPlugin\Binaries\ThirdParty\CloudStream2\Win64 and reopen your project.
Why do I need to disable Pixel Streaming?
ZeroLight OmniStream uses a custom plugin to enable quick fixes, enhanced streaming features and compatibility across engines. Disabling the Pixel Streaming plugin in Unreal is recommended to avoid overheads and conflicts.
Unity gets stuck "Reloading Domain" during OmniStream builds in Unity 2023
Check and see if your project has the Visual Scripting package added as there are issues with that package hanging on domain reloads during builds. There is a Unity forum thread you con follow for updates on the issue here. Until this issue has been resolved we recommend not using Visual Scripting in Unity 2023.
My Unity UI is not responding to mouse input
OmniStream supports using either the new Input System Package or the Legacy Input Manager, but not a mix of the two. Make sure you're only using one input system and then make sure you set Project Settings->Player->Other->Configuration
to either "Input System Package (New)" or "Input Manager (Old)" and not "Both".
How do I check the version of my app being streamed?
LibZL will print to the browser console details about your application when connecting a stream.
My app is failing to upload to Portal
If you're upload is failing to start, it could be that you need to allow https traffic to portal.zerolight.com on your network.
In the event that uploads are failing to complete, navigate to the plugins 'About->Get Logs' and save a .zip containing the relevant plugin logs for more information. It is also useful at this stage to verify that your certificates are up to date and valid. If the problem persists, these logs can be provided to ZeroLight to investigate the cause further.