The Library in the woods
When I see a large bookshelf, filled to the brim, I get filled with excitement and curiosity. Large mountains of knowledge at your fingertips. Right there, no paywall, no advertisements, no cookies, and no empty battery. In a certain way, it is quite honest, every book makes sense in between its front and back. And all it takes to get access is to take a book out and flip through the pages. In a Library, one can come across all sorts of books. You don't have to read every book in its entirety, but you can skim a few paragraphs, read a bit further, take a different book, and continue to get inspired.
When you first enter VrChat it might seem that you are suddenly in a different country. (And you probably are, when you consider where the servers that host VrChat are) The People all look and act strange, but when you get a bit deeper involved and get to know some of those strange people, you realize, that they are just like you and that they want to have a good conversation or a little adventure or just a bit distraction from their real-life. (And they might be from the other side of the globe)
To make that possible VrChat offers you the tools and the platform to bring your ideas into VR. You can upload your own Avatars and explore who you are, or you can make your own worlds, a playground for everyone who wants to join you and interact with it and each other.
But there is one thing that VrChat currently lacks. Books! Books with Stuff written inside and not just Decoration. There is so much potential, for large libraries, for all sorts of topics. Maybe the Hogwards Library, maybe the Archives of Vatican City, or just the very personal selection of the people you meet. Maybe you think who cares, nobody reads these days anyways. And Maybe on a broad scale, you are right, but there are also many who would care. And who could now, freed from the boundaries of physical reality, meet in the coolest library one has ever seen!
Concept
A small library in a visually pleasing world. And the books are not just decor, but real books with content. And all of that in the boundarys and possibilities of VrChat.
Implementation
VrChat uses the Unity game engine but restricts much of the functionality that it originally offers. Where you normally write C# scripts, VrChat wants you to use their Udon Graph editor, a non-scripting solution much like scratch, or U# which is still missing a full documentation, thats what I ended up using. But all of that restriction serves to protect and ensure that everyone on VrChat has a good experience.
UdonGraphEditor
U# program opend in VisualStudio
To start building the little library, I had to make books first. And to make a real book, it has to be an object in the world that you can pick up, open, skim through, and read the actual content. (At least after my definition)
After that I made many small experiments with all the features separated, to get to know them.
How do I make a GameObject pick-upable? --> Add a VrChat component that lets you do so.
How do I open a Book? --> Make an Animation of the book Opening, figure out how to know when the book is held by a player --> Access the previously mentioned VrChat component and get the information.
How do I put readable stuff inside the book? --> Place TextContainers inside the book that appear when the OpeningAnimation finishes.
How do I make the book so I can turn the pages and few the content on the next page? --> Get the input from the controller in the player's hands, which holds a book. Note which page is open, and which lines have to be displayed next. And execute!
In this video you can see a prototype of the book and in the background are the experiments to learn how thing work.
And then bring it all together.
After that, I started building the World and the Library to house my books.
Building the Library.
Here you can see some testing with muliple instances.
The content of the books, I sourced from Project Gutenberg, where I randomly selected 14 books and brought them into a format that makes them accessable despite VrChats limitations.
Then i brought them into my world one by one and checked, is the right text displayed, is the fontsize correct and so on.
After that i could enjoy some reading.
As you can see there are many more shelves to fill.