Ask a Better Question, Get a Better Answer





Post New Questions In Proper Forum Area

  1. Title - Short and Precise
  2. Body - Detailed and well formatted.
  • ​​Use proper sentences and paragraphs.
  • Format your code with forum code blocks. 
  • Double check that your post is legible and re-edit if it isn’t
  • Provide us the details we need to help you (see full post below.)
  • Be sure to tell us how and on what devices/systems you have tested the issue.

The Short Version (If you are impatient)

  • Title  - Ask a question or make a statement. In either case, make it clear and concise.  Let us know in just a few words the kind of help you need.
  • The Body
    • Issue Summary - Provide a few sentences first, summarizing the issue.
    • Issue Details - Follow the summary with a concise set of details.  Tell us:
      • What you did,
      • Why you did it,
      • What your saw, and
      • What you expected to see.
    • Code and Assets - Be sure to provide code and/or assets demonstrating the issue, but just the part we need to see, and please use the forum formatting tools.
    • Your Setup - Tell us the version(s) of Corona you are using, your working environment, and about the environment(s) in which you encountered the issue.
    • Standalone Example - If you’ve got a standalone example demonstrating the issue, share it. 
  • The Followup - Once someone has provided a working answer or you have solved it, let us know.

The Long Version

The Title

When choosing whether I will help a person, the first thing I do is read the title of their post.  I do this by reviewing the ‘recent activity’ section of the forums or by reviewing e-mails sent by the Corona forums.  

Although I generally click through all posts, I am more likely to click on a post where it is obvious the person is trying to provide information on their problem from the start.

I would more likely click on posts like this:

Posts like these I might ignore:

  • XYZ is broken!
  • LMN crashes!
  • “Some question easily answered by reading the ‘Corona Blog’ or by using Google”

The first two, fit the mold of ‘blame posts’.  I’ve read many posts like this.  While not all of them end up being blame posts, many are.  A blame post is one where someone says, “I tried to do this. It didn’t work. Corona is broken.”  The person puts in no effort to debug the problem and assumes that Corona is to blame.  This tells me the person is probably not very serious and probably won’t benefit from my help anyways.

The last one, well… I can post a link to a Google search or a link to the Corona Blog post covering the topic, but not much else.

The take away is, make your titles clear and concise and you’re already ahead of the game.

The Body

The body of a forum post should be clear, concise, and precise.  

Your goal here is to spend as little of the reader’s effort as possible to get an answer.  If you spend more time posting the question than someone else spends answering it, you’ve done the right thing.

Many of us (we who answer questions) are not getting paid to do this.  We are effectively spending time we could be using to make money, to help you.  So, don’t waste our time/money.

Unless the problem you are having is extremely simple, I suggest you follow this format for your post:

  • The Summary - Before you jump into the gory details, give us a synopsis.  This way we have the idea in mind before we start looking at what you’ve done.
  • The Steps You Took - Now tell us what you did, what you saw, and what you expected to see.
    • What you did - Tell us what you did. Give us the code (and just the code) that we need to see in order to understand.  Alternately, if you need help with some graphics related issue.  Share the resource(s) you worked on.
    • Why you did it - This is a classic mistake.  You must let us know the context of the problem you’re having. Often times, new folks focus on a problem that isn’t even the real source of their issues. i.e. They are trying to use a solution to do something in their game that isn’t appropriate.  So, give us the big picture and some context on why you are trying to do what you are doing.
    • What you saw - Now describe to us what you saw.  For extra points, post a video or a screenshot.  However, do not provide a video or screenshot in lieu of a description of what you saw.  This is critical.  It helps us understand why you think there is a problem.
    • What you expected to see - Initially, this may seem the same as the above, but it is not.  Here you are telling us your expectations and how the results differed.  
  • Bonus Points - You could stop here, but if you want to do an extra good job asking your question tell us the following too:
    • Your Setup - Give us a concise description of your setup.  Answer these questions:
      • What exact release of Corona SDK are you using?
        • Ex: 2015.2598
      • What is your working environment like?
        • Are you running the simulator in OS X 10.2, Windows 8, … ?
      • Where did you encounter the problem (all cases)? - It is often very helpful to know that the problem occurred in one scenario and not another, tell us about the failing cases and the succeeding ones if you have any.
        • If you encountered the problem on a device, be specific:
        • Ex: Gen 1 Nexus 7 running Anrdoid 4.2.2.
    • Debug Steps You Took - Did you try to debug this problem?  If so, tell us what you tried.  
    • Research Steps - Did you try to find a solution on the web or in the forums?  If so, share links to the resources you examined.  Don’t go crazy and post 100 links, but knowing a little bit about where you went for help will help us to help you as well as to avoid giving your answers you’ve already tried.
    • Stand-alone Example - Can you produce the problem in a small standalone example?  If so, share it with us.    

