Testing and Submission
Follow the instructions below to test and submit your game to Legends of Learning.


Your game will run inside of an iframe in a webpage served by LoL. When testing your game locally, use the Test Harness provided in the Legends of Learning Developer Portal. Test early and often!
The Test Harness plays the role of the LoL platform and lets you confirm that a game can send and receive messages. The Test Harness allows you to see how a game interacts with a simulated platform including:
  • Starting your game
  • Loading progress
  • Initialization
  • Pause and resume
  • Injecting language
  • Speaking text
  • Receiving questions
  • Submitting answers
  • Completing the game

Using the Test Harness

  • Open the test harness
  • Enter the local URL created by Unity from the build and run option in Unity or run a local server (like a python http server) into the “Enter Game Source URL” area. For submitted games, the URL for the game on the LOL server is present in the Games tab.
  • Upload your language JSON file (Tips on JSON formatting).
  • Click “Load Game”.
  • You can click “View Message Logs” to see all the API calls as they happen when playing the game. This is how the technical reviewers review your build. There is a button for viewing the game in Spanish if you included the "es" translation in your JSON file.


When your game is ready to be reviewed by Legends of Learning staff, follow the instructions below to submit your game:
  • Go to the Slot Tab and select the slot you want to create a game for. It will require a game name, thumbnail image estimated duration, description, and instructions. These can be edited later at any time. Teachers and students both love creative game names, fun thumbnails, and enticing descriptions!
  • Go to the Games Tab and select “New Version”
  • Choose your Unity .zip file (forbidden characters such as "$, #, -, ?, %" are not allowed since it can cause problems down the line) and fill in the rest of the information.
Note: Do not include language blocks that do not have the full set of keys identical to the English version, this will throw an error on the JSON file upload. Example of what the upload will get rejected:
  • In the “Tag Main Concepts” window, we will require you to select at least 2/3rd of them (minimum required to be aligned in the game for approval). The content reviewers will review your selected main concepts and confirm or reject.
  • You can track your submission in the Games tab. View the time it was uploaded, review its status, download the build .zip, get the URL link (which can be used in the test harness), and download the language JSON. This language JSON download will include the content reviewer and translation edits (i.e. completed Spanish Translation) if those are completed during the review.
    • Note: we will provide a Spanish translation on your first accepted game version. In subsequent game updates, if you are not changing any of the text, please include the Spanish translation in your upload so that we do not have to re-translate!
  • Finally, wait for results from the LOL team. You will not be able to upload a new version until the current version under-review is accepted or rejected.
Games must comply with all technical requirements and restrictions on the Guidelines page and described in the Legends of Learning Developer Contract. Games must implement all required Concepts to work within the LoL platform.
The lol_spec.json file is now required for JavaScript, Construct and Unity game version submissions. This file includes 1 required value for JavaScript and Construct games as shown below.
"lol_sdk_version": "5.2"
The lol_sdk_version above should reflect the sdk version of the LoL platform used.
For Unity games you will find the latest Unity project template includes this for you and it contains 2 required values as shown below.
"unity_version": "2019.4.16f1",
"lol_sdk_version": "5.2"
Without this file at the root of the zip archive, any upload in the portal will throw an error.
Last modified 2mo ago