• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

GAF Learns - Unity [Game Engine]

Gowans

Member
3IxL4xf.png


What is Unity
Unity is a game development ecosystem: a powerful rendering engine fully integrated with a complete set of intuitive tools and rapid workflows to create interactive 3D and 2D content; easy multiplatform publishing; thousands of quality, ready-made assets in the Asset Store and a knowledge-sharing community

Learn Unity - unity3d.com/learn
There are many ways to learn Unity. In these pages you'll find everything you need to become a Unity developer. So why not start learning and join the community today? In Tutorials you'll find video and article based content, our Documentation are a complete written manual and scripting reference.

Download Unity - unity3d.com/unity/download
The free version of Unity for Windows. Includes publishing support for iOS, Android, Windows Store, Windows Phone, BlackBerry, desktop and Web, and a 30 day trial of Unity Pro (with Pro publishing for iOS, Android, Windows Store, Windows Phone and BlackBerry).


Hey GAF I've wanted to get into Unity for a while but I've never know where to start.

I loved the old XNA thread so how about we do the same for Unity where we can share tips, advice etc on learning the Unity Engine.
 

Shiver

Member
All I'm looking to create is a 3d house I can walk around it.

Anyone have any tutorial suggestions for that?

Guess I'll also need to model it too, any program advice?

There's an fps controller that comes with unity. You can just drop it into your scene and you are (more or less) good to go.


Blender is pretty great. Also free!
 

Gowans

Member
Thanks guys thats really helpful.

I'm sure its not as easy as create models, drop them into a scene and add the fps controller but I'll give the tutorials a good go and check out blender.
 

Zaptruder

Banned
Sketchup is a great tool for making a house and walking around with it in Unity.

But you need the pro version to export into a format that Unity can work with.
 
Huh. Solid timing, here. I actually just fired up Unity with the intention of learning how to use it, and how to code in it just last night. I haven't written code in over a decade, since I was a freshman in college who thought he wanted to pursue CS as a degree and go write games...I ended up graduating with a BA in history.

It took me the longest time last night writing a Pong game to get the ball to a) get some velocity, and then b) to actually bounce. I'm just really not used to how heavily OO C# can be, esp. with respect to the Unity engine. I'm positive that once I get used to it I'll enjoy working with it, and I can already see the potential there, but I spent over an hour figuring out why I couldn't just say

Code:
rigidBody2D.velocity = 5;

and call it a day. No, I had to say some thing more like:
Code:
private RigidBody2D ballbody;

void Start () {
     ballbody = gameObject.rigidBody2D;
     ballbody.velocity = new Vector2(-5f, -5f);

}

To get the ball to move. And I had to bang my head against the keyboard even more to figure out I needed to make the ball a trigger and put my "bounce" code in the OnTriggerEnter2D function. Still, once I did, I was like "I AM THE CHAMPION OF EVERYTHING FOREVER". Also, I just realized I could have left the ball without the trigger flag and used the OnCollisionEnter2D function instead.

Still, it's been educational as hell working with code again for the first time in so long...it feels like part of my brain is getting oxygen again :D
 

quickwhips

Member
Sweet. I've been following some video tutorials on youtube and rewriting them up so they are easier to follow. I'll try to make them look pretty. Can I just paste links in here or what?
 

mclem

Member
I've been toying with the idea of returning to game dev in an indie capacity using Unity, working on one of the ideas that's been floating around in my head for a while. Might have a look at it over Christmas.
 

Gowans

Member
I'm starting to get a handle on this now, nothing fancy but starting to put objects into a 3D world and walk round them.

I would love to be able to put video onto a wall to give a TV effect, that's my next hurdle.
 

redhood56

Banned
I've been wanting to learn programming first before unity, but when I am done learning the basics of c# i'll hop on those tutorials!
 
Quick tip, never dynamically load from the Resources folder. Its slow as shit. Preload everything into a scene you will need.

So if in a scripts Awake youre calling Resources.Load("blah");

Create a public GameObject variable and reference it in the editor. Alternatively write an editor script to load everything needed into a scene.
 

Storm360

Member
I've tinkered in Unity but the pro license is way out my price range at the moment sadly, and with stuff like this I feel I can't settle.


I want to get a group together some day with the intention of getting it greenlit, but it's finding the group aswell
 

Lautaro

Member
I've tinkered in Unity but the pro license is way out my price range at the moment sadly, and with stuff like this I feel I can't settle.


I want to get a group together some day with the intention of getting it greenlit, but it's finding the group aswell

Are you sure that you need Pro? you can perfectly make games with the free version.

