View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005132 | NoesisGUI | Unreal | public | 2026-07-16 13:43 | 2026-07-20 18:07 |
| Reporter | JinFox | Assigned To | jsantos | ||
| Priority | normal | Severity | major | ||
| Status | assigned | Resolution | open | ||
| Product Version | Studio_Beta | ||||
| Summary | 0005132: [Unreal] Noesis Math.h global E constant collides with Unreal static Method in ShaderPermutation.h using Unity build | ||||
| Description | Hello, Our project compiles with the C4459-as-error flag which prevents global scope symbols to be hidden. It seems that there is a conflict due to the E constant declared in Math.h. This is triggering an error with Unreal file ShaderPermutation.h as several static method are using E as parameter name in this file (such as static int32 ToDefineValue(Type E)). A simple solution that I have implemented locally is to rename that constant to something more specific to prevent the conflict from happening by changing it by this line : Would that be something you would be willing to change in your source or should I keep my source change? | ||||
| Platform | Any | ||||
|
As a note, it seems to be a convergence of issue of using unreal's Unity builds and this flag of warning as error. it's not just the E symbol causing the issue by itself |
|
|
Interesting because this is not a global symbol, it is in the Noesis namespace. Could you please paste the exact error you are getting and the unreal version? |
|
|
Hey Jesus, It is actually not really on Noesis, indeed it is not a global symbol but if you enable unity build system in the unreal project it tries to optimise some of the headers and then it creates conflicts where in "standard" compilation it wouldn't. The actual fix I did locally was to manually disable Unity build in the plugin :
Changing of the name to EulerE does work but it's addressing the symptom more than the root cause. The error looked like this but was flaring a bit randomly (sometime on this Noesis::E sometime on Noesis::Point and rive::Point, basically any symbol that have the same signature without the namespace . |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-07-16 13:43 | JinFox | New Issue | |
| 2026-07-16 14:57 | JinFox | Note Added: 0012420 | |
| 2026-07-16 16:43 | JinFox | Summary | Noesis Math.h global E constant collides with Unreal static Method in ShaderPermutation.h => [Unreal] Noesis Math.h global E constant collides with Unreal static Method in ShaderPermutation.h using Unity build |
| 2026-07-17 11:01 | jsantos | Assigned To | => jsantos |
| 2026-07-17 11:01 | jsantos | Status | new => assigned |
| 2026-07-17 11:03 | jsantos | Note Added: 0012423 | |
| 2026-07-17 11:03 | jsantos | Status | assigned => feedback |
| 2026-07-17 13:30 | JinFox | Note Added: 0012425 | |
| 2026-07-17 13:30 | JinFox | Status | feedback => assigned |
| 2026-07-17 13:30 | JinFox | Note Edited: 0012425 | |
| 2026-07-20 18:07 | jsantos | Note Edited: 0012425 | |
| 2026-07-20 18:07 | jsantos | Note Edited: 0012425 |