After The Problem Is Solved

Don’t forget, posting to the forums isn’t just about helping yourself.  It is about helping others who will encounter similar issues.

Be sure to do the following:

  • If someone posts an answer that helps you, be sure to post back that, “Yes, that solved my problem.”  Not only will this encourage future help, but future readers will know the solution worked then (even if it no longer does.)
  • If you solve the problem on your own, share the solution.  This keeps others from wasting time answering a solved problem, AND helps future readers.  You are awesome!

Formatting Do’s and Don’ts

  • Format Your Post -  Don’t write the whole post as one long paragraph.  Break it up, add some space between sections.  Use bullet lists, use code formatting (more on this below).  The easier your post is to read, the more likely it is to get read (and answered).
  • Format Your Code - Don’t just post a mess of code as plain text.  Wrap it in a code box and make sure it is nicely formatted.  It is already hard to understand someone else’s coding style.  Don’t make us struggle.
  • DO NOT USE ALL CAPS.  - This is generally treated as yelling.  It rubs some folks the wrong way and isn’t going to get you any more help than lower-case.
  • Read your post and you submit it and correct issues. - After you post your question, go back and read it.  If you misspelled something, edit the post and correct it.  If the code formatting got messed up , go back and correct it.  Whatever you do, don’t fire and forget. 

Consider this question, “If you can’t be bothered to spend the time making your post easily read and understood, why should anyone spend the time reading and answering it?”

Why Put In This Effort?

First, as I said above.  If you can’t be bothered to take the time to post a proper and well thought out question, why should other folks spend their precious time to help you?

Second, I think many will find, that once you’ve put in the effort needed to post a question following these guidelines, the answer may come to you.  In my experience (professionally), the best way to solve a problem is to spend the time necessary to express that problem clearly to someone else, and then to read what you’ve written.  It can give you a fresh perspective on the problem and often times the issue will pop out.

English Is Not My First Language!

Finally, many people posting questions face an additional challenge.  English is not their first language.  I personally have to do more to welcome these folks.  I often forget that the post I may be reading is from someone who spends the rest of their time speaking (and thinking in) another language.

Having said that, help me to help you.  If English is a second language for you let me know.  I may be a grumpy old man, but I also truly want to help, and I am inspired when someone from another language and culture takes the time to ask me a question in my language, even if they get some of the details wrong.


This is an excellent post. 

Do these forums have an option to “pin” a post so that everyone will see it when entering?

What’s your opinion on people asking questions in an old thread that hasn’t had any activity in a long time?

Nice post, roaminggamer. I agree that the quality of questions has varied a lot lately, although people are generally friendly and try to help regardless of that - especially the devs from Corona, who go out of their way to help out even people posting one-liners with no context or code. However, of course the quality of questions influences the quality of answers, which again affects the value of the forum as a whole.

I have the feeling that those who put too little effort into their questions may also be unlikely to put in the effort of reading your post, but it should be pinned nonetheless.

Hi Ed,

This is an excellent post and I have pinned it in the “General Questions/Discussion” forum. Rob and I monitor the forums every day (seven days a week including most major holidays), so we understand your points and we absolutely advocate asking clear, complete, and polite questions. Lack of doing so typically just results in either no answer, or a series of follow-up questions trying to gather more information. This just delays the process for both the developer and the person attempting to help.



Just to pile on… :-)    Corona Labs has a simple phrase:  Help us Help you.  Nothing is more frustraiting than getting a post that reads:

My app is broken.  What is wrong?   Even when you think you’ve asked a good question, you can do more.  Code formatting is critical. 


Hey guys.  Maybe we should move this to the newbies section?  I’m seeing a large influx of new people whom I end up asking the same kinds of questions to over an over…  

what version of Corona, simulator or device, which OS,  show your code, what were you trying to do, what did you expect to see, what did you see, what debug steps did you take, …

I want to help them, but I’m getting exhausted, digging out the details.   I honestly don’t know how you guys (Rob and Brent) keep plugging away.  

Hi Ed,

Yes, we see a lot of the same questions, but we continue plugging away because that’s how we’ve built such a great community around Corona. And we greatly appreciate your help, and the help of other ambassadors and coders, who help us toward our goal.



