Asset Downgrader for Unreal Engine 5
This UE5 plugin will downgrade assets saved with UE 5.3.2 to assets compatible with 5.0.3 or 4.27 . It works by first upgrading the assets to 5.3, and then applying various patches to the .uasset files in order to make them compatible with UE 5.0.3/4.27.
How it works :
- First, backup all your assets as this plugin is highly experimental and in certain situations it may corrupt assets or crash the editor if something goes wrong.
- Either have 2 projects, one with UE5.3.2, the other UE 5.0.3, or just switch versions for the project you're working with. Integrate the plugin in both projects.
- In the UE 5.3.2 project, select the assets you wish to downgrade.
- From the Downgrader menu choose DowngradeSelectedAssets.
- Either migrate the assets by copy pasting affected files or entire folders with the assets or selecting say a level file, choosing migrate and then choosing a destination Content folder where the project on UE 5.0.3 should reside. Alternatively, switch the version of the project to 5.0.3
- In the 5.0.3 project add
[Core.System]
UsePackageTrailer=True
to Config/DefaultEngine.ini
You will get a warning if this is not enabled.
- Open the 5.0.3 project and downgraded assets. If there were no errors, the assets should open correctly in UE5.0.3. To be able to migrate these assets to other 5.0.3 projects that don't have the Downgrader plugin, the assets need to be resaved.
What if I need to downgrade from 5.2 to 5.1 ?
The flow is identical, just open your 5.2 project with 5.3 (assuming upgrading is not a problem for you) then after you resave the assets with 5.0.3, open them in 5.1.
What if I need to downgrade to just 5.2 ?
The flow is identical. After resaving the assets in 5.0 just open the downgraded assets in a 5.2 project.
Assets supported :
Material
Material Function
Material Instance
Material Parameter Collection
Physical Material
Static Mesh
Texture
Landscape Layer
Landscape Grass Type
Subsurface Profile
Behavior Tree
Curve Atlas
Color Curve
RenderTarget
PhysicsAsset
NiagaraSystem
Included with the plugin is a diff file that you can install with a single click that will apply modifications to UE5.3.2 engine sources in order to fix downgrading a few files (see tutorial)
Some level files may work without these modifications but most require them.
Assets supported that require some 5.3.2 engine modifications
SkeletalMesh
Levels
Blueprints
ControlRig
Not supported :
Animation Sequence
SoundWave
All other asset types not listed here
Assets supported for downgrading to 4.27 without engine moodifications
Material
Material Instance
Material Function
Material Parameter Collection
Assets supported for downgrading to 4.27 with engine moodifications
Static Mesh
Skeletal Mesh
Assets not supported for downgrading to 4.27
Textures
All other asset types
Can it be downgraded lower than 4.27 ?
Not currently but with enough research & engine modifications definetely possible. Contact me if you have specific needs.
My asset is not supported, can you add support ?
Let me know what kind of assets you're interested. Any asset is implementable but it requires a lot of work.
Known Issues:
- some downgraded scenes' lighting may look too bright in 5.0. You may need to tune ReflectionProbes/Skylight/Directional light intensity and/or rebuild lighting
- if downgrading entire projects, a lot of assets will be loaded into memory, so you may need a lot of RAM sometimes up to 128GB
- if encountering unknown startup crashes due do downgrading a lot of assets, try and downgrade assets one by one, or exclude/delete the offending asset.
- textures with formats like RGBA32F are not downgraded because those formats don't exist in 5.0.
- opening certain maps will sometimes crash. This might be due to masked materials with nanite which are not allowed in 5.0. Try first to open assets individually or remove nanite entirely and then open the map
If you have any issues, errors or crashes don't hesitate to contact me at relativegames7@gmail.com as this plugin is highly experimental.
Please include your editor log found in ProjectName/Saved/Logs/ProjectName.log.