# Scale a niagara particle system

**URL:** <https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101>\
**Category:** FX\
**Tags:** particle-systems, unreal-engine, question\
**Created:** [June 4, 2019, 2:33am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101 "2019-06-04T02:33:09Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![YuuJin](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@YuuJin](https://forums.unrealengine.com/u/YuuJin)\
**Post date:** [June 4, 2019, 2:33am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/1 "2019-06-04T02:33:09Z")

</div>

is it possible to scale an entire niagara particle system as a whole?

---

<div class="post-metadata">

**Author:** ![YuuJin](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@YuuJin](https://forums.unrealengine.com/u/YuuJin)\
**Post date:** [June 4, 2019, 3:05am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/2 "2019-06-04T03:05:07Z")

</div>

right now I’m just adding a velocity scale and a particle scale to each emitter in the system, but I dunno if there’s a global variable to use instead

---

<div class="post-metadata">

**Author:** ![Lesuge](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Lesuge](https://forums.unrealengine.com/u/Lesuge)\
**Post date:** [July 15, 2019, 7:13am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/3 "2019-07-15T07:13:56Z")

</div>

Got to Emitter Spawn \> Emitter Properties and set “Local Space” to true. Then you can scale the Niagara System Actor in the Level as you want

---

<div class="post-metadata">

**Author:** ![Methodomhyne](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/methodomhyne/32/870361_2.png) [@Methodomhyne](https://forums.unrealengine.com/u/Methodomhyne)\
**Post date:** [July 24, 2019, 7:41am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/4 "2019-07-24T07:41:56Z")

</div>

the single particle like a ring and cylinder’s radius can scale properly,but the particles spawned at cylinder location can’t scale properly  
ps:forgive my poor English xd

---

<div class="post-metadata">

**Author:** ![Dumb\_G\_Artist](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Dumb\_G\_Artist](https://forums.unrealengine.com/u/Dumb_G_Artist)\
**Post date:** [September 19, 2019, 1:22pm UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/5 "2019-09-19T13:22:31Z")

</div>

I’m getting frustrated with this as well, I am trying to provide a Niagara system to artist but they can’t scale it without having to duplicate system and individually scale it to their desired size. I would be happy with a blueprint but there must be a better solution.

It is frustrating because with Cascade I can use a local parameter to solve this issue.

---

<div class="post-metadata">

**Author:** ![CocOnUtRKR](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@CocOnUtRKR](https://forums.unrealengine.com/u/CocOnUtRKR)\
**Post date:** [September 19, 2019, 4:14pm UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/6 "2019-09-19T16:14:40Z")

</div>

You could always add a ‘System Exposed Parameter’ float and use it with float multiplies for particle scale, cylinder radius, and even velocity (anything really that it makes sense to scale with the effect). That way when you place the Niagara system you can just set the new parameter to what you need to change all the scales, or you can easily use that parameter in a blueprint, even dynamically if you want. It also means you can re-use the system at different scales for each instance in multiple places without having to create a new system (this applies to all parameters you may want to edit on a per actor instance basis).

If you’re not sure what I’m talking about let me know and I’ll take the time to explain how.

---

<div class="post-metadata">

**Author:** ![segaAegis](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/segaaegis/32/907375_2.png) [@segaAegis](https://forums.unrealengine.com/u/segaAegis)\
**Post date:** [July 16, 2021, 10:41am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/7 "2021-07-16T10:41:57Z")

</div>

You can control Offset,Rotation,Scale with layouted Niagara System.

Easiest way is checking Local Space in Emitter Properties, but particles follow emitter.

so I recommend you this way.

In Particle Spawn Stage,below location module, Set new or existing parameter directly and Set Particles Position.  
  
  
Rotate : set **Rotate Vector by Quaternion** of Dynamic Input.  
  
Vector To Rotate : **Particles.Position**  
Quaternion : **Engine.Owner.Rotation**

Scale : **Particles.Position \* Engine.Owner.Scale** and **Particles.SpriteSize \* Engine.Owner.Scale(2 axis)**

Offset : **Particles.Position** \* **Engine.Owner.Position**

Everytime set this setting is troublesome,so I made Niagara Module Script of This.

---

<div class="post-metadata">

**Author:** ![Xenon2112](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Xenon2112](https://forums.unrealengine.com/u/Xenon2112)\
**Post date:** [July 23, 2021, 12:50am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/8 "2021-07-23T00:50:31Z")

</div>

wow, thank you.

---

<div class="post-metadata">

**Author:** ![vivekananda\_k](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@vivekananda\_k](https://forums.unrealengine.com/u/vivekananda_k)\
**Post date:** [May 27, 2022, 4:10am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/9 "2022-05-27T04:10:11Z")

</div>

This worked for me

1. Turning on **local space in all emitters**
2. Creating a **niagara modular script** to change **sprite size** and **ribbon width** based on **engine.owner.scale**
3. Add this modular script to all emitters with sprite/Ribbon renderers

Unreal Automatically scales mesh particles so no need to tweak that value.

modular script:  
[https://blueprintue.com/render/shm\_t915/](https://blueprintue.com/render/shm_t915/)

---

<div class="post-metadata">

**Author:** ![TorQueMoD](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/torquemod/32/710746_2.png) [@TorQueMoD](https://forums.unrealengine.com/u/TorQueMoD)\
**Post date:** [May 28, 2022, 6:49am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/11 "2022-05-28T06:49:34Z")

</div>

This doesn’t work. Try adding a Niagara system to your scene and sets its scale to 100. The particles get so separated that the effect is almost nonexistent at that point. With the old Particle system, you could scale them to any size. It doesn’t seem to be the case with Niagara.

---

<div class="post-metadata">

**Author:** ![TorQueMoD](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/torquemod/32/710746_2.png) [@TorQueMoD](https://forums.unrealengine.com/u/TorQueMoD)\
**Post date:** [May 28, 2022, 7:13am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/12 "2022-05-28T07:13:06Z")

</div>

Thank you vivekananda\_k, this works perfectly!

For those who don’t know how to add a script to an emitter;

1. Inside your content browser, right-click and choose FX - Niagara Module Script. Name it EasyScale\_MS. Open the file and select all the nodes and hit delete (Output will remain).
2. Visit that link vivekananda\_k provided [Niagara System scale modular script posted by anonymous | blueprintUE | PasteBin For Unreal Engine](https://blueprintue.com/blueprint/shm_t915/) (if the web page says can’t be reached, just refresh) and select all the nodes and copy them. Then you can paste them into your EasyScale\_MS. Connect the Dest pin from the Map Set node into the Output Module then Apply and Save.
3. Open your Niagara system and you can drag your script from the content browser into your emitters. Make sure you place it directly below the Initialize Particle module.
4. Save your Niagara system and enjoy the ability to scale like normal particles.

 ![ScaleNiagara](https://d3kjluh73b9h9o.cloudfront.net/original/4X/8/6/b/86bce0bb9bc81cb50ccff4b2c1deb2b76dc36e1c.png)

---

<div class="post-metadata">

**Author:** ![watchingdog3](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@watchingdog3](https://forums.unrealengine.com/u/watchingdog3)\
**Post date:** [June 15, 2022, 2:15am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/13 "2022-06-15T02:15:10Z")

</div>

For anyone having trouble copy pasting TorQueMoD post, in version 5.0.

Just do it in 4.26.

---

<div class="post-metadata">

**Author:** ![ZdcUpper](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ZdcUpper](https://forums.unrealengine.com/u/ZdcUpper)\
**Post date:** [November 8, 2022, 12:48pm UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/14 "2022-11-08T12:48:44Z")

</div>

still a problem， when it small than 1.0，it can not work right。

---

<div class="post-metadata">

**Author:** ![voidrosegd](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/voidrosegd/32/727275_2.png) [@voidrosegd](https://forums.unrealengine.com/u/voidrosegd)\
**Post date:** [December 5, 2022, 11:53am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/15 "2022-12-05T11:53:51Z")

</div>

thx. work

---

<div class="post-metadata">

**Author:** ![Noirfx](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Noirfx](https://forums.unrealengine.com/u/Noirfx)\
**Post date:** [December 18, 2022, 8:20pm UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/16 "2022-12-18T20:20:58Z")

</div>

I cannot copy and paste this BP to my UE5 can please show me screen shot how u did that

---

<div class="post-metadata">

**Author:** ![James.Wizard](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@James.Wizard](https://forums.unrealengine.com/u/James.Wizard)\
**Post date:** [March 31, 2023, 11:03pm UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/17 "2023-03-31T23:03:04Z")

</div>

I think there have been some changes to the scripting since 5.0 so copy and paste doesn’t work.

I recreated it in 5.1 but unfortunately, it doesn’t seem to work (yet) to upload to blueprintue

For anyone wanting to recreate manually the screenshot is below:

 ![NMS Scale Screenshot](https://d3kjluh73b9h9o.cloudfront.net/original/4X/5/9/b/59b259cbf208f9ab6f1aafd901707e90f0a28a41.jpeg)

---

<div class="post-metadata">

**Author:** ![TickNickAlt](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/ticknickalt/32/728259_2.png) [@TickNickAlt](https://forums.unrealengine.com/u/TickNickAlt)\
**Post date:** [July 13, 2023, 12:14am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/18 "2023-07-13T00:14:38Z")

</div>

For anyone that is returning to figure out how to scale a niagara emitter/system, I have made a script that fixes scale for sprite and mesh and it also fixes velocity for the particles.

This was made in UE 5.2, but will probably work with any UE 5+ project.

 ![ScaleScript](https://d3kjluh73b9h9o.cloudfront.net/original/4X/5/3/3/533bc0bf0098f6c82fc2cc6995368c769819d975.png)

IMPORTANT!  
You need to put the script node at the bottom of “Particle Spawn”. (_you need to drag the node in from the content browser “Ctrl+Space”_)

_If you are struggling with the convert node then look at the previous reply!_

---

<div class="post-metadata">

**Author:** ![tracygames](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/tracygames/32/762177_2.png) [@tracygames](https://forums.unrealengine.com/u/tracygames)\
**Post date:** [July 20, 2023, 4:47am UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/19 "2023-07-20T04:47:40Z")

</div>

I am struggling with the convert node. What reply are you referring to? thx

---

<div class="post-metadata">

**Author:** ![spacegojira](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@spacegojira](https://forums.unrealengine.com/u/spacegojira)\
**Post date:** [July 24, 2023, 12:50pm UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/20 "2023-07-24T12:50:08Z")

</div>

You made a mistake, the script has to go directly below the “Initialize Particle” module, otherwise it won’t work.

If placed in the correct place, your script works perfectly. Thank you! 😄

---

<div class="post-metadata">

**Author:** ![DannyMeister](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/dannymeister/32/746575_2.png) [@DannyMeister](https://forums.unrealengine.com/u/DannyMeister)\
**Post date:** [August 12, 2023, 1:09pm UTC](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101/21 "2023-08-12T13:09:19Z")

</div>

I got the module script working in 5.2. Still no luck copy/pasting though. Note that the previous blueprint screenshots used a “Convert” node that I didn’t have luck with. Break Vector and Make Vector 2D seems to do the trick.

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/8/9/4/894950145cc6da8c2a64e2d2891f68b4915870e3.png)

[Next page](https://forums.unrealengine.com/t/scale-a-niagara-particle-system/450101.md?page=2)
