I'm already an experienced programmer, is there anywhere great to go to get familiar with the libraries available in unity?

Everything I have looked at so far only seems to be for people who don’t know how to program at all. I’m a third year computer science student just looking for a summer project to build a better portfolio and I can’t seem to find anything that completely lays out the different objects and methods available for unity. Is there anyone who can point me in the right direction?

The online Unity docs are quite complete and include both explainatory and library docs.

HOWEVER I have to caution you against hubris. Just because you have written code, even C# code, doesn’t mean you understand the logic and object life cycle of Unity. It is very different then, say, a .net/mono program.

I had 30 years of programming in everything from assembly to C# when I came to Unity and I still found going through Will Goldstone’s book extremely helpful.
(http://unitybook.net/)

Anyway the online docs are here:

Good luck

Specifically, look at the Scripting Reference. It was clearly written by and for programmers. After wading through various Unity docs, thinking “I am not their target audience, here,” I felt like I found the grown-ups: Unity - Scripting API: Transform

Some things it took me a while to figure out:

o The “real” structure is really a GameObject with a list of components. All of the component fields are really getters using a loop. A.rigidbody just loops through your component list until it finds the first rigidbody.

o Since every GameObject has to have one Transform, you can safely think of gameObjects as Transforms. Of course, T.gameObject is just a pointer to the transform component’s parent gameObject, while T.renderer is a loop.

o Unity runs all of C#. Many of the examples do things in a “let’s not confuse the interns” sort of way. You don’t have to write your code like that.

o It seems natural to use Resourses.Get(?) to load and build everything. But using Unity’s Prefabs, and making hooks using Inspector public variables is totally worth it.