And if you need a group, you need to show your skills. The problem is keeping that people, even the most reponsible lost interest around the 4 month if there's no money involved.
 

legacyzero

Banned
I've been working with and testing RPG Maker VX Ave for a 2D Rpg, but I was wondering if thrre was anything better to use? I can't code worth a damn, so RmVXACE has been doing great for me so far.

Is Unity really good with 2D? Easy to work with?
 

redhood56

Banned
I've been working with and testing RPG Maker VX Ave for a 2D Rpg, but I was wondering if thrre was anything better to use? I can't code worth a damn, so RmVXACE has been doing great for me so far.

Is Unity really good with 2D? Easy to work with?
They just added 2D tools, but for a 2d rpg, rpg maker vx ace is the way to go.
 

Lautaro

Member
I've been working with and testing RPG Maker VX Ave for a 2D Rpg, but I was wondering if thrre was anything better to use? I can't code worth a damn, so RmVXACE has been doing great for me so far.

Is Unity really good with 2D? Easy to work with?

Mmm, I haven't tested the new 2D tools (I have an old Pro license that doesn't have them) but most of the people in the official forums seem to be doing ok and pretty happy with them.

That said, Unity requires that you code to achieve it's full potential. You can do a lot of things without code (or partner with a programmer) but functionality doesn't come already defined like RPG Maker. Luckily, in the Unity Asset Store there's some addons made for non-programmers that allow you to define behaviours, reactions, etc. with a visual tool.

In conclussion, Unity gives you a lot more power and possibilities than RPG Maker but it also demands a lot more. If you are interested in Unity maybe you should try to join a team, making a full project alone is hard.
 

boutrosinit

Street Fighter IV World Champion
Some of these are really rather solid. Definitely one of the stronger Game Jam outputs I've seen.

http://www.thewalkingdead.com/playgames/

Ones I loved most (personally), were Remember the Fallen, Last Call Paradise, DMMTTCA, Human Shield and Keiron in the Dark. Also War of the Words is such a frickin' awesome concept.
 

wicko

Member
One thing I've found handy while coding for Unity is being able to save instances of ScriptableObject for referencing later. This way you can essentially save different defaults of the same class without deriving from MonoBehaviour, and you can add handy editor shortcuts to create new instances. Learned about it here: http://wiki.unity3d.com/index.php?title=CreateScriptableObjectAsset

There isn't much documentation on ScriptableObjects and why you'd use them, but I would definitely look into them if you're serious about Unity. Made my life significantly easier as the class is essentially for data/serialization.
 

Horp

Member
Awesome,

Is there an easy way I can slap a video up as an object that will repeat on loop?

MovieTexture is what you want.
http://docs.unity3d.com/Documentation/ScriptReference/MovieTexture.html

It has a loop-boolean.

Oh good. Which scripting language is easier to learn? Javascript or C#?

C#, cause the syntax is way more consistent and clear. It isn't actual Javascript, it's UnityScript which is way less documented around the Web than C#. Go C#, always.
 

Mihos

Gold Member
I thought so... I'm just pissed that VX Ace is maximum 480p. Sucks...

This turned me off big time, myself. I may get more into the Unity engine docs during this holliday. I have almost 2 weeks off, which is more than I have had off last year total.
 

legacyzero

Banned
Mmm, I haven't tested the new 2D tools (I have an old Pro license that doesn't have them) but most of the people in the official forums seem to be doing ok and pretty happy with them.

That said, Unity requires that you code to achieve it's full potential. You can do a lot of things without code (or partner with a programmer) but functionality doesn't come already defined like RPG Maker. Luckily, in the Unity Asset Store there's some addons made for non-programmers that allow you to define behaviours, reactions, etc. with a visual tool.

In conclussion, Unity gives you a lot more power and possibilities than RPG Maker but it also demands a lot more. If you are interested in Unity maybe you should try to join a team, making a full project alone is hard.
I see.

I have an exellent project already underway that I'm working on the art assets for, but I wanted to make sure there isn't a better option before I get too far into dev lol.
 

balohna

Member
I'm still no expert, but I've learned a lot but coming up with an idea for a simple game and working piece by piece to achieve what I want to achieve with it.

I do have a bit of background with simple programming/scripting, some art skills (more "I know how to use art software" than "I know how to create great art") and some game design background.

But still, my advice would be to have goals for what you want to make with it rather than just "I want to learn it", because it's a pretty flexible tool.
 

Trago

Member
C#, cause the syntax is way more consistent and clear. It isn't actual Javascript, it's UnityScript which is way less documented around the Web than C#. Go C#, always.

