This repo includes optimization techniques for the Unity game engine.
Getting Started
- Download this repo (_.zip or _.git)
- Download the Unity Editor
- Open this repo in the Unity Editor
- Enjoy
Table of Contents
This Unity Project is featured in the following YouTube video playlist.
| Unity Game Dev - In 3 Mins |
|---|
|
This project is a living list of demos optimization techniques.
For each technique there is a demo of before and after Scene.
Key
- ✅ = Included now
- 🔜 = Included soon
- ❌ = Included never
List
| # | Title | Description | Before | After |
|---|---|---|---|---|
| 1 | Static Batching | Combine static objects | ✅ | ✅ |
| 2 | Level of Detail (LOD) | Adjust detail based on distance | ✅ | ✅ |
| 3 | Occlusion Culling | Prevent rendering hidden objects | ✅ | ✅ |
| 4 | Texture Atlases | Combine textures into atlases | ✅ | ✅ |
| 5 | Physics Optimization | Use simpler colliders for physics | ✅ | ✅ |
| 6 | Imposters | Replace distant objects with 2D | ✅ | ✅ |
| 7 | Object Pooling | Reuse instantiated objects | 🔜 | 🔜 |
| 8 | Jobs vs OOP vs DOTS | Compare OOP, Jobs, DOTS | 🔜 | 🔜 |
| 9 | ShaderGraph Optimization | Optimize shaders with ShaderGraph | 🔜 | 🔜 |
| 10 | VFXGraph Optimization | Optimize effects with VFXGraph | 🔜 | 🔜 |
| 11 | GPU Instancing | Render multiple objects with one call | 🔜 | 🔜 |
| 12 | Lighting Optimization | Optimize lighting with lightmaps and probes | 🔜 | 🔜 |
| 13 | Sprite Atlases | Combine sprites into atlases | 🔜 | 🔜 |
| 14 | Scripting Performance | Optimize scripting operations | 🔜 | 🔜 |
| 15 | Memory Performance | Manage memory and garbage collection | 🔜 | 🔜 |
| 16 | GPU-Resident Drawer | Keep draw data on GPU | 🔜 | 🔜 |
Documentation
ReadMe.md- The primary documentation for this repoUnity/Assets/Documentation/ReadMe.asset- Select this asset in Unity to get started
Configuration
Unity Target- Standalone MAC/PCUnity Version- Use this VersionUnity Rendering- Universal Render Pipeline (URP)Unity Aspect Ratio- Game View 10x16
Structure
Unity/- Open this folder in the Unity EditorUnity/Assets/Scenes/- Open any Scene. Press 'Play'!
Dependencies
Various- Already included via Unity Package Manager as this Version
Best Practices
Optimization
- Samuel Asher Rivello
- Over 25 years XP with game development (2024)
- Over 11 years XP with Unity (2024)
- Twitter - @srivello
- Git - Github.com/SamuelAsherRivello
- Resume & Portfolio - SamuelAsherRivello.com
- LinkedIn - Linkedin.com/in/SamuelAsherRivello <--- Say Hello! :)
Provided as-is under MIT License | Copyright © 2024 Rivello Multimedia Consulting, LLC



