Background
Last year I bought a Meta Quest 3; after playing a few times it just collected dust. Every time I recorded pentakill videos, I wanted to observe the canyon battles in VR first-person — unfortunately there’s no way to hack the game client.

So I thought of writing a VR version of the game directly, putting Summoner’s Rift into it. This Thunderdome happened to give the chance to realize it. I’d never done any game development before; I chose Unity purely because its VR demo was good. In the whole three days, the work I actually did was limited — basically modifying the VR Demo to implement my own logic. I’m throwing a brick to attract jade here; hope the experts won’t laugh, haha.
I put the final gameplay video on Bilibili; you can watch it directly:
Learning Unity
When I knew nothing about Unity, I first found some videos on youtube to ensure I had a reasonably normal understanding — mainly learning C# and model usage.
These are some videos I watched, mainly about:
cameras, object movement, and keyboard/mouse interaction
rigidbody collisions
Before Thunderdome I hands-on made a simple 3D whack-a-mole. Only when it officially started did I begin rewriting with the VR demo. Something like this:

Models and Animations
All my models come from here:
https://modelviewer.lol/model-viewer?id=142001
Last time I also used these models to make a web-based Zoe.
Moreover, the downloaded glb format actually has animations; in Unity I can import the model and directly add animation effects.

Take Aatrox as an example: after dragging the model directly into the scene, just add an Animator bound to the model.

Collisions and Rigidbodies
Shamefully, I’ve only figured out the rigidbody concept and the collision principle so far; how to use them in Unity still completely baffles me.
This Aatrox sword — I fixed it onto a gun that already existed in the demo, then added a Mesh collider so it can interact with other models.

VR Debugging and Dual-Project Compilation
VR debugging
In VR project development, I can’t burn every small code change to the machine for debugging. So during development, most debugging operations happen in the development process itself; I use the XR Device Simulator for this. Although not that easy to use, it already saves a lot of time. Actually I think the optimal solution would be using the real controller directly.

When compiling to generate the apk, just manually uncheck this class; or I used another approach — git pull --autostash
can directly turn this class off.
Dual-project compilation
Compiling a project in Unity blocks development of the whole project. I originally planned to use the command line, then thought better of it — no mood to research further. So I opened another project; this project only pulls code.

After pulling, I manually trigger the compile button. In the end I got this many apk packages; the ones running stably I marked “stable”.

Learning C#
I’d never written C# code before, but with ChatGPT’s support I could have it generate part of the content for me, like writing Python code. The parts I organized myself were really only the scene concepts and such.

Summary
Whether Thunderdome or a hackathon, I think both are great fun. But when participating you should consider what can be done within the allotted time and what preparation is needed in advance. I think the prerequisite is ensuring you can produce something within the limited time. If I hadn’t made that simple 3D project at the start — or rather, hadn’t gained a preliminary understanding of Unity — these two TD days might have been spent entirely on getting started, with no chance of producing anything.