IRC

IRC, or internet relay chat, is a way for you to speak with other Unity users.

Channel Details
The Unity IRC channel is #unity3d on freenode.

The server name is irc.freenode.net and the channel name is #unity3d.

Note: You NEED to have a 'registered nickname' to be able to enter. Instructions for setting that up are here: http://freenode.net/faq.shtml#nicksetup
 * If you connect without a registered nickname, you will be placed in a holding channel so that you can register your nickname.

Client Applications
If you are new to IRC, you will need an IRC client.

There is a free Unity Editor add-in on the asset store for the IRC channel:
 * unityIRC

Here are some free Mac friendly ones:


 * Colloquy
 * Conversation
 * X-Chat Aqua
 * Adium (contains IRC Now)
 * KVIrc (free)

And here are some Windows friendly ones:


 * XChat,
 * HexChat (Open Source fork of XChat)
 * mIRC
 * KVIrc (free)

Alternatively, below is a link to a browser-based IRC client. Click the link below, change the 'nickname' to something more suitable, and click 'Connect'.

Freenode IRC Web Client Channel '#unity3d'.

In addition, the Opera Browser (recent versions) has a built-in IRC client. To enable it, you first go to Tools->Mail and Chat Accounts and create an IRC account on a server, presumably irc.freenode.net, where #unity3d is to be found:

Opera

Registering your nick
Due to recent disruptions on freenode, you now need to register your nickname in order to be able to talk on the unity IRC channel. For instructions on how to register your nick, read this.

Conduct
As the channel can be quite busy, it's important that we behave in a considerate manner. Here are a few guidelines:


 * Be polite and respectful towards other users.
 * Although some staff members from Unity Technologies occasionally visit the channel, most of us are just users.
 * Check the documentation first, but feel free to ask questions if you need further help. It may take a while before you get a response, so please be patient.
 * If you want help with a problem, you need to explain it clearly. Don't just say "it doesn't work".  Instead, describe what you expected to happen and what actually happened.  Show code and pictures if necessary.  When you have an error message, tell us exactly what it says instead of paraphrasing it.
 * Some of the coding veterans tend to get impatient with beginners, so you, in turn, have to be patient with them.
 * If you want to show code to other users, don't paste it directly into the channel unless it's only one or two lines. Here are a couple of websites you can use for this purpose: Pastebin.ca, Pastebin.com.

Several users have been given operator privileges so that they can help to look after the channel. They have been asked to work to these rules:


 * Do not use operator privileges in anger, to bully others or for comedy effect. This includes kicking, banning and changing the topic.
 * If someone has to be kicked or banned, give them a polite explanation, preferably beforehand.
 * Reach a consensus with other operators before taking action.
 * Only become an operator when there is a reason to do so, and remove your operator status immediately afterwards.

If you have a disagreement with a particular operator, please discuss it with NCarter or any other operator.

Extended errata for getting help...

How can I make my question/problem clearer for people trying to help..


 * If in [ Live Chat ] : wait for a gap of space in conversation, typing over someone else is bad form.
 * If in [ Web Forum ]  : find the best forum section but search first, save those searches for reference to the question data as well.

Question Composition


 * Specify the language ( C# / UnitySCript / Boo ), specify what language elements and constructs you currently want to use and what you do not want to use.
 * Always mention any "Middleware" in the mix of the problem. Consult the middleware forum / author before thinking about using another source.
 * Spend time creating a good question so you can get a clear answer / result. Add required elements that connect to the problem.
 * You need to have a clear idea of what each part of your problem is saying, before you can make this structure clear to someone else.
 * Break down the problem to the exact part, the larger problems you are having trouble with can be worked out later.

Supplying a code example


 * Post your current code, being sure to reduce unwanted code errata. Reduce the problem to a simple set of lines in a separate example.
 * Don't post all your code and expect someone to read the rest of it to find your problem.
 * Don't post code that has no thought to layout, bad malformed code without indentation can hide obvious mistakes.
 * Remark the code where possible. Add questions in the remarks to support your ideas / problem.

Extra Question supplemental data


 * Show a definitive example of the problem in a paragraph of text. Clear examples get the problem solved faster.
 * Show a definitive example of the problem in a visual diagram, spend some time crafting this. A crude paint image of wobbly lines and really bad arrows can be detrimental to your problem.
 * Show a definitive example of the problem in a link from the web or on a video with clear timecode position.
 * Consider all questions as possible future content for others and your own dev blog. Another person may search / locate this and need to understand the same thing you are stuck on.

Bad Practices


 * Be patient about the answer, It can take more than a few days in some situations for a post to find someone who can reply properly.
 * Be open minded in case you dismissed a method or construct that works better for your problem.
 * Ignore adding how long you worked on it.
 * Ignore complaining about some function and how it works now or if it is bugged, file a report and find a work around or make a note. Make a clear example to show its broken.
 * Ignore adding how frustrated you are trying to solve it.
 * Don't ask for a higher level feature from "Game Name (X)" and expect everyone to understand exactly what you want.
 * "Give me the codes" questions can attract a lot less attention than someone actually trying to solve the problem.
 * Don't constantly press the return key between sentences in live chat, if you are at this stage, stop and think about what exactly you want to ask.
 * Don't get frustrated, no one can help you get the concept when you don't have the head space to understand it.
 * Ignore changing concepts and ideas midstream. Stick with the problem until you can ask another question. Be very clear if you want to change concept and go with another.
 * Don't argue just to be negative or because you are frustrated, just supply coded benchmarks to support your position.
 * Ambiguous questions most of the time go unnoticed or cause more effort than they are worth.

Good Practices


 * Don't assume everyone's language is English or at your level, be patient and ask the right questions if you think something is not right.
 * Answer every question posed to you as they are written, ignoring questions can frustrate your helpers.
 * Ignoring questions and trying to convey your own assumptions is a classic mistake we all make. You might be missing an obvious step that is happening and you do not notice it.
 * Update the chat or "post the solution" in case someone else is reading or searching later.
 * Be thankful someone bothered to spend time on your problem and try to return the favour one day if you see something that you can answer clearly.

Firewall and Router Settings
You may need to open some or all of these ports on your firewall, or set up port forwarding on your router, to get IRC to work:


 * 194
 * 6665-6669 (may or may not be necessary, outgoing only I believe)
 * If you want to use DCC to transfer files, open 32768-32788 too.
 * Finally, you can speed up your initial connection to freenode by opening the Ident port, 113.

When you connect, freenode runs a port-scan on your machine to make sure you're not running an open proxy which could threaten their network. This is harmless, but it can make weird things appear in your access logs. If you prevent them from doing the port scan (by blocking their IP, for example), they may block you in return, so it's best to tolerate their scanning.

More Information

 * If you need help connecting, there is a thread on the Unity forum about IRC here.
 * Wikipedia entry on IRC