GameObject.Find vs Resources.Load

My game makes heavy use of the resources folder in unity for building up levels at run time. I have read that its bad practice to use the resources folder but I was wondering what the alternatives are?

Should I just add a single instance of each object into the scene then use GameObject.find instead? Then create instances from there.

At the moment I am using an object pool so I do only call the Resources.Load once per object

Is there any performance differences between Resources.Load and GameObject.Find?


Good day.

Use resources.load is not that bad, is much worst to use Gameobject.Find. If you need to asign a prfab variable, is always better to do not involve the scene for loading the asset. So GameObject.find is the worst solution.

The best solution, or at least the faster to execute, is assign the prefav to the variable via Unity inspector, but as we know is not the fastest for developing, so is better do it via script. At this point I think using resources.Load is the best option.