Skip to main content

FAQ

General

Does Luna support all operating systems?

Luna is a plugin for Unity, and can be run on macOS and Windows.

Which versions of Unity do you support?

We currently support all versions of Unity Personal or Unity Pro from 2019.4 up to 2021.3 inclusively. (This does not including alpha or beta releases)

Does Luna use WebGL for rendering?

Yes, the Luna engine use WebGL1.0 as graphics library. As our goal is to support all the variety of devices (including low end devices), we don't use WebGL2.0 as it's support is limited.

What versions of C# language does Luna support?

With the first iteration of Luna Compiler we fully support C# 7.0 features and earlier. We have select support for some select features from 7.1+. A list of which can be found here.). To be able to convert C# code to JS we require .NET 4.7 or later installed on machine. With Luna Compiler V2 we support up to C# 9.0 with some limitations. A list of which can be found here.). (TODO)

What platforms can run Luna playables?

Luna playables function in a web browser and can be run on every major OS: Android, iOS, Windows, macOS.

Does Luna use the WebGL build target in Unity?

No, Luna does not interact with the build target pipeline of Unity, nor does it use the Unity Tiny package. Our exporter (as part of the plugin) acts independently to create a custom C# solution file and assets set which is then run on the Luna engine.

How big is the Luna Engine?

The Luna engine is ~650kb compressed. This base footprint can be decreased dramatically using Runtime Analysis code stripping.

What happens at each of the 4 steps of Luna Playable's export process?

  1. Unity Export: gather all resources from the Unity project and prepares it for the Assets Preprocess stage.
  2. Assets Preprocess: compression is applied to the assets, as well as font bitmap generation, applied custom scripts, and essentially any other asset processing needed.
  3. Code Conversion: convert from C# to JavaScript.
  4. Compilation: Compile everything, and depending on the ad platform convert to the required files.

I am trying to export a playable with Luna, but I get compilation errors. What should I do?

Check ProjectDiagnostics section to get more info about issues. Also you can check our documentation for troubleshooting steps.

I have exported a playable but the build size is too big. What can I do?

Please review our documentation on optimisation.

The playable runs smoothly in Luna Create Hub, but lags when on my phone. What can I do?

This can happen due to performance differences between devices.

We recommend running the standalone playable or develop build in Google Chrome and using the inbuilt profiling tools.

You can also review our documentation for improving startup time.

Do the App Store URLs set in the Playable Plugin window get overridden by the ones set in App Settings in Luna Create Hub?

The URLs that are set set within the Playable Plugin window in Unity will take priority over the ones set in the App settings in Luna Create Hub.


Luna Features

Do you support all Unity APIs?

The Unity engine has a vast number of APIs, many of which are not required for playable ads (i.e Editor scripts) or not feasible for use on the web (i.e. native features). Considering this, the Luna engine supports all of the major and most commonly used components and APIs for playable ads. Over time, we plan to support more and more of these.

Do you support Async/Await?

Yes, but without multithreading due to limitations of the web platform. Check out our documentation on Async/Await.

Can I use videos within Luna?

Yes, Luna supports the Video component in Unity. We currently support VideoRenderMode.MaterialOverride and VideoRenderMode.RenderTexture(from Luna 3.6.0).

What do I do if my game uses an unsupported component or API in Unity?

If you are using an unsupported component of API, there we suggest the following options:

  • Firstly, consider whether this feature is necessary for a playable ad. Will it enhance the experience? Will it cause performance issues? If it's not required, then simply remove its use.
  • Find a suitable workaround using a supported component or API. In Unity, there are multiple ways to achieve the same results, and this is often the quickest and most straightforward approach.
  • If none of the above are possible, email support@lunalabs.uk with details on the component/API you wish to use and what you have tried so far.

Do you support the NGUI library?

NGUI is not officially supported by Luna. We recommend changing to the UI to UGUI libraries to avoid future bugs and complications.

How do I request a feature?

Please email support@lunalabs.uk. In the coming months we will be launching a feedback resource for our partners.


Playables

Which ad networks are supported

Currently, we support the following ad networks directly from Luna Create Hub:

  • Applovin
  • Facebook
  • ironSource
  • Mintegral
  • Tencent
  • TikTok
  • Unity Ads
  • Vungle

Do I need to handle device orientation

We recommend that you build a responsive playable ad, and ensure that the UI and other elements scale or adapt accordingly. Please review the guide here for more information.

My Playable is unresponsive when testing with a touch screen laptop, what do I do?

Disable your touchscreen via device manager and restart the machine.

Why doesn't audio play until user clicks?

Autoplay is a browser limitation, and defined at a user level. Please refer to this policy update for more information. Therefore, when testing your playable ad you may find that audio doesn't start automatically.

However, this may not be the case in when the ad is displayed by the ad network SDK.

We therefore recommend you test or consult with the ad network for specific behaviour.

Are the texture's properties in the Unity inspector used by Luna?

Luna will prioritise the use of its own compression and sizing settings. However, if compression is disabled, it will only consider Unity's settings. Click here for more info about texture optimisation.