What is the ARVR Africa Hackathon 2020?

The AR/VR Africa Hackathon is an African competition and opportunity to create with, and learn about Virtual and Augmented Reality. This is also an opportunity to meet new people, and get hands-on experience with AR and VR design and development.

Where will the hackathon take place?

It will be held continent-wide online, with an offline finale taking place in Cameroon, Egypt, Ghana, Kenya, Mozambique, Namibia, Nigeria, Rwanda, Senegal, South Africa and Tunisia. 

Who should attend the hackathon?

Participants from all backgrounds, skills, genders, and geographies are welcome. We accept a wide range of applicants, from beginners, to experienced AR/VR hackathon veterans. Prior AR/VR experience is also not a requirement.

What hardware/equipment do I need to participate in this hackathon?

If you have any equipment and can use it (desktops/laptops/monitors/HMDs), we would encourage you to use it. We will have equipment from sponsors for participants who do not have any equipment or are unable to bring it for the offline event. If the supply of a platform does not meet the demand we will ask teams to share this equipment. This has not been a problem in the past.

When is the deadline to register?

Registrations will be open to participants from the 1st of August, 2020 and will close at 11:59 pm on the 1st of November, 2020.

How do I register for the hackathon?

You can register on hackathon website: www.arvrafrica.com

What is the focus of this year’s hackathon?

The theme for the AR/VR Africa Hackathon is ‘Africa in Sight - Our Future in XR’ with teams tasked with building solutions across 5 verticals: Education, Healthcare (including Covid-19 responses), Tourism, Gaming and Climate.

When does it begin?

The Hackathon has started since we launched on August 1, 2020, but the online challenges and mentoring sessions will start by September 21, 2020 on the discord server

when will the hackathon start?

This year's hackathon is divided into two stages. The first stage, which is completely online, kicks of in August 1st and runs till the end of November. the second stage, which is the offline grand finale will take place between December 4th and 6th.


Participants from all backgrounds, genders, and geographies are welcome. The age restriction for participating in the hackathon is 18. All registered participants must have access to the discord server to connect with their team members and must also reside in an African country. Organizing committee and staff of Imisi3d are not eligible to participate in the hackathon. They may, however, assist teams as mentors during the coding/development phase. This hackathon is open to Africans residing in any African country

Team Formation

Teams can consist of at least two team members to a maximum of five members. Exceptions can be made for teams to have more than five members on a case by case basis. Contact the hackathon committee in case you need to have a team of more than five members. All teams should have at least one VR developer. Participants who participated on the same team during the last year hackathon building for the same platform as that chosen by your hackathon team for this year’s submission or who participated on the same team during the previous ARVR Africa Hackathon are not permitted to be team members on the same team competing in this year’s Reality Virtually hackathon. Exceptions may be made. Contact the hackathon committee to avail this exception.

Project Development

No development may start before the actual date and time of the event. Any teams that violate this rule will be automatically disqualified. Any software development tools, game engine, IDE, and/or programming language can be used for the event. If a team member uses a purchased too licensed to him or her and the license is not transferable to other members the member’s team must choose one available to all developer teams. To ensure a level field for all contestants, all code must be created only at the hackathon. You are permitted to use publicly developed and openly licensed API’s and SDKs for your project.

Attendee Code of Conduct

Our hackathon is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, nationality, religion, previous hackathon attendance or computing experience (or lack of any of the aforementioned). We do not tolerate harassment of hackathon participants in any form. Sexual language and imagery are not appropriate for any hackathon venue, including hacks, talks, workshops, parties, social media and other online media. Hackathon participants violating these rules may be sanctioned or expelled from the hackathon at the discretion of the hackathon organizers.


Harassment includes offensive verbal comments related to gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, nationality, or religion, sexual images in public spaces, deliberate intimidation, stalking, following, photography or audio/video recording against reasonable consent, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention. Photography is encouraged, but other participants must be given a reasonable chance to opt out from being photographed. If they object to the taking of their photograph, comply with their request. It is inappropriate to take photographs in contexts where people have a reasonable expectation of privacy (in bathrooms or where participants are sleeping).


