I have been considering getting in to Unity3D with the intention of developing web, Mac, Windows, iPhone, and Android projects. If I were to create something in Unity3D, would I be able to create it once and publish it for all of the above platforms or would I need to create separate versions for each? I recognize that I would need a Mac (which I already have) for Mac and iPhone development, would I also need a Windows machine for Windows development, and an Android device for Android development?
you can widely reuse the same project but it should be pretty clear that something that runs on mobile looks ugly and substandard on desktop and that something that looks fine for desktop will never run on mobiles
Actually you don’t technically need a Mac for Mac development on Windows, nor do you need Windows for Windows development on a Mac, although it is of course highly advisable to test the final build in the appropriate OS to make sure it actually works. It’s possible to create a single project that can generate standalone/web/mobile builds, though you will likely need separate input code for iPhone/Android.
It’s quite possible. One of our current projects, which is admittedly the more simple of them targets Mac/PC, WebPlayer, iPhone and iPad. It’s all one project, but we have to adjust our per-target import settings for textures. For sound, no such options seem to exist. Just a warning, it takes a lot of planning and conditional-compilation directives.