# Optimized Projectiles

**Overview**

A modern projectile VFX package focused on precision, performance, and scalability. Every effect is built to reduce memory usage and batch calls by using texture atlases, shared prefabs, and a minimal material setup, making it ideal for both desktop and mobile projects.

A custom shader setup with vertex streams allows emission to be controlled per particle system instead of per material. This gives you more flexibility without increasing draw calls or duplicating materials.<br>

✨ **Memory & Performance focused design**

* Texture atlas based effects for reduced memory footprint
* Shared root particle prefabs for consistent and efficient setup
* Minimal material usage for improved batching and rendering performance
* Custom shaders with vertex streams enabling emission control per particle system

This package is ideal for developers who want visually rich projectile effects while keeping memory usage low, batch calls minimal, and systems easy to extend across multiple projects.

<br>

{% hint style="info" %}
This **documentation is unified across all projectile assets** in this series.\
Setup, demo scene controls, and prefab structure are consistent between all packages, ensuring a familiar workflow and quick onboarding.

Please note that screenshots may differ between assets.\
Some packages include meshes, while others are intentionally meshless to allow for improved mobile performance and easier optimization.

The included Projectile System and Particle System Utils modules may be updated or extended in newer projectile assets over time. I aim to keep these modules up to date across all packages, including older releases. However, it is possible that an older asset may still contain a previous module version with missing features or utility scripts.

If you notice any discrepancies or missing functionality when comparing your local asset modules with the online documentation, please let me know. The online documentation always reflects the most up to date module versions, and I will update the asset accordingly to match it.
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://sf-studio.gitbook.io/unity-assets/optimized-projectiles/optimized-projectiles.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
