Uploaded February 2025 | Updated September 2026, 14 hours ago
SOAP (Scriptable Objects Architecture Pattern) is a Unity architecture pattern that leverages ScriptableObjects to create a more maintainable and decoupled game structure. In this video, we refactor a traditional singleton-based score system and tightly-coupled health system into a more flexible architecture using ScriptableObjects for both variables and events. We demonstrate how to move from direct component references and UnityEvents to a more robust event system that supports both parameterless and generic events, making our systems more testable and designer-friendly. The refactoring shows how to eliminate global state, reduce dependencies between components, and create a clear data flow that's visible in the Unity editor, all while maintaining the ability to debug and monitor our game's state at runtime.
SOAP - assetstore.unity.com/packages/tools/utilities/soap-scriptableobject-architecture-pattern-232107?aid=1101lw3sv
SOAP Asset Discord: discord.gg/CVhCNDbxF5
Want to support me? π
Buy me a coffee! ko-fi.com/adammyhre
π Subscribe for more Unity Tutorials youtube.com/@git-amend
Discord: discord.gg/FDRZGQBBUC
#unity3d #gamedev #indiedev
β¬ Contents of this video β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬
0:00 ScriptableVariables
8:38 ScriptableEvents
14:50 SOAP Unity Asset
More Useful Code:
github.com/adammyhre?tab=repositories
Unity Utility Library: github.com/adammyhre/Unity-Utils
Lock Inspector Hotkey: gist.github.com/adammyhre/4754f731a93bf1cab0d1385ccfa23642
Assets Shown In This Video (Affiliate Links)
SOAP - assetstore.unity.com/packages/tools/utilities/soap-scriptableobject-architecture-pattern-232107?aid=1101lw3sv
Wingman - assetstore.unity.com/packages/tools/utilities/wingman-your-inspector-s-best-friend-303181?aid=1101lw3sv
Logwin - assetstore.unity.com/packages/tools/utilities/logwin-log-debug-values-tracker-149558?aid=1101lw3sv
Odin - assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041?aid=1101lw3sv
Odin Validator - assetstore.unity.com/packages/tools/utilities/odin-validator-227861?aid=1101lw3sv
Hot Reload: assetstore.unity.com/packages/tools/utilities/hot-reload-edit-code-without-compiling-254358?aid=1101lw3sv
Hierarchy Icons: assetstore.unity.com/packages/tools/utilities/better-hierarchy-272963?aid=1101lw3sv
Better Transform: assetstore.unity.com/packages/tools/utilities/better-transform-size-notes-global-local-workspace-child-parent--276554?aid=1101lw3sv
Better Mesh Filter: assetstore.unity.com/packages/tools/utilities/better-mesh-filter-266489?aid=1101lw3sv
Editor Console Pro: assetstore.unity.com/packages/tools/utilities/editor-console-pro-11889?aid=1101lw3sv
Any Object Finder: assetstore.unity.com/packages/tools/utilities/any-object-finder-286455?aid=1101lw3sv
Clipper PRO: assetstore.unity.com/packages/tools/utilities/clipper-pro-the-ultimate-clipboard-277112?aid=1101lw3sv
*Follow me!*
https://linktr.ee/gitamend
SOAP (Scriptable Objects Architecture Pattern) is a Unity architecture pattern that leverages ScriptableObjects to create a more maintainable and decoupled game structure. In this video, we refactor a traditional singleton-based score system and tightly-coupled health system into a more flexible architecture using ScriptableObjects for both variables and events. We demonstrate how to move from direct component references and UnityEvents to a more robust event system that supports both parameterless and generic events, making our systems more testable and designer-friendly. The refactoring shows how to eliminate global state, reduce dependencies between components, and create a clear data flow that's visible in the Unity editor, all while maintaining the ability to debug and monitor our game's state at runtime.
SOAP - assetstore.unity.com/packages/tools/utilities/soap-scriptableobject-architecture-pattern-232107?aid=1101lw3sv
SOAP Asset Discord: discord.gg/CVhCNDbxF5
Want to support me? π
Buy me a coffee! ko-fi.com/adammyhre
π Subscribe for more Unity Tutorials youtube.com/@git-amend
Discord: discord.gg/FDRZGQBBUC
#unity3d #gamedev #indiedev
β¬ Contents of this video β¬β¬β¬β¬β¬β¬β¬β¬β¬β¬
0:00 ScriptableVariables
8:38 ScriptableEvents
14:50 SOAP Unity Asset
More Useful Code:
github.com/adammyhre?tab=repositories
Unity Utility Library: github.com/adammyhre/Unity-Utils
Lock Inspector Hotkey: gist.github.com/adammyhre/4754f731a93bf1cab0d1385ccfa23642
Assets Shown In This Video (Affiliate Links)
SOAP - assetstore.unity.com/packages/tools/utilities/soap-scriptableobject-architecture-pattern-232107?aid=1101lw3sv
Wingman - assetstore.unity.com/packages/tools/utilities/wingman-your-inspector-s-best-friend-303181?aid=1101lw3sv
Logwin - assetstore.unity.com/packages/tools/utilities/logwin-log-debug-values-tracker-149558?aid=1101lw3sv
Odin - assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041?aid=1101lw3sv
Odin Validator - assetstore.unity.com/packages/tools/utilities/odin-validator-227861?aid=1101lw3sv
Hot Reload: assetstore.unity.com/packages/tools/utilities/hot-reload-edit-code-without-compiling-254358?aid=1101lw3sv
Hierarchy Icons: assetstore.unity.com/packages/tools/utilities/better-hierarchy-272963?aid=1101lw3sv
Better Transform: assetstore.unity.com/packages/tools/utilities/better-transform-size-notes-global-local-workspace-child-parent--276554?aid=1101lw3sv
Better Mesh Filter: assetstore.unity.com/packages/tools/utilities/better-mesh-filter-266489?aid=1101lw3sv
Editor Console Pro: assetstore.unity.com/packages/tools/utilities/editor-console-pro-11889?aid=1101lw3sv
Any Object Finder: assetstore.unity.com/packages/tools/utilities/any-object-finder-286455?aid=1101lw3sv
Clipper PRO: assetstore.unity.com/packages/tools/utilities/clipper-pro-the-ultimate-clipboard-277112?aid=1101lw3sv
*Follow me!*
https://linktr.ee/gitamend










