Jobs System Line of Sight Checking | AI Series Part 40 #shorts
Published: 14 Jul 2022
Full Tutorial on YouTube: https://youtu.be/dHLNqbKrJdg
Learn how you can implement the jobs system to improve the performance of Line of Sight checking for your AI!
In this Unity Tutorial you'll see the comparisons of the typical ways you might see line of sight implemented:
1. EnemyLineOfSightChecker.cs attached to each Enemy (worst performance, most likely this is what you'd start with)
2. EnemyLineOfSightManager.cs - Checking Line of Sight for all Enemies in a single Update() loop (better performance, but can be improved)
3. EnemyLineOfSightManager.cs - Checking Line of Sight via the Jobs system (best performance for large numbers of enemies!)
In this tutorial repository, all 3 methods are available for you to compare on your hardware.
You'll see that the jobs system is not a magic bullet, it solves specific problems such as tasks that can be highly parallelized. You can also use this to determine at which points the parallelization is more helpful than harmful (or just unnecessarily adds code complexity)!
As always, all code from this video is available on GitHub: https://github.com/llamacademy/ai-series-part-40/
As usual with the AI Series, we're using the NavMesh Components: https://docs.unity3d.com/Manual/NavMesh-BuildingComponents.html not the built-in navigation system.
📚 Resources:
⚫ Jobs System Manual: https://docs.unity3d.com/Manual/JobSystemOverview.html
⚫ Spherecast Command: https://docs.unity3d.com/ScriptReference/SpherecastCommand.html
⚫ Allocator Types: https://docs.unity3d.com/Manual/JobSystemNativeContainer.html
⚫ Unity Performance: https://docs.unity3d.com/Manual/BestPracticeUnderstandingPerformanceInUnity8.html
📱 Let's stay connected
YouTube: https://youtube.com/c/LlamAcademy
Patreon: https://www.patreon.com/LlamAcademy
Facebook: https://facebook.com/LlamAcademyOfficial
Twitter: https://twitter.com/TheLlamAcademy
TikTok: https://tiktok.com/@LlamAcademy
Instagram: https://instagram.com/LlamAcademy
----
Believe in LlamAcademy's mission and have received value from the videos? Consider becoming a Patreon supporter: https://www.patreon.com/llamacademy
----
Most tutorials come from knowledge gained making https://survival.llama.software Llama Survival - a top-down zombie survival shooter for Android and iOS.
I also have some Unity Assets (affiliate link): https://assetstore.unity.com/publishers/22409?_aid=1101l9QvC