I don't know who needs to see this but someone might find it helpful as finding the solution to this problem took quite a while.
There can be a discrepancy between Xbox and PC when it comes to displaying custom legacy lighting splash effects on the exterior model (things such as landing lights, nav light, strobes, beacons etc).
This post on the devsupport forum shows the issue (the video linked shows what it will look like) and gives the solution:
devsupport.flightsimulator.com
This post is simply a more detailed explanation of the solution.
The problem is if custom legacy effects are not put into the correct location then the Xbox version of MSFS will find the effects but it will not rotate them in the correct direction. The PC version works fine.
If you put your legacy effects into the [your project]/SimObjects/Airplanes/[your plane]/effects folder then you will have this problem on the XBOX version of MSFS (the PC version will work just fine so this is something you need to be aware of if you are building for both platforms).
To solve the problem custom legacy effects should be put into your project's root folder.
A typical aircraft project would then be arranged as follows:
effects (custom legacy effects)
html_ui (html/js/css)
SimObjects (your plane)
VisualEffectLibs (custom visual effects)
.locPak (localization files)
layout.json
manifest.json
In your PackageDefinition/[project name].xml file you can define the effects as follows (I have also included the asset group for the new MSFS visual effects for comparison). Note, that if you use the MSFS project editor it will default to making the OutputDir something like VisualEffectLibs\LegacyEffects. I can't remember the exact OutputDir it defaults to but whatever it is it's wrong. While it will put the effects files there MSFS won't find them. Using a process of trial and error (plus error messages from the project compiler) I determined that using "effects\" as the OutputDir is the one that works.
Note that the AssetDir can be anything you like. It's where you put the .fx files. As you can see I used PackageSources\VisualEffectLibs\LegacyEffect\ because VisualEffectLibs\LegacyEffect\ was what the project editor defaulted to as the output directory but I could have used any other folder.
Ensure you have unique .fx file names as the virtual file system will merge these with the base effects found in \Official\OneStore\fs-base-effects-legacy
There can be a discrepancy between Xbox and PC when it comes to displaying custom legacy lighting splash effects on the exterior model (things such as landing lights, nav light, strobes, beacons etc).
This post on the devsupport forum shows the issue (the video linked shows what it will look like) and gives the solution:
Aircraft lighting issue on Xbox with custom FX for Landing/Taxi/Strobe vs. PC version working as intended
Hello @b4gunner We were able to reproduce the issue and this is being investigated. Regards, Sylvain
devsupport.flightsimulator.com
This post is simply a more detailed explanation of the solution.
The problem is if custom legacy effects are not put into the correct location then the Xbox version of MSFS will find the effects but it will not rotate them in the correct direction. The PC version works fine.
If you put your legacy effects into the [your project]/SimObjects/Airplanes/[your plane]/effects folder then you will have this problem on the XBOX version of MSFS (the PC version will work just fine so this is something you need to be aware of if you are building for both platforms).
To solve the problem custom legacy effects should be put into your project's root folder.
A typical aircraft project would then be arranged as follows:
effects (custom legacy effects)
html_ui (html/js/css)
SimObjects (your plane)
VisualEffectLibs (custom visual effects)
.locPak (localization files)
layout.json
manifest.json
In your PackageDefinition/[project name].xml file you can define the effects as follows (I have also included the asset group for the new MSFS visual effects for comparison). Note, that if you use the MSFS project editor it will default to making the OutputDir something like VisualEffectLibs\LegacyEffects. I can't remember the exact OutputDir it defaults to but whatever it is it's wrong. While it will put the effects files there MSFS won't find them. Using a process of trial and error (plus error messages from the project compiler) I determined that using "effects\" as the OutputDir is the one that works.
Note that the AssetDir can be anything you like. It's where you put the .fx files. As you can see I used PackageSources\VisualEffectLibs\LegacyEffect\ because VisualEffectLibs\LegacyEffect\ was what the project editor defaulted to as the output directory but I could have used any other folder.
Ensure you have unique .fx file names as the virtual file system will merge these with the base effects found in \Official\OneStore\fs-base-effects-legacy
Code:
<AssetGroup Name="LegacyEffect">
<Type>VisualEffectLegacyLib</Type>
<Flags>
<FSXCompatibility>false</FSXCompatibility>
</Flags>
<AssetDir>PackageSources\VisualEffectLibs\LegacyEffect\</AssetDir>
<OutputDir>effects\</OutputDir>
</AssetGroup>
<AssetGroup Name="VisualEffectLib">
<Type>VisualEffectLib</Type>
<Flags>
<FSXCompatibility>false</FSXCompatibility>
</Flags>
<AssetDir>PackageSources\VisualEffectLibs\antsairplanes\winjeel\</AssetDir>
<OutputDir>VisualEffectLibs\antsairplanes\winjeel\</OutputDir>
</AssetGroup>
