Skip to main content

Supported Rendering Features

Below you can find listed information on what rendering features we currently support, plan to support and ones that we do not.

Supported

These features are all available right now to use with the Luna Engine:

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.

Not Supported

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:

Shader Lab Features

In this section are displayed all the ShaderLab features that are supported by Playable Plugin.

Shader Lab Features
ShaderLab Feature Supported
Shader blockYes
Properties blockYes
Fallback blockOnly for ShadowCaster

Subshaders

SubShaders
Feature Supported
SubShader blockYes
PackageRequirements blockNo
SubShader LOD blockYes
SubShader Tags
Feature Supported
SubShader Tags blockYes
RenderPipeline SubShader tagNo
Queue SubShader tagYes
RenderType SubShader tagYes
DisableBatching SubShader tagNo
CanUseSpriteAtlas SubShader tagNo
PreviewType SubShader tagNo
SubShader Commands
Feature Supported
UsePassYes
GrabPassYes

Pass

Pass
Feature Supported
Pass blockYes
Name blockYes
Pass Tags
Feature Supported
Pass Tags blockYes
LightMode tagYes
PassFlags tagNo
RequiteOptions tagNo
Pass Commands
Feature Supported
AlphaToMaskNo
BlendYes
BlendOpYes
ColorMaskYes
ConservativeNo
CullYes
OffsetYes
StencilYes
ZClipYes
ZTestYes
ZWriteYes

#pragma

#pragma
Feature Supported
#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