Home - toydev/HC_VRTrial GitHub Wiki

日本語

VR Trial plugin for HoneyCome Developer Home

Objectives

The aim of this project is to:

  • Share fundamental knowledge of VR:
    • Success is archived if even a single person is inspired by the potential of VR creation.
    • It's even better if individuals feel empowered to develop their own VR plugin programs.
  • Provide a platform for trial and error, facilitating the sharing and resolution of VR plugin-related issues:
    • Success is marked by one more person engaging with challenges of VR plugins.
    • It would be ideal if together we colud navigate the complexities of VR plugin development.
  • Serve as a foundation for VR plugin creation:
    • It is a success if this initiative leads to the creation of a VR plugin.
    • It would be even better if it results in the creation of VR plugins that perfectly serve their intended purposes.
    • The ultimate triumph would be ushering in an era where everyone can become a VR progammer.

This project is not designed for practical applicaiton. Emphasis is placed on maintaining simplicity and compatctness.


Git branch operation

To maintain an organized and comprehensible structure for IL2CPP compliance procedures, I will implementation specialized branch management strategires.

Branches do not merely expand linearly. Instead, I will occasionally consolidate multiple commits, reorder them, and systematically organize the branch to ensure clarity and maintainability.


Getting Started with Development

Required Software

  • Visual Studio Community 2022
    • Additional Components:
      • .NET 6.0 runtime
  • Honey Come
  • (Optional) Unity 2021.3.14f1

Preparation

  • Define environment variables.

These are used for referencing DLLs related BepInEx.

Name Content Example
HC_VRTrial_GAME_HOME Directory where Honey Come is installed C:\ILLGAMES\HoneyCome
HC_VRTrial_INTEROP_DIR Directory where BepInEx generates interop DLLs Standard C:\ILLGAMES\HoneyCome\BepInEx\interopWith HF Patch C:\ILLGAMES\HoneyCome\BepInEx\HoneyCome\interop
  • Open HC_VRTrial/HC_VRTrial.sln and build it using the "Debug" configuraiton for "Any CPU".
  • Run HC_VRTrial/Scripts/setup_debug_env.bat.

This script copies the necessary files to the HC_VRTrial_GAME_HOME directory and creates a symbolic link for the DLL. Once executed, BepInEx will utilize the most recent build of the DLL.

This setup can be reversed by running clean_debug_env.bat.


How to Navigate the Source Code

The core of the VR plugin resides within the HC_VRTrial/HC_VRTrial project. If you're keen to understand the fundamentals of creating a VR plugin, start here.

The entry point for the BepInEx Plugin is located at HC_VRTrial/HC_VRTiral/Plugin.cs. We recommend begignning your exploration from this file.

The HC_VRTrial/SteamVRLib_XXX projects contain the sources for utilizing the SteamVR Plugin, adapted for Unity projects with IL2CPP support.

While the HC_VRTrial/SteamVRLib_XXX project group is generally considered a black box, there may be instances during problem-solving where its internals cannot be overlooked.