Inspiration
We walk by murals every day - however, not all of us get to interact with these murals. We developed Hidden Murals to facilitate publicly accessible art, reshape the spaces we live in, and encourage community interaction & awareness.
What it does
Our mobile app provides an AR interface for people to explore and bring their environment to life through hidden murals. Once a user discovers a mural, they're presented with a time capsule of what their community has painted in that very spot. Users can contribute to current artwork by finishing the piece or adding their own twist. Many locations spread throughout our surroundings contain blank canvases that are waiting to be discovered, drawn, and redrawn.
How we built it
Our Tech Stack begins in the front-end with Unity which houses all of the UI functionality for exploring and drawing. Unity also contains the AR Foundations plugin (which includes ARCore) that allows us to present the user with an interactive canvas. Each canvas is anchored to a geolocation and associated with said location, which constitutes the mural portion of Hidden Murals. C# scripts within Unity communicate with a Flask server hosted on Google Cloud Compute Engine that then accesses a Google Cloud Big Query data warehouse with all of our location data and image data.
Challenges we ran into
Our biggest challenge was configuring Unity (along with its AR packages) and working with the game software. The steep learning curve and our unfamiliarity with C# slowed us down but we were able to adapt quickly and continue with our project. Testing was also a challenge due to the amount of time to build and how error-prone the process was. We also struggled with writing code in C# that interfaced correctly with our Flask server as we were communicating between different languages and services.
Accomplishments that we're proud of
We're proud of creating a working AR interface in Unity (with no prior experience in Unity, C#, or AR)! We created a mobile app that draws images, displays them in the environment in real time, and updates image data stored in a GCP database using a C# script.
What we learned
We learned how Unity works and how to use it to create games. We learned how to create and manipulate game objects, scenes, prefabs, events, C# scripts, and much more. We also learned how to integrate these features with other parts of our project, which helped us gain experience in full-stack development.
What's next for Hidden Murals
Hidden Murals has many directions for growth. We plan to add a variety of locations for users to explore. The number of drawing tools including different brush types, customizable colors, and undoing/redoing strokes will also be added soon. We plan to address several potential issues, such as when users concurrently edit canvases (which we can mitigate by adding functionality for simultaneous updates or locking each canvas to being edited by one user at a time). We also know that as a public forum, our app requires some moderation that will ensure our app's content is meaningful while remaining family-friendly. Other wild ideas include expanding the canvas from a 2-D drawing surface to 3-D, allowing the user to express themself in an extra dimension! Overall, we have big plans for our app, and they won't remain hidden!

Log in or sign up for Devpost to join the conversation.