Also, if I'm willing to start a two or three man team to start on a small project, what kind of PC's, equipment, etc would we need? That's my other concern, I have no idea how to get started on developing a game. Usually I see information on AAA studios starting with huge budgets and such, which is scary haha.
 

Horp

Member
Also, if I'm willing to start a two or three man team to start on a small project, what kind of PC's, equipment, etc would we need? That's my other concern, I have no idea how to get started on developing a game. Usually I see information on AAA studios starting with huge budgets and such, which is scary haha.

Depends on if you are going for iOS/Android/Webplayer development. Also what graphical style are you going for? But I mean, decent gaming computer will get you pretty far. Note that if you are going for iOS development you need at least one Mac.
 

Trago

Member
Depends on if you are going for iOS/Android/Webplayer development. Also what graphical style are you going for? But I mean, decent gaming computer will get you pretty far. Note that if you are going for iOS development you need at least one Mac.

Something like that. I figured that we should start out small, but instead of IOS, we were thinking maybe Steam first. Also, we don't intend on making a realistic looking game.
 

wicko

Member
Also, if I'm willing to start a two or three man team to start on a small project, what kind of PC's, equipment, etc would we need? That's my other concern, I have no idea how to get started on developing a game. Usually I see information on AAA studios starting with huge budgets and such, which is scary haha.

Learn about source control software (revision control), it will make your life easier. There's free versions kicking around but I can't recommend any as I've only used Perforce. Source control will help you manage changes to your work, especially with multiple people simultaneously making changes. It might be confusing at first and a pain to set up but it is well worth it in the end. Also, it will help you if you were to ever get a job at a software company of any kind, since pretty much everyone uses some kind of source control.
 

snarge

Member
Tortoise SVN is free, and easy to use. With Unity, just remember to go to Edit->Project Settings->Editor and set Version Control's Mode to "Meta Files"
 

Kinthalis

Banned
Hmmm...

I'm working on my first game - targetting the mobile space mostly and I'm writing my own js based 2D engine.

Does it make sense to do this, or should I move on to something like Unity? I'm well versed in js, c#, Java, vb.net, action script, c++ (less so).

It just occured ot me that this type of question might not belong in a let's learn thread, sorry, I'll bow out if so!
 

Horp

Member
Hmmm...

I'm working on my first game - targetting the mobile space mostly and I'm writing my own js based 2D engine.

Does it make sense to do this, or should I move on to something like Unity? I'm well versed in js, c#, Java, vb.net, action script, c++ (less so).

It just occured ot me that this type of question might not belong in a let's learn thread, sorry, I'll bow out if so!

Unity just recently added a lot better support for 2D. I haven't really tried out the new Sprite system, but I think there's a lot of people that's excited by it. In general, Unity is a very good and sturdy platform and I happily recommend it to anyone that isn't a big studio going for AAA-stuff.
 
Unity just recently added a lot better support for 2D. I haven't really tried out the new Sprite system, but I think there's a lot of people that's excited by it. In general, Unity is a very good and sturdy platform and I happily recommend it to anyone that isn't a big studio going for AAA-stuff.

So should I just start learning how to work with C# first? I'm wanting to make a 2D game to start off with, but I'm not exactly sure if there are certain elements of C# to learn for unity or if I should just try to teach myself as much as I can.
 

Hari Seldon

Member
I downloaded Unity when the 2d tools launched, but most of the specific tutorials regarding the 2d toolset assume knowledge of the rest of the toolset. I'm looking for a total newbie friendly updated tutorial with the 2d tools.
 

FrsDvl

Member
Subscribing to this. I've never codded in my life, but always wanted to. When I have some free time, I'm going to check this out and see if I can make my way through a few tutorials.
 
Subbed with the strength of a thousand suns.

Hopefully this helps some with graphics programming, I'm trying to get an effect in my game and it's making my mind melt.
 
I've been fumbling around in unity the last couple days, primarily because traditionally I haven't learned too well from tutorials, and also because none of the tutorials that are out seem to be working with the 2D tools. I got my pong game working more or less the way I want it to. the ball bounces off the walls and paddles, scorekeeping is a thing now, and I even have some (very) rudimentary AI.

I'm trying to figure out if I should move onto a slightly different project like breakout or if I should work on refining this thing I've got going. I'm setting rigidbody2d.velocity manually instead of using addforce, so that should change, and I wanted to set a difficulty by having the ball get a little faster on every bounce, but I didn't quite figure out how to do that elegantly (i.e. not having four if statements in OnCollisionEnter2D, one for each quadrant). At the moment I just have it say rigidbody2d.velocity = new Vector2 (rigidbody2d.velocity.x * -1, rigidbody2d.velocity.y);
 
Top Bottom