Uploaded June 2025 | Updated September 2026, 12 hours ago
C# Generics are powerful β but when it comes to real-world Unity development, concepts like variance often feel like hidden compiler magic. In this video, we demystify invariance, covariance, and contravariance using Unity-specific examples: MonoBehaviour components, factories, delegates, and more. Youβll learn not just what the in and out keywords do, but why they exist, how method group conversions behave differently from delegate assignments, and how understanding variance can make your code safer, more flexible, and more expressive.
Learn more about Covariance and Contravariance:
learn.microsoft.com/en-us/archive/blogs/ericlippert/covariance-and-contravariance-in-c-part-one
youtube.com/watch?v=Wp5iYQqHspg
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 C# Generic Variance
1:06 Invariance
2:40 Covariance
4:33 Contravariance
7:16 Examples
More Useful Code:
github.com/adammyhre?tab=repositories
Unity Utility Library: github.com/adammyhre/Unity-Utils
Lock Inspector Hotkey: gist.github.com/adammyhre/4754f731a93bf1cab0d1385ccfa23642
*Other Recommended Tools* _(Affiliate Links)_
DarkMode for Unity Editor - assetstore.unity.com/packages/tools/gui/darkmode-for-unity-editor-on-windows-281842?aid=1101lw3sv
Beautify - assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/beautify-3-advanced-post-processing-233073?aid=1101lw3sv
Umbra Soft Shadows - assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/umbra-soft-shadows-better-directional-contact-shadows-for-urp-282485?aid=1101lw3sv
Wingman - assetstore.unity.com/packages/tools/utilities/wingman-your-inspector-s-best-friend-303181?aid=1101lw3sv
Favorites Window - assetstore.unity.com/packages/tools/utilities/favorites-window-123487?aid=1101lw3sv
Logwin - assetstore.unity.com/packages/tools/utilities/logwin-log-debug-values-tracker-149558?aid=1101lw3sv
TimeScale Toolbar - assetstore.unity.com/packages/tools/utilities/timescale-toolbar-291564?aid=1101lw3sv
Odin - assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041?aid=1101lw3sv?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
Better Hierarchy: 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
DevTasks - Offline Project Manager - assetstore.unity.com/packages/tools/utilities/devtasks-offline-project-manager-307257?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
Kybernetic Tools: assetstore.unity.com/publishers/16747?aid=1101lw3sv
Sisus Tools: assetstore.unity.com/publishers/41398?aid=1101lw3sv
Prime Tween - assetstore.unity.com/packages/tools/animation/primetween-high-performance-animations-and-sequences-2529607?aid=1101lw3s
Rabbit Logger - assetstore.unity.com/packages/tools/utilities/rabbit-logger-305396?aid=1101lw3s
*Follow me!*
https://linktr.ee/gitamend
C# Generics are powerful β but when it comes to real-world Unity development, concepts like variance often feel like hidden compiler magic. In this video, we demystify invariance, covariance, and contravariance using Unity-specific examples: MonoBehaviour components, factories, delegates, and more. Youβll learn not just what the in and out keywords do, but why they exist, how method group conversions behave differently from delegate assignments, and how understanding variance can make your code safer, more flexible, and more expressive.
Learn more about Covariance and Contravariance:
learn.microsoft.com/en-us/archive/blogs/ericlippert/covariance-and-contravariance-in-c-part-one
youtube.com/watch?v=Wp5iYQqHspg
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 C# Generic Variance
1:06 Invariance
2:40 Covariance
4:33 Contravariance
7:16 Examples
More Useful Code:
github.com/adammyhre?tab=repositories
Unity Utility Library: github.com/adammyhre/Unity-Utils
Lock Inspector Hotkey: gist.github.com/adammyhre/4754f731a93bf1cab0d1385ccfa23642
*Other Recommended Tools* _(Affiliate Links)_
DarkMode for Unity Editor - assetstore.unity.com/packages/tools/gui/darkmode-for-unity-editor-on-windows-281842?aid=1101lw3sv
Beautify - assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/beautify-3-advanced-post-processing-233073?aid=1101lw3sv
Umbra Soft Shadows - assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/umbra-soft-shadows-better-directional-contact-shadows-for-urp-282485?aid=1101lw3sv
Wingman - assetstore.unity.com/packages/tools/utilities/wingman-your-inspector-s-best-friend-303181?aid=1101lw3sv
Favorites Window - assetstore.unity.com/packages/tools/utilities/favorites-window-123487?aid=1101lw3sv
Logwin - assetstore.unity.com/packages/tools/utilities/logwin-log-debug-values-tracker-149558?aid=1101lw3sv
TimeScale Toolbar - assetstore.unity.com/packages/tools/utilities/timescale-toolbar-291564?aid=1101lw3sv
Odin - assetstore.unity.com/packages/tools/utilities/odin-inspector-and-serializer-89041?aid=1101lw3sv?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
Better Hierarchy: 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
DevTasks - Offline Project Manager - assetstore.unity.com/packages/tools/utilities/devtasks-offline-project-manager-307257?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
Kybernetic Tools: assetstore.unity.com/publishers/16747?aid=1101lw3sv
Sisus Tools: assetstore.unity.com/publishers/41398?aid=1101lw3sv
Prime Tween - assetstore.unity.com/packages/tools/animation/primetween-high-performance-animations-and-sequences-2529607?aid=1101lw3s
Rabbit Logger - assetstore.unity.com/packages/tools/utilities/rabbit-logger-305396?aid=1101lw3s
*Follow me!*
https://linktr.ee/gitamend










