I’m starting/following the full Unity RPG course, but as I’m following the course, I’m also doing things in a different way… for the challenge! (also because I already got a Diablo-like RPG on the work and I would prefer to start fresh while following this course than starting a dual-kind-of-setup in my existing project by trying to squeeze in whatever I can while I learn.)
The first (obvious) thing I’m doing differently from the course is that I’m making a 3D side scrolling RPG (think Metroidvania) instead of an isometric / bird-view / top-down RPG.
The 2nd thing less obvious is that I’m using Unity 2022 which comes with a bunch of addition (better) tools for what I’m going for. Like the NavMeshSurface component which allows you to dynamically update the NavMesh during gameplay with your own rules and setup. (It came in 2021 with the AI Navigation package with its version 1.0.0.exp4, I think).
The 3rd thing I’m doing differently is that I’m generating the level dynamically from sets of block of prefabs. So the level starts with nothing and I’m instantiating the level dynamically. (This is where the NavMeshSurface component comes in really nice!)
So, yeah, I’m not using a terrain like in the course, but it doesn’t make the course any less convenient.
Here’s an example of what it’s currently looks like for testing the NavMesh agent / obstacles:
I’m generating the trees, grass and rocks via various particles systems (pre-setup in the prefabs) that are started with precise seeds numbers. This allows me to use Unity’s internal Dynamic Batching system for Particle Systems, Line Renderers, Trail Renderers for rendering a potential of hundred pieces grass and trees and rock at barely any performance costs.