Participants asked to stop any harassing behavior are expected to comply immediately. As this is a hackathon, we like to explicitly note that the hacks created at our hackathon are equally subject to the anti-harassment policy. Sponsors and partners are also subject to the anti-harassment policy. In particular, sponsors should not use sexualized images, activities, or other material. Sponsor representatives (including volunteers) should not use sexualized clothing/ uniforms/costumes or otherwise, create a sexualized environment. If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of hackathon staff immediately. Hackathon staff will be happy to help participants contact any local security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the hackathon. We value your attendance. If a participant engages in harassing behavior, the hackathon organizers may take any action they deem appropriate. This includes warning the offender, expulsion from the hackathon with no refund (if applicable), or reporting their behavior to local law enforcement. We expect participants to follow these rules at hackathon, mentoring and workshop sessions and hackathon related social events.


FAQ on Github and Discord

This guide covers frequently asked questions participants, mentors and facilitators might have about using the Discord server and Github. This document does have exhaustive coverage of all issues participants might encounter but includes links to other resources that can provide help.



GitHub is a website and cloud-based service that helps developers store and manage their code, as well as track and control changes to their code. In the case of the AR/VR Africa 2020 Hackathon, participants will be using Github to store their challenges and collaborate with other participants. 


The guide below will walk you through some basic actions you will need to carry out on Github during your online learning journey.

Creating A Repository On Github

A repository is a remote folder for your project. Your project's repository contains all of your project's files and stores each file's revision history. You can also discuss and manage your project's work within the repository.

After you create your repository on GitHub, you can customize its settings and content.

About repository visibility

You can restrict who has access to a repository by choosing a repository's visibility: public, internal, or private.

Creating a new repository

You can create a new repository on your personal account or any organization where you have sufficient permissions.

Creating a repository from a template

You can generate a new repository with the same directory structure and files as an existing repository.


You can add a README file to your repository to tell other people why your project is useful, what they can do with your project, and how they can use it.

About code owners

You can use a CODEOWNERS file to define individuals or teams that are responsible for code in a repository.

About repository languages

The files and directories within a repository determine the languages that make up the repository. You can view a repository's languages to get a quick overview of the repository.

Creating a template repository

You can make an existing repository a template, so you and others can generate new repositories with the same directory structure, branches, and files.

Limits for viewing content and diffs in a repository

Certain types of resources can be quite large, requiring excessive processing on GitHub. Because of this, limits are set to ensure requests complete in a reasonable amount of time.

Duplicating a repository

To duplicate a repository without forking it, you can run a special clone command, then mirror-push to the new repository. For more information Creating a Repository, please follow this link


Cloning a repository from GitHub

You can clone a remote repository to your local machine. If you run into errors, there are some common troubleshooting solutions.

Cloning a repository

When you create a repository on GitHub, it exists as a remote repository. You can clone your repository to create a local copy on your computer and sync between the two locations.

HTTPS cloning errors

There are a few common errors when using HTTPS with Git. These errors usually indicate you have an old version of Git, or you don't have access to the repository.

Error: Repository not found

If you see this error when cloning a repository, it means that the repository does not exist or you do not have permission to access it. There are a few solutions to this error, depending on the cause.

Error: Remote HEAD refers to nonexistent ref, unable to checkout

This error occurs if the default branch of a repository has been deleted on GitHub.

For detailed information on Cloning a Repository, Please Follow the link below


Creating And Editing Commits


About commits

You can save small groups of meaningful changes as commits.

Creating a commit with multiple authors

You can attribute a commit to more than one author by adding one or more Co-authored-by trailers to the commit's message. Co-authored commits are visible on GitHub.

Creating a commit on behalf of an organization

You can create commits on behalf of an organization by adding a trailer to the commit's message. Commits attributed to an organization include an on-behalf-of badge on GitHub.

Changing a commit message

If a commit message contains unclear, incorrect, or sensitive information, you can amend it locally and push a new commit with a new message to GitHub. You can also change a commit message to add the missing information.

Get detailed information from the link below


Collaboration, Fork And Pull Request

Learn about the GitHub flow and different ways to collaborate on and discuss your projects.

About forks

A fork is a copy of a repository that you manage. Forks let you make changes to a project without affecting the original repository. You can fetch updates from or submit changes to the original repository with pull requests.

About pull requests

