Hi,
Be prepared to rebuild your project at least once. One of Unity's strengths is its ability to prototype quickly. But it's also Unity's biggest weakness, since rapid prototyping leads to poorly structured and poorly optimized projects. Don't get caught up in optimizing prematurely. Get some things running quickly so you can familiarize yourself with the editor, scripting, and Unity's general patterns. Don't worry about code quality or performance. You won't have good insight into Unity-specific optimization and clean practices until you've played around with it for a while.
Also, bookmark
https://learn.unity.com/ -- it's full of tutorials and other learning material. And have fun!
Thanks for that, performance and "doing it the unity way" are definitely a concern I have right now which I'm trying to ignore while I'm still learning the engine.
Unity seems a lot more... loose than I'm used to. I'm doing a good amount of querying and adding of components in various monobehaviors start methods and even sometimes later in the update calls. Definitely feels like I'm doing it ore than I typically do with other engines. The loose-ness is also really neat though, I'm definitely noticing I'm able to prototype faster.
Unity is currently in the midst of developing a whole bunch of new features. They are not nearly as ready as Unity claims they are, and you will probably court woe if you use them. I'd skip DOTS and the new render pipeline, sticking with regular C# code and the "legacy" renderer, unless you *know* there is some feature you need, such as Shader Graph.
If you are working on a 2d game and using the animator component, watch this:
. Again, the way the Unity docs recommend is not really the best way.
Structuring your project the "Unity way" takes some practise. Too few components and it becomes hard to customize and share code. Too many and you get bogged down passing messages, events and references between components.
I googled DOTS and from unity's preview page it appears to be a replacement for gameobject? That seems like quite a bold move if I'm reading that correctly.
As for the 2D animation. Thank you! I watched some other videos on 2D animation and I kept saying to myself "this can't be how people do 2D in unity". It was one of the main reasons I decided to do 3d stuff to learn the engine haha.
Welcome back to Unity!
Was writing a reply that was basically a list of good to know changes and additions since then but I felt like that didn't qualify as "lessons learnt" so I should ask you first if that's of interest too?
Can't think of many actual nuggets of wisdom besides you probably want to go into the physics settings and uncheck most of the checkboxes in the collision matrix so you don't have more checks going on than you need. And when you create a new project these days there are probably packages preinstalled that you don't want/need and should just remove right away.
A list of changes is certainly interesting to me. It's been about 8 years though. It sounds like most of the engine has changed :D
I'll have to look at packages a bit closer. I haven't had to really use them much yet.
Thanks!