PCG plugin seems to have the ability to write/compile hlsl compute shader code in the create hlsl node disabled in 5.7.1 Why ?????

As part of an application I have created and am in the process of seeing if I can implement the code that I have created as an Unreal PCG plugin, a major part of that application is the ability to utilise HLSL compute shader code to modify or assign values to a value attribute of a one dimensional hexagonal close packed (HCP) grid.

Observing that there are many similarities in what I have done in my virtual worlds application to the Unreal Engine PCG plugin (very similar in fact), I took the chance that there is a HLSL editor and compiler ability somewhere in the PCG plugin and did a search on google and found this tutorial “Unreal Engine 5.5-Compute Shaders with PCG introduction.”

for UE 5.5 of which I have a copy but never used.

What I found was that this custom HLSL node exists in Unreal engine 5.7.1, but that the ability to enter and edit hlsl code and compile it so as to modify point attribute data as in this tutorial is not available. Since I am writing a PCG plugin and have successfully created a couple of PCG nodes integrating my code into it, I took the liberty to follow the trail of this custom HLSL PCG node and found that the problem seems to be that the code to edit/compile HLSL is disabled because of a

#if WITH_EDITORONLY_DATA

plugin UPROPERTY definitions

#endif

What ! This is not present in the UE 5.5 code that I then had a look at

Tracing backwards I found that there is this pre compile code in a CoreMiscDefines.h file

#ifndef WITH_EDITORONLY_DATA
#if !PLATFORM_CAN_SUPPORT_EDITORONLY_DATA || UE_SERVER || PLATFORM_IOS
#define WITH_EDITORONLY_DATA 0
#else
#define WITH_EDITORONLY_DATA 1
#endif
#endif

of which there further exits in a WindowsPlatform.h file

#define PLATFORM_CAN_SUPPORT_EDITORONLY_DATA 1

which disables the ability to create hlsl compute shader code and compile it on a windows platform.

My question is why is this the case?

Is there some development of these custom hlsl compute shader nodes that is in the works for a future release, or are there major bugs that need fixing?

Or is this disabled as a coding error that can be remedied by a simple assignment of

#define PLATFORM_CAN_SUPPORT_EDITORONLY_DATA 0

and recompiling the Unreal Engine?

Or is there an editor or other setting within the UE that needs to be initialised to be able to use this custom HLSL node to create and compile hlsl in a compute shader ?

For me, this is a core feature of the application I have developed and to have it in the PCG Unreal Engine plugin as was demonstrated in the tutorial above is a must have feature.

To have this information before I get the temptation to start duplicating and editing this custom hlsl pcg node would be advantageous. No good to use this node if there are existing problems that need to be addressed.

Thanks and appreciate in advance for any answers that can be provided.

I think that this query can be considered as solved and closed.
In attempting to find more recent documentation on the HLSL node by an internet search, I have found the same author of the tutorial in my query post had also released this tutorial.

It gives the exact information I need to use the HLSL node in Unreal 5.7 and write code. I had overlooked it previously believing it not to be using the HLSL version as in 5.7. It seems that the 5.5 version of the UE has code existing in 5.7 that has been depreciated by use of what was explained in my previous post. That depreciation was not clear enough to me.

It also seems that this node utilises the exact same methods and procedures I had implemented in the code I am currently attempting to migrate to Unreal Engine, only more advanced and better implemented to make it easier to write and compile compute shader code, and to implement a compute shader in a node editor environment.

Even though I have not looked at the source code or used this beyond a standard simple test code used in my own application, everything I had come up with as a solution for an interactive GLSL compute shader seems to be present.

Fixed input and outputs, though more advanced and using functions rather than simple GLSL uniforms, a section for functions, and a section for the main function code.

By golly gee, there is also an ability to create custom shader uniform like input variables that are defined outside the HLSL code and node, and have the value controlled and modified outside the HLSL shader via creating node pins. A core concept and feature that exists and is implemented in the Virtual Worlds application that I had created, but in a different form using uniforms and not yet implemented as a node pin !!!

Conducting a simple test confirmed this. Through what I have created, I can project the solution I had come up with back into understanding how to use this and how it works.

The only strange thing is that compile errors are reported when a compilation fails by hovering over the node error text rather than in a logging panel. Probably such a panel exists, but I have not found it yet.

I am ecstatic with joy. As I dive deeper into this PCG plugin I an finding so many concepts and solutions I had come up with that I thought I would not see outside my creation are here.

I have no idea how Epic games came up with what looks to be a version of my own creation, but I am so happy I can now instead of going back spending time as I was about to do to improve and expand my Virtual Worlds application, I can devote to migrating it here and see how far I can take it.
I hope that instead of devoting 90-95 % of coding and time that was spent in dealing with the mundane GUI and OpenGL code, I can now focus on the real core issues of creating the vision of the Virtual Wolds application dealing with cellular automata, fractal generation and point data clouds using UE to display it all.