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


Connect on Social Media

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