Would it be possible to add some kind of signature form - ie when posting you have to enter corona version, operating system etc…

Yes it would require extra typing or some kind of auto signature entry - it would not be perfect but would provide some useful info to start from.


I’ll move it to the Newbie forum.

ToeKnee, I doubt it’s possible and there are tons of posts that it would be excessive information.



i recently downloaded corona sdk v2015.2646.

along with notepad plus plus and jdk 6

but when i tried to create my first project i was unable to type anything in the corona simulator output.

i have windows 7 ultimate x64…please can anyone tell me what have i done wrong???

You don’t type anything in the simulator output. It’s just there to display messages.  You write your code in a text editor like Notepad Plus and then the simulator executes that code.  Any errors or print() statements you write show in the output Window.  If you need to do input, you will need to program the simulator to accept that input.  For Mobile devices, the most common input is touch and tap actions.

If you want to do text input, you will need to use an API call like native.newTextField(), but be aware on Windows, this API does not work. If you want to test text input on Windows, you have to build for your Android device and run it on the device.


An ongoing thread, completely unrelated to your question is NOT the place for posting random questions.  

Please delete your posts in this thread: sharma.shivam88  Ask new questions in new forum posts.

I really don’t like people hijacking my threads, so this is not a great way to make me want to help you.

Again, do not hijack threads. Also don’t ask the same question multiple times.

I don’t want to lock this thread, but if it continues off topic, I won’t have a choice. 


This is an excellent post.

Thanks for taking the time of of your schedule to make this Ed.

I am trying to develop a simple arithmetic tool, which takes 2 values from user through text fields . But as I run the app it reads the value of only one input text field.


Here is the code…


local composer = require( “composer” )

local scene = composer.newScene()

local widget = require( “widget” )

local loadsave = require( “loadsave” )

local json = require( “json” ) 

local a = display.contentCenterX

local numOne,numTwo,r,txt

local number = {





local add_release = function( event ) 

     r = display.newRect(a,260,200,40)

     local p = loadsave.loadTable(“du.json”)

     local sum = (p.n1) + (p.n2)

     txt=display.newText(sum,a,260,“Arial Black”,30)




function scene:create( event )                     

local sceneGroup = self.view   

local  image = display.newImage(“carbonfiber.jpg”)

    image.x = display.contentCenterX

    image.y = display.contentCenterY


    numOne = native.newTextField( a, 100, 200, 40 )

    sceneGroup:insert( numOne )

    numTwo = native.newTextField( a, 180, 200, 40 )

    sceneGroup:insert( numTwo )


    function numOne:userInput(event)    

    if(event.phase == “ended” or event.phase == “submitted”) then

    local b=loadsave.loadTable(“du.json”)






    function numTwo:userInput(event)    

    if(event.phase == “ended” or event.phase == “submitted”) then

    local b=loadsave.loadTable(“du.json”)










    local buttonAdd = widget.newButton


    defaultFile = “bbm.png”,

    overFile = “bbm.png”,

    label = “ADD”,

    labelColor =  { default = {1,1,1}, over = {1,1,1} },

    font = “Arial Black”,

    emboss = true,

    onRelease = add_release,







function scene:show( event )


function scene:hide( event )


function scene:destroy( event )


scene:addEventListener( “create”, scene )

scene:addEventListener( “show”, scene )

scene:addEventListener( “hide”, scene )

scene:addEventListener( “destroy”, scene )

return scene

Hello @dushyant79178. Welcome to the forums.

Please ask this question in a new thread. This thread is about how to ask good questions and what you’re doing is called “hijacking the thread” which isn’t allowed.

Next, you should always post your code using code formatting. The easiest way is to click on the blue <> button in the bar with Bold, Italic, Underline, etc. Then paste your code into the window that comes up.



My computer indicates that I need openGL 2.1 to run corona. Where do I get it and what is it about?

Hello @petjp.mon. Welcome to the forums. There are a few rules you need to be aware of. Please read:

Replying to a message thread that has nothing to do with what you’re asking is called Hijacking.

Search the forums for OpenGL 2.1 and see if you find any responses that can help you. If you do not, please start a new thread

Lol sorry for hi-jacking you.


i’ve integrated admob to my app but i’m getting a crash with message it was as follows

ERROR: Could not load provider (admob)

due to the following reason: xxxx/ xxxx/

module ' not found resource

( does not exist in archive

(i’m new to corona and lua programming language)

I hope to hear from you soon

Thank you.