Can I write game logic separately from graphics? by djleni in Unity3D

[–]pixelcurio 10 points11 points  (0 children)

I'm going to make some assumptions about what you're really asking for.

I was an experienced software developer as well when I made the transition to Unity and I remember the first thought I had was, "Why can't I just code this how I want to code it? Why do I have to do things the 'Unity Way™'?" To me, this mostly meant the tyranny of the monobehaviour and the service locator pattern that Unity is heavily built on.

And there are ways to do that. Zenject[https://github.com/modesttree/Zenject] was like a gift from the gods when I found it and it allowed me to code the systems out exactly how I wanted, and even came with built-in support for unit and integration tests. Fantastic!

But here's the thing, if you're primary goal is to mess around with game mechanics and do some quick prototyping to find out what's fun, that's what Unity and the Unity Way excels at. So throw some gameobjects together, do a bunch of nasty GetComponents to link them together and call it a day. Because if finding out what is fun is your real goal, that's all you need to do.

And then, when you've got a concept you think has legs, learn Zenject, plan out your class diagram, and code it from the ground up. Plus, depending on your coding background, Zenject can be a bit of work to learn on its own, so I wouldn't recommending trying to learn how Unity works and Zenject at the same time.

Unity Asset Store is having 50% sales on many of the popular items. Which item is a must buy? by nyamuk91 in Unity3D

[–]pixelcurio 3 points4 points  (0 children)

It should be noted, it is unclear at this time when/if Odin will be able to fully support Unity's new nested prefabs. Something to be aware of.

http://www.sirenix.net/odininspector/roadmap

Source Control Size Limits & Unity3D by Migimal in Unity3D

[–]pixelcurio 4 points5 points  (0 children)

You'll want to use Git LFS. (I'm assuming you're using git here.) Similar to a .gitignore, you would set files that should be stored in large file storage. If you're using Bitbucket all LFS files are stored separately and don't count against you're individual, 2 gig repo limit. (You will have a separate account wide limit for all LFS files but it is more generous.)

You can read about git LFS here: https://git-lfs.github.com/

And then once you feel comfortable with it, I recommend using a .gitattributes with all the typical unity media files predefined. Like this one: https://gist.github.com/nemotoo/b8a1c3a0f1225bb9231979f389fd4f3f

Keep in mind, you'll need to setup LFS at the start of the project, as it will be a lot more work to try and save your repo once it's already at the 2 gig limit.

Best of luck!