Apart from code compilation errors, which can happen due to missing APIs or simple mistakes in the code, Luna can also fail exporting your project at different stages for several reasons. This page outlines common error messages that can appear during export and steps to take to resolve these errors.
Assets processing failed
This message appears whenever Luna's asset pipeline is unable to digest some of the assets properly. This could happen in one of four instances:
The most likely cause for this error is MSBuild not being found in the system or configuration having an invalid path to it. Please make sure you have MSBuild (along with .NET 4.7+) installed on your machine and check if the path to MSBuild executable is set up properly in
Luna UI > Advanced Settings.
Invalid custom script
If the project has custom processing scripts configured (i.e. to resize a texture or compress an audio clip), and this popup appears during export, it is recommended to first try disabling those scripts. If the scripts don't write a proper output file, exit with non-zero status or crash the export process, Luna will have to stop and display this message.
Editor script error
This message will appear if there is an Editor script clashing with Luna export in some way. If that is the case, Unity's console will contain an error message with a stack trace; inspecting this should point to the script(s) causing problems. The way to resolve that would be removing the script in question or fixing it so that it does not interfere with the export process.
Unwanted Scenes left in Unity Build settings
If you have scenes you don't want to export in Luna added to your Unity build settings, it could be causing your build to fail. To get around this simply remove all scenes you aren't exporting with Luna from your Unity build settings, even if they aren't currently checked to be in the load order.
A bug in Luna
Although the whole export process contains an excessive amount of safety nets and fall-backs, it can be the case when there is a bug in Luna plugin that prevents the assets from being exported. Similar to the previous scenario, Unity's console would contain an error message with a stack trace originating from Luna's editor scripts namespace. If that happens, please contact us for further assistance.
PNGQuant Access Restriction
When starting a Luna build for the first time you might encounter a permission requirement when building your Luna build. This is to do with quant conversion which is actually done by calling executable build into the package. In the case of Mac all (image) conversion will ask for permissions, quant being a case.
Steps to Enable Permissions
• Open terminal and navigate into Luna package you downloaded, where ever the package lives on your local machine.
• Then navigate into the tools directory.
• Once in the tools directory is open, you can enter:
chmod 777 pngquant
This should enable you to build without compilation restrictions.
If the above didn't work, it could be due to the directory requiring permission further inside the directory folder.
Check the contents of that directory with the
ls command in the terminal, inside Luna package tools directory.
If pngquant folders are present then move into those folders using the commands below:
depending on your device :
Once at this level you should enter:
chmod 777 pngquant once again.
Incorrect Stubs folder pathing
If you are collaborating on a Playable and making use of our automatic stubbing feature the pathing may still be set to another collaborator's machine.
To fix this locate the Stubs folder in the project directory, and paste the correct path into the 'External C# sources folders' box (Plugin UI -> Code -> External Sources).
Assets (Package) bundling failed
While these messages may be caused by external factors like lack of disk space or a third-party software terminating Luna process, the most probable reason is some kind of a bug inside Luna internals. Please don't hesitate to contact us in this case.
GUI/Text Shader Error
If you are experiencing an error like this in Unity when exporting to Luna Playground:
You most likely can ignore it.
This error is due to the default shader for immediate GUI being automatically grabbed & exported, however it’s been exported incorrectly. As its inclusion is automatic, no matter if it is used or not, most cases of this error the shader was never being used at all.
In the likely instance you aren’t using this shader, your project will be unaffected and you can safely ignore this error.
In the future we will be moving this message to appear only in the Luna Plugin Window.
Object(s) Not Appearing in Luna Build
If your object is appearing in Unity but not in your Luna build, it will most likely be due to one or more of these reasons:
The Luna Build has not been Updated/Rebuilt
Click 'Build Develop' again in the Plugin window.
The Disable Cache option in your browser is not enabled
Tick the option in the browser inspector, under the Network tab:
Incorrect Scene Selected in Plugin Export Settings
You can check your selected scene in the Luna Plugin window:
AABB of object is incorrect
Check result of culling. You can do this with BabylonJS Spector. If the object was in the array for rendering, but not after culling: Then something is wrong with the culling, or the object’s data for culling.
Object Mesh is Empty
This may be due to the mesh or sprite asset being excluded.
Object's Shader is Empty, or Excluded
Check object in the inspector to see if it empty, and check your Luna Plugin Exclusions tab to see if the shader is excluded:
Shader Variants Exported for your Shader Keywords CombinationNo
First thing to check is if GLES20 is on in the shader compile setting: Select the shader asset, in the inspector select the drop-down arrow next to the 'Compile and show code' button. Select 'GLES20' from this list. After this hit the 'Compile and show code' button itself, which will allow you to see the see the compiled version of the shader for every keyword combination.
If there is nothing there, or it is showing the incorrect shader, we won't be able to grab it. Possible issues causing this could be:
- The shader is incompatible with GLES2, in which case the shader code will need to be rewritten.
- You're using a Precompiled Shader, which are not currently supported. (List of current limitations here)
- You have created a Shader Variant Collection where some of the keywords are not being picked up.
Vertex colors of mesh are 0
The drawcall is happening, but the object is completely transparent. Check the drawCall.mesh.vertexBuffer data.
Duplicate Sprite draw orders
You can get around this by setting the Sprite layers specifically.