- Home /
How do I ask a good Question?
How do I ask a good Question?
What do you need to do to make people react faster on your questions? What do you need to do to get useful answers?
I would like to know what I (as maker of the question) can do to get a fast and useful answer.
Seeing this question made me so happy I'm handing out free karma.
@Aldwoni This is a good question in its own right. I think this thread is going to be helpful to a lot of people.
@Aldwoni: Still I would use a bit less tags. A tag like ask
or good
doesn't say a lot about the subject of the question.
what is a good question? yours. And what is a good answer? $$anonymous$$e.
@Bravini That's not really what we want new users thinking. This is what we do want them to think. What is a good question? One that's easy to Answer. What is a good Answer? $$anonymous$$ine.
Answer by Chrisg · Jun 23, 2011 at 02:27 PM
Be specific - "How do I make a FPS" is not specific.
Include all the relevant data - include script, related object set ups, intended effect, etc
Be legible - "how i make gaem wit invetary and smart enemay???" is not going anywhere. Not to be confused with poor english: "How i do level load? have two scene but not know code" is fine.
Relevant title - "HOW I MINE FISH?!" is bad. "How can I make one object generate a second object when clicked?" is good.
Be patient - questions can take hours, even days to be answered. Asking every 5 minutes is just annoying.
Know your ability level - if you've just started, you won't be getting people explaining how to implement massively multiplayer logic.
Short answers - The longer I have to type, the less chance you get an answer.
Try - It's a lot easier to explain why you failed, and where the logic has it's holes, than to explain the whole idea. "You're trying to use a static array for way points - try using a normal one, and the Array.Push() function. Static arrays can't be resized, but normal ones can." vs "Use an array. Calculate each position and store them in a new bracket."
What's a invetary?? I'm just curious on what that is SUPPOSED to be.
He's right though. thanks for this answer though. I love #5. also "How I $$anonymous$$e Fish" lol
You could also put the primary problem first at the very beginning so you'll have a better chance for them to read the whole story.
Answer by save · Jun 23, 2011 at 03:16 PM
Now that's a good question! The presentation of a question consists of a couple of elements that needs to be taken into consideration to receive a well met answer.
Relevancy and keywords
First of all, make sure that the question actually belongs on UnityAnswers - will the answer contain Unity at all? If not - find the right forum for your topic. Make sure to search for your problem on a search engine and UnityAnswers before posting a question. Chances are that this very issue has been brought up and solved before. Search for keywords of your problem - if you can't find any liable solution then use those keywords as tags to your question when posting on UnityAnswers.
Introducing a task
Introduce the task and describe what you're trying to achieve. Assume from the very beginning that nobody has a clue of what this is, as you would describe something brand new.
Example: I have a space scene in 3d containing the Earth and its Moon as separate GameObjects. I am trying to get the Moon to orbit Earth, what methods can I use?
A clear message
Make sure that the actual question is easy to understand and that the outcome is a clear question. Give your question a descriptive title - not to long, not to short. The question should stand for itself and not rely on any of your earlier, or somebody else, questions. If it's a followup to an earlier of your questions make sure to describe the origin problem briefly and reference with a link. Find the keywords to your issue and tag the question before posting.
The purpose of the question
What do you want to achieve by asking? Make sure to describe the outcome of what you're trying to achieve from the very beginning and all things that might be relevant to the issue. This also opens up for people to throw in hints - maybe a brand new angle to the problem to solve things easier along the way.
Example: I have a space scene in 3d containing the Earth and its Moon as separate GameObjects. I am trying to get the Moon to orbit Earth. They both rotate along their Y-axis with the code: [code] while Earth also later should orbit the Sun. How do I make a GameObject orbit another GameObject?
How far down the rabbit hole are you?
Always introduce how far you've been able to solve the issue by yourself. If the question has to do with code, make sure to post the relevant isolated code for what you're trying to achieve. Explain what you've already tried and why it didn't work for you.
Tidy format and making sense
The layout and format is as important as the actual grammar. Make sure to use proper English (use a translation if you're unable such as Google-Translate) and format your text so it looks appealing. In other words, don't write text without separating the parts, always use the to format your code and let the browser spell check your content if available.
Care and respect
UnityAnswers is solely created by humans, just like you - they think and feel. Be respectful in your writing and ask things politely. Doing this will increase the chances of getting something extra in return.
Followup and closure
A good question followed by a good answer needs closure. Let the person who answered know that this was your accepted answer by clicking this icon: If an answer is helpful in any way, give something back to the person by clicking this icon:
Accepting an answer will not only notify the person who answered that this was correct, but everyone else that struggle with the same issue now know there's a correct answer. Accepting an answer also gives you karma.
A good question will receive greater notice and good answer(s).
In addition to formatting code in UnityAnswers, I'd also suggest the code formatting itself should be coherent and adhere to some sort of standard. I'm much less likely to look at overly messy code.
Possible Duplicate Of This Question: http://answers.unity3d.com/questions/21300/make-gameobjectmodel-orbit-a-sphere.html jk, obviously.
In additional to properly formatting code, I would also suggest:
Limit the amount of code to the relevant parts
Use English variable names
Answer by LegionIsTaken · Jun 23, 2011 at 02:07 PM
Have a specific title and text.
Formulate yourself well so people can understand you.
Add proper and specific tags so people know to start with what the topic is all about.
Be nice to people and the will be nice to you.
Answer by Jason B · Jun 23, 2011 at 02:14 PM
Have a specific answerable question in mind. Don't ask a question that would lead to a long discussion and not result in a straightforward answer.
If you have a question regarding scripting, make it clear which language you need help with in the tags and provide all code you've already written which is relevant.
If you need to describe something you want to do in some sort of spacial terms, drawing and uploading a simple diagram can go far towards getting an exact answer.
Always read the manual before you ask a question. If you ask something that can be read straight out of the manual, you won't be answered, or your answers will be "read the manual."
Never, ever ask someone if they can "write a script for you" as this will cause many thumb downs and negative comments. If you're asking a question, it should be for the purpose of learning, not having someone swoop in and do your work for you.
Be polite, spell properly.
This is all I can think of that I could ask for in a question that would result in me giving a fast, accurate response.
Answer by Molix · Jun 23, 2011 at 02:15 PM
There are some good answers about getting the most out of the site, e.g. here.
Phrase the subject as a question, not a statement.
Keep the question on topics related to developing with Unity
Make sure it is an answerable question. This is not for discussion.
Keep the scope of the question as focused as possible. Bad: "how to make a game like x"
Make sure it is something that at least one other person could find useful. Bad: "how to fix my code?". Relate it to something in the engine so that others with similar problems can find it and benefit from it.
Include details of what you have done, with code samples, but do not just dump a massive piece of code up there and expect others to wade in.
Be polite and respectful; you're asking for free help.