How to ask developers for help

Asking for help can be hard. Here are some tips and tricks on how you will get the support you need.

Always keep in mind that most people helping you are doing this in their spare time, for free. It's very easy to just not answer your question if it is not well formulated or if you are being rude.

Before you ask

Ask Google and ChatGPT

If your question is something that could have been searched for and found within a minute then people will not take kindly to you wasting their time.

Search in the community (Forum, Discord, FAQ)

It's not only possible that you will find the answer there. Posting on an existing topic also shows that you have put in some effort by trying to find the answer. This increases the likelihood of getting an answer.
Pay attention to the age of the last entry on a topic. If your question strays too far from the original topic then you may end up being accused of "necroing" (reviving an already "dead" topic).

Update your software

If you think it's an error in the software then update to the newest version before asking for support.

Be critical about yourself

Sometimes the behavior of a computer seems random or illogical. However, it is always good to remind oneself that it actually does not think. It only does what it is instructed to do and it does it in a very pedantic way.

I like to remind myself that often the problem sits right in front of the monitor.

A nice example of this is people claiming that there is something fundamentally wrong with "GameObject.SetActive". There is a nice theory about such things called Occam's razor. In short, it says "Everything should be kept as simple as possible, but not simpler." This can be applied to many questions.

Ask yourself this: what's the simpler explanation?
A) You have made an error or you have not quite fully understood the topic.
B) About 100.000+ developers and Unity with an engineering team of 500+ have not yet stumbled upon this one very obvious error that would wreak havoc among 50% of all games out there.

The answer is rather obvious to me. Yet, I routinely have to fight my "dumb-Unity-is-bugged-again" instinct.

Formulating a question

Describe the problem as if you would describe it to someone who does not know anything about your project. Chances are they really don't. Try to be as precise as possible. Sometimes describing a problem already leads to a solution or spawns new ideas. Think of your audience. Formulating good questions is good practice in writing.

Make a proper title

Make sure your title contains information about what the problem is. It should not be too long but also not too short. Make it easy to read and understand. People are quickly scanning dozens of topics to decide which one they are going to answer next.

These things may sound obvious but experience tells us it is not. Here is a random screenshot of the Unity forums:

Let's analyze some of the question titles:

Is there a way to use Postgresql in Unity?

This one is about average. It conveys the problem. It could be shortened to: "How to connect to PostgreSQL?". The "Is there a way" part is a bit redundant. The word "use" is very broad. Having looked into the topic I know it's actually about connecting to a PostgreSQL database. The question was asked in a Unity forum so "in Unity" is also not really needed, though it depends. Opinions may differ on how short a title should be. All-in-all it's a good title, nothing to criticize.

Why isn't this working?

There are multiple things wrong with this one.

First, it tells us nothing about the actual question. We would need to click on it and read some more to find out. It's not a coincidence that this one is the only unread topic on my list.

Second, the typo ("isnt" instead of "isn't") indicates the author may have hastily typed the question and did not care to correct it. Complaining about that may sound pedantic to you (and it is) but people do pick up on those things (may it be unconsciously). If they engage in a conversation they preferably do it with people who do care most about their topics.

Formulate the problem

If your question is about a complex topic then start with a short summary to outline the topic (2-4 sentences). Letting people know the context of a problem helps a lot. By diving right into the details you risk losing some readers.

Describe what you have tried and why you think it failed. This not only helps you to go through your process and maybe find the solution, but it also gives a starting point for others to give concrete advice. Asking nebulous questions only yields nebulous answers.

If you can not formulate your question precisely then maybe (just maybe) you have some learning to do. Not understanding the topic is a source of many ill-formulated questions.

If your problem includes code then make sure the code parts are properly formatted. Do not just paste in the code from your editor. If there is no code formatting available then at least try to format it as mono-spaced text. Do not post pictures of your code. If anything, they act as a deterrent.

If your problem involves animation or rendering then consider making a video or at least add some screenshots.

Add the version number of the software you are using. Sometimes things are actually fixed in a newer version and you may have missed that.

Things not to do

Do not post error codes

No one memorizes those and no one will bother looking them up for you. The exception: All you have is the error code (but this is a very rare scenario). Always include the full error message and the stack trace if you have it.

Do not post pictures of your code

It's the easiest way to deter experienced devs. No one, I mean absolutely no one, wants to copy programming code from a (maybe even photographed) picture. It's not a nice way to spend your free time and there are probably dozens of other, better-formulated, questions waiting to be answered.

Do not post unformatted code

Pretty much any proper system has some tool to allow formatting code (often referred to as "code tags"). Use them!

Understand the audience

Don't be annoyed if you are an experienced dev yet you receive responses targeted at beginners. People reading your post often do not know your level of experience. The initial assumption is that the other party is a newcomer. Also, no one is an expert in every area. Maybe you just made an obvious mistake.

The motivation for some of the more experienced people (those who you'd want to attract to your questions) often is to facilitate learning.

Give a man a fish, and you'll feed him for a day.
Teach a man to fish, and you've fed him for a lifetime.

This means they may not just give you the desired answer and be gone. They may elaborate or even don't give the answer and instead point you to resources to learn from. This can be frustrating. Especially if you are in a hurry.

Keep in mind that these people are helping you (a stranger) in their spare time and they do it for free. Usually, people are not part of a community to be (ab)used as a better version of ChatGPT. If you treat them like a slot machine (question in, answer out) you may be disappointed.

How to ask for professional support

If you have purchased something and you need help from the creators then here is a handy checklist:

Support request checklist

This is how they will react to your request

First, they will try to understand what your problem is on a base level (is it an error, is it about payment, do you want a refund, ...). If they do not understand it they will tell you and you will have to describe it again and again until they do. Sometimes a video can help a lot here.

Second, they will rank your request and sorts it into a list ("urgent world-ending stuff that needs to be fixed right away" vs "there is a typo in the manual").

Third, they will try to reproduce the issue. If they can not then they will ask for more details until they can reproduce it. There will be no fix until THEY can reproduce it. It does not matter that you still have the problem.

Fourth, they will fix the issue and send you a patch. Be aware that it can take a while until they reach this point. There may be a world to save first.

Your goal should be getting over each step on your first attempt. Every iteration will increase the likelihood that either you (or they) lose interest and hence nothing will be done.

All of this may sound obvious but there are some who report an error with something equivalent to "Hi, it does not work. When will you fix it?". That is not a support request, that's just a rant. Devs will respond (if they do) by asking for more information and then wait until the first step can be completed (until they understand the problem).

List of handy resources

Unity

Interesting assets for you

I hope you liked this article. Here are some asset recommendations for you. If you happen to buy one of them then some of the money goes towards supporting this project. Thank you.

Disclosure: This text may contain affiliate links, which means we may receive a commission if you click a link and purchase something that we have recommended. While clicking these links won't cost you any money, they will help fund this project! The links are created by Unity and Partnerize (Unity's affiliate partner).