Light
- Last UpdatedOct 22, 2025
- 4 minute read
The Light node enables you to take control of a 3D light. There are different light types characterized by different parameters and behaviors.
Note: Lights are currently under development, so not all parameters are currently supported.
Platform support
This node is fully supported on XR-Windows platform.
It is partially supported on XR-Portable Windows, XR-Portable iOS, XR-Portable Android, and XR-P WASM platforms.
Light support is restricted to FGI-backed state calculations.
|
XR-WIN |
XR-P-WIN |
XR-P-IOS |
XR-P-AND |
XR-P-WASM |
|---|---|---|---|---|
|
Full support |
Partial support |
Partial support |
Partial support |
Partial support |
|
|
|
|
|
|

Light types
The light node supports two types of lights.
|
Light type |
Description |
|---|---|
|
Omni |
The light emanates from a point and goes in all directions. This type is mainly used for generating diffuse light. |
|
Direct |
Light emanates from a circle and has a direction so that the lighted area has a cylinder shape. This kind of light can be used for casting shadows. The cylinder has two radii: the falloff (maximum) and the hotspot. The intensity is at the top inside the hotspot, while there's attenuation and diff. |
Guidelines
-
When a light has a type, it cannot be changed at runtime.
-
Not all the customization parameters apply to both the light types.
Code example
This is a code example for the Light node.
<Light name="SpotFlag" light="Mesh_Flag|SpotFlag" position="11.83189 29.11901 9.897886" color="1 1 1" falloff="59.8" hotspot="57.5" intensity="1" targetPosition="22.80067 -12.76238 16.30802"/>
Light fields
These are the fields for Light node. Only the node-specific fields are indicated, not fields obtained by inheritance.
Field inheritance: NodeBase > Light
|
Fields |
Type |
Use |
Default value |
Description |
|---|---|---|---|---|
|
attenuationStart |
sfloat |
Optional |
Not set |
At what distance from the source the attenuation starts. 0 means no attenuation. |
|
attenuationEnd |
sfloat |
Optional |
Not set |
At which distance the attenuation ends . |
|
affectOnlyIfAssigned |
sbool |
Optional |
false |
If set to true the light is considered by the shaders ($shaderGen) only if explicitly declared. |
|
color |
svec3 |
Mandatory |
Not set |
Color of the light. |
|
light |
sstring |
Mandatory |
Not set |
Complete name (including pipes '|') of the 3D light object. |
|
lighting\affectDiffuse |
sbool |
Optional |
true |
Set to false to not influence material diffuse. |
|
lighting\affectSpecular |
sbool |
Optional |
true |
Set to false to not influence material specular. |
|
falloff |
sfloat |
Optional |
Not set |
Width of the Direct light cylinder. |
|
hotspot |
sfloat |
Optional |
Not set |
Width of the Direct light hot area cylinder. |
|
intensity |
sfloat |
Optional |
Not set |
Intensity of the light. |
|
position |
svec3 |
Mandatory |
Not set |
Position of the light. |
|
target |
sstring |
Optional |
Not set |
Complete name (including pipes '|') of the 3D Direct light target object. |
|
targetPosition |
svec3 |
Optional |
Not set |
Position of the Direct light target. It defines cylinder length and direction. |
|
type |
senum |
Read only |
Not set |
Can be Omni or Direct based on the content of the MWX (template or not). |
|
shadow\castshadow |
sbool |
Optional |
Not set |
Set to true to force shadows cast. |
|
shadow\colorAlpha |
sfloat |
Optional |
Not set |
0-1 shadow alpha color intensity. |
|
shadow\colorRed |
sfloat |
Optional |
Not set |
0-1 shadow red color intensity. |
|
shadow\colorGreen |
sfloat |
Optional |
Not set |
0-1 shadow green color intensity. |
|
shadow\colorBlue |
sfloat |
Optional |
Not set |
0-1 shadow blue color intensity. |
|
shadow\noDistanceTest |
sbool |
Optional |
Not set |
Set to true to disable distance check for shadows generation. |
|
shadow\excludeHumans |
sbool |
Optional |
Not set |
Set to false to exclude humans shadows generation. |
|
shadow\excludeMeshes |
sbool |
Optional |
Not set |
Set to false to exclude meshes shadows generation. |
|
shadow\refreshFrameRate |
sfloat |
Optional |
Not set |
Shadows FPS calculation.0 means no realtime shadows. |
|
shadow\mapBias |
sfloat |
Optional |
Not set |
Adjust shadow distance respect the shadow casting object. |
|
shadow\mapSize |
sint |
Optional |
Not set |
Increases/decreases shadow aspect smoothness. Use 2n values like 32,64. |