Below you can find listed information on what rendering features we currently support, plan to support and ones that we do not.
These features are all available right now to use with the Luna Engine:
Make sure the shaders you use support Shader Target 3.0. If not they can most likely be converted/adapted.
Forward renderer path from Unity's built-in render pipeline.info
We do not support other rendering paths from Unity's built-in pipeline, only ForwardPath.
All built-in Unity uniforms (for lights, harmonics, matrices, screenparams etc.)
Unity Fog (Exponential, Exponential Squared & Linear Fog)caution
Calls made to fog via scripts will cause shader issues in Luna, be sure to use the lighting settings window in Unity instead.
What we plan to implement
These are features that we have on our roadmap to add to the Luna Engine, be sure to check out our release notes when we update Playable to see what new features are available.
Luna always initializes WebGL 1.0 context for compatibility reasons (even when WebGL 2.0 is available). This can lead to limitations when it comes to the support of newer shader features. The exact set varies from device to device due to different vendor-specific extensions available. You can find more info on WebGL1.0 here.
To make sure Luna is able to utilize all your shader code, please try running the game targeting OpenGL ES 2 API.
Below are features we currently do not support:
HDR (because of lack of float textures)
Linear color space (again due to lack of float textures)
Color values from fragment shaders are clamped01 for WebGL1.
This can lead to wrong blending (especially in additive). E.g. White (1,1,1,1) + Red (1,0,0,1); Would be clamped to (1,1,1,1).
Optimized graphics API (instancing, cbuffers, VAO, vertexBuffer partial update)
Shader Lab Features
In this section are displayed all the ShaderLab features that are supported by Playable Plugin.
Shader Lab Features
|Fallback block||Only for |
|SubShader LOD block||Yes|
|SubShader Tags block||Yes|
|RenderPipeline SubShader tag||No|
|Queue SubShader tag||Yes|
|RenderType SubShader tag||Yes|
|DisableBatching SubShader tag||No|
|CanUseSpriteAtlas SubShader tag||No|
|PreviewType SubShader tag||No|
|Pass Tags block||Yes|
|#pragma target <value>||2.0 - 3.0 (limited for 3.0)|
|#pragma only_renderers <value>||Luna needs GLES target shaders|
|#pragma exclude_renderers <value>||Luna needs GLES target shaders|