> For the complete documentation index, see [llms.txt](https://infinitypbr.gitbook.io/magic-pig-games/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://infinitypbr.gitbook.io/magic-pig-games/projectile-factory/3rd-party-particle-integrations-16/knife-1/pro-effects-sci-fi-shooter-fx.md).

# PRO Effects - Sci-Fi Shooter FX

## THIS ONE IS A WORK IN PROGRESS: COMING SOON

{% embed url="<https://www.youtube.com/watch?v=CkkPSDthQEE>" %}

[**PRO Effects Sci-Fi Shooter FX**](https://assetstore.unity.com/packages/vfx/particles/pro-effects-sci-fi-shooter-fx-176115?aid=1100lxWw) has some really compelling particles.

{% hint style="warning" %}
I wasn't able to integrate everything 1:1.

Due to the way the particles are set up and scripted, it was not possible to extract the exact look and feel of all of the projectiles, and not all were integrated.

However, I did add a few extra new ones based on the content in the package.
{% endhint %}

## Changes Made

### Removing Classes

I've removed the control classes from the Projectiles, since Projectile Factory will handle that logic.

### Play On Awake: True

Muzzle / Emitters are now "Play on Awake" (only the new prefabs, not the originals), and the emitters will be handled the same as muzzles, instantiated on Projectile spawning.

### Scale

The scale on all objects appears to be about 1/3rd what I would expect. In many cases, I've increased the size to 3x or even 9x what was set.

### Trail Renderers

Many of the projectiles have trail renderes, which cause visual issues when they are returned from the pool. Those projetiles have a `ToggleTrailRendererObjectsDestroyAndLaunchObserverObject` component on them. This will turn them off and on appropraitely with the right code to clear their positions and remove the visual effect.

## Additional Changes for Some Beams

<figure><img src="/files/WSK6LdLfXQdXegjtovbU" alt=""><figcaption></figcaption></figure>

In this screenshot from the **Big Laser Beam** Projectile, I've had to move the "Lighting" object into a parent object, since the pivot point on the Lightning object is in the middle, causing the line to scale in two directions with the `ScaleFromRaycastLength` component.

This component, created scales an object on `X`, `Y`, and/or `Z` axis to the legth sent by the `RaycastShooter`. This is useful for things like "Instant Hit" laser beams which do not use a `LineRenderer`. In this case, they use a mesh, and the mesh needs to be scaled.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://infinitypbr.gitbook.io/magic-pig-games/projectile-factory/3rd-party-particle-integrations-16/knife-1/pro-effects-sci-fi-shooter-fx.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