Pull requests let you tell others about changes you've pushed to a branch in a repository on GitHub. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before your changes are merged into the base branch

Please follow the link below for a complete guide on how to Fork a Project, carryout a Pull Request and more


Github Video Tutorials

  1. Getting started with Github https://youtu.be/iv8rSLsi1xo 
  2. How to Upload project from your Local device to Github https://youtu.be/1jbGFHICo0I or https://youtu.be/7NNI9uW8R_o
  3. How to get the Link to your Github Project or Repo https://youtu.be/bx2YGUv2nbA
  4. To view Github full documentation follow the link below https://docs.github.com/en/github.


Discord gives you the power to create an invite-only home for your friends or community - a place where you can talk, hang out, and have fun. We call these special places - servers, and they look like this


What Is A Server?

You can join or create servers for all kinds of communities - be it a book club, a dance class, a study group, or just some friends you want to spend time with. 

How To Use Text And Voice Channels

Your server is made up of text channels and voice channels.

Text Channels

Text channels are separate spaces for talking over text. They keep conversations organized and give everyone plenty of room to talk. Create separate channels for all the topics your group likes to talk about--from fishing trips to cooking tips.

Follow the link to learn more


Voice Channels

Voice channels are where you can hang out over voice and video. There’s no calling or ringing required - just click on a voice channel to enter it. Friends in your server can see you’re in there and pop in to talk, wave hello over the video, or share their screen.

Follow the link to learn more


How To Talk And Hang Out In Your Server

With voice channels, you can easily start chatting with your friends and community right away! Follow these guides below to learn how to voice chat, video chat, or share your screen or watch other people stream right within your server!

Follow the link to learn more


How To Voice Chat

Step 1: Join a Voice Channel!


Click a voice_channel.png voice channel in your server


Step 2: Start talking!


You should see a green outline around your avatar when you speak. 


If you need to adjust your voice settings, click the Vector_1.png cog icon to open your User Settings. On a desktop, you’ll find it in the lower-left corner of your server. From User Settings, head to Voice and Video settings to adjust your audio input, input sensitivity, and more.


Bonus Tip: You can adjust the volume of other people in the voice channel by right-clicking their avatar on a desktop, or pressing their name on mobile. 


Bonus tip: On a desktop, you can use Discord’s KRISP noise suppression to filter out unwanted background noise like lawnmowers or your neighbours’ dog barking up a storm. 


You can enable KRISP from the Screenshot_21.png icon in the lower-left voice panel.

How To Video Chat



Step 1: Join a Voice Channel!


Click a voice_channel.png voice channel in your server


Step 2: Share your Video!


Press the Video button in the bottom left corner and your video will be added to the voice channel. If you navigate away from the channel, just click it again to bring up 


Follow the link to learn more 



To change your input device, click the cog icon to open your User Settings. 


On a desktop, you’ll find it in the lower-left corner of your server. From User Settings, head to Voice and Video settings to update your video input device.

How To Share Your Screen

Step 1: Join a Voice Channel!


Click a voice_channel.png voice channel in your server


Step 2: Activate screen share


Press the Screen icon in the voice status panel near the bottom left corner and a new window will pop out.


Step 3: Pick an application or screen to share


Select an individual application window to share, or select an entire screen to share.


Step 4: Go Live!


Press the "Go Live" button at the bottom of the window when you are ready to share your stream 


Special Note: At this time, audio sharing is only available when sharing an application window on Windows 10. Audio sharing is unavailable on Mac and Linux at this time.

How To Join And Watch A Stream Or Screen Share:

Step 1: Find a stream


Look for any people with the Live icon within a voice_channel.png voice channel


Step 2: Join the Stream


Click on the username of the broadcaster with the Live icon to automatically join the stream

Once you've joined, you can change the size and location of your viewing window. You can also control the stream’s audio from the volume icon while hovering over the stream.


Follow the link to learn more 



Other Helpful Discord Video Tutorials 


You can watch this step by step guide on how to use Discord https://youtu.be/le_CE--Mnvs

If that video doesn’t do it for you, try this one https://youtu.be/rnYGrq95ezA


We hope this guide is helpful, but if you have any problems and can’t seem to fix it on your own, we’ll be very happy to help. Just reach out to one of the monitors and someone Github and Discord savvy will get in touch with you.