Dynamic Modifier System for Guns to Support Attachments | Gun Series 8 | Unity Tutorial @LlamAcademy
Dynamic Modifier System for Guns to Support Attachments | Gun Series 8 | Unity Tutorial  @LlamAcademy
Uploaded April 2023 | Updated September 2026, 24 minutes ago
Create a dynamic gun modifier system to enable runtime property changes of your guns! We'll also cover how to prevent ScriptableObjects from persisting these changes in the editor.

In this video we'll set up a modifier system and implement 2 popular modifiers:
1. Damage Modifier, which allows us to raise or lower the damage of any gun when it's applied.
2. Vector3Modifier, which allows us to apply a percentage offset to any Vector3, such as the Bullet Spread amount.

🔶 ALL THINGS LlamAcademy now available at: https://llamacademy.dev/support including latest tutorials, courses, ways to support, and more! Check it out 🙂
👨‍💻 Get the FULL FREE PROJECT on GitHub: github.com/llamacademy/scriptable-object-based-guns
🏷️Save 25% on the ultimate C# IDE: JetBrains Rider with code LLAMACADEMY: jetbrains.com/store/?section=personal&billing=yearly

📚 Resources:
🟠 Reflection: learn.microsoft.com/en-us/dotnet/framework/reflection-and-codedom/reflection
🟠 Type Class: learn.microsoft.com/en-us/dotnet/api/system.type?view=net-7.0
🟠 FieldInfo: learn.microsoft.com/en-us/dotnet/api/system.reflection.fieldinfo?view=net-7.0
🟠 ICloneable: learn.microsoft.com/en-us/dotnet/api/system.icloneable?view=net-7.0
🟠 Use Git with Unity: youtu.be/vq5zuXBzlW8?si=YQbrVPMdsy0Z6Kvo

Some links may be affiliate links, which at no additional cost to you, gives me a small portion of the purchase.

Chapters:
00:00 Topic Introduction
00:41 Concepts & What to Expect
02:35 Cloning ScriptableObjects to Prevent Runtime Modification - GunScriptableObject.cs
03:00 Cloning ScriptableObjects to Prevent Runtime Modification - DamageConfigScriptableObject.cs
03:25 Cloning ShootConfigScriptableObject.cs
03:46 Reusable way to copy all values on a ScriptableObject
05:30 Set up cloning on the rest of the ScriptableObjects using Reflection
06:17 Clone GunScriptableObject.cs - This one is different!
07:23 Modifiers setup
07:54 Base IModifier - the AbstractValueModifier.cs
11:37 Throw a Custom Exception
11:58 Finish AbstractValueModifier
13:06 Create our first Modifier - The DamageModifier.cs
14:59 Another, more generic example - Vector3Modifier.cs
15:48 Applying modifiers - GunModifierApplier.cs
16:41 Clone the ActiveGun in PlayerGunSelector.cs
17:05 Set up and Demo
17:58 Closing Thoughts & Support LlamAcademy
Dynamic Modifier System for Guns to Support Attachments | Gun Series 8 | Unity TutorialShow Animated 3D Models on the UI | Unity Tutorial #shortsShow Any Projectiles Trajectory in Unity with Simple Math & a Line Renderer #shortsHow to Make (and USE) Templates in Modern UI ToolkitDeal Damage to Enemies and Objects with Guns! Gun Series 3 | Unity Tutorial #shortsAnimation-driven Reloading | Gun Series 4 | Unity TutorialSwap Your Games Content WITHOUT Rebuilding the PlayerControl Flow Nodes in Unity Behavior | Unity TutorialIm hosting a Unity Navigation Livestream! #gamedev #unityScene Transition Animation Framework | Unity TutorialGun Sound Effects with an Audio Config ScriptableObject | Gun Series 5 | Unity Tutorial #shortsCross-Platform IAP Store Page with Unity IAP in 2023 | Unity Tutorial
LlamAcademy |

Dynamic Modifier System for Guns to Support Attachments | Gun Series 8 | Unity Tutorial

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER