Raphael Gaudin - Camera Projection Toolkit

Bring additional detail to your Unreal Engine projects with the Camera Projection Toolkit Plugin

Unlike Decals that rely on orthogonal projections, this plugin enables Camera projections,
allowing you to project textures from a specific camera perspective.

Whether you're working on a full matte painting, set extensions, or assets enhancements,

this plugin provides an intuitive workflow where you can enhance the look of your scene by seamlessly projecting textures on top of your assets.

I started using this tool recently it’s been very beneficial so far. However, it currently only projects in the basecolor channel. I would like to know how to also project roughness, normal and ambient occlusion, along with the basecolor.

Hi @martiniracing9811

I just released a new version of the plugin (v1.2) addressing your request.

The last page of the updated documentation shows you how to do it.
No more “Project in BaseColor” property on the Layer Asset. Instead it uses custom Material Layer Blend assets and the UE Material Layering system to do so.

In practice, once you’ve created a “Projection Layer”, nothing prevents you from duplicating it, set it to different textures (example: Roughness maps…) and add this “Roughness layer” to your master materials using the Roughness Material Blend (Called MLB_Roughness).

Thank you
any kind of feedback is always appreciated

Hello @RaphGdn !
Your plugin looks very promising, but it doesnt work for me in 5.7 !
When initializing, i get this error :

LogShaderCompilers: Warning: Failed to compile Material /CameraProjectionToolkit/Materials/ML_ProjectionLayer.ML_ProjectionLayer:Material_0 for platform PCD3D_SM6, Default Material will be used in game.
Shader debug info dumped to: “U:\TEMP\Saved\ShaderDebugInfo\PCD3D_SM6\Material_0_9b0b38d2b1fb7827\Default\FLocalVertexFactory\TMaterialCHSFNoLightMapPolicy\0”
C:\Program Files\Epic Games\UE_5.7\Engine\Shaders\Private\MaterialTemplate.ush(4572,45): Shader TMaterialCHSFNoLightMapPolicy, Permutation 0, VF FLocalVertexFactory:
/Engine/Generated/Material.ush:4572:45: error: use of undeclared identifier ‘Local0’
Parameters.SharedLocalBases.Normals[0] = Local0 ;
^
C:\Program Files\Epic Games\UE_5.7\Engine\Shaders\Private\MaterialTemplate.ush(4586,60): Shader TMaterialCHSFNoLightMapPolicy, Permutation 0, VF FLocalVertexFactory:
/Engine/Generated/Material.ush:4586:60: error: use of undeclared identifier ‘Local0’
Parameters.SharedLocalBasesFullySimplified.Normals[0] = Local0 ;
^

And the Material Function doesn’t seem to compile..

@RaphGdn This has been a great tool! Are you looking into compatibility with 5.8?

It’s definitely linked to substrate, but since it’s enabled by default in 5.7, i would not expect it to break the plugin.
Substrate Disabled works fine,
r.Substrate.EnableLayerSupport=True has no visible effect

Thanks for your comment
5.8 is supported, feel free to grab it!

You’re absolutely right,
I’ve just rolled the fix. Just download the plugin again and it should work!

Thanks for your patience