Adding an emitter called "Loop" (any case) causes Niagara system compilation to fail

Adding an emitter to a Niagara system with the name “LOOP” (case-insensitive) breaks Niagara compilation. The Niagara log shows:

The Vector VM compile failed. Errors:
/Engine/Generated/NiagaraEmitterInstance.ush(109): error: syntax error, unexpected ';', expecting IDENTIFIER or TYPE_IDENTIFIER or NEW_IDENTIFIER

 EmitterNaming, System Update Script, 
The Vector VM compile failed. Errors:
/Engine/Generated/NiagaraEmitterInstance.ush(80): error: syntax error, unexpected ';', expecting IDENTIFIER or TYPE_IDENTIFIER or NEW_IDENTIFIER

 EmitterNaming, System Spawn Script, 

Renaming the emitter to anything else allows compilation to succeed. This error happens even if GPU particles are disabled (i.e. “fx.AllowGPUParticles” is 0),

Our guess is that this is caused because the name matches an HLSL compiler attribute. Testing with “BRANCH”, “FLATTEN” or “UNROLL” causes the same error, reinforci

[Attachment Removed]

Steps to Reproduce

  • Create a new NiagaraSystem using the “CompletelyEmpty” template
  • Rename the “CompletelyEmpty” emitter the template adds to “LOOP”
    [Attachment Removed]

Thanks for the report, yes there are a few keywords that will cause problems like this, they can also be platform specific.

I’ll add a Jira to follow up with adding name validation.

Thanks,

Stu

[Attachment Removed]