Skip to content

Getting started

Requirements

Unity 6000.3.6f1 exactly (ProjectSettings/ProjectVersion.txt)
Modules Windows build support; the editor's own platform
Git with LFS not currently required
GitHub CLI gh, for the workflow
Python 3 only for the docs site

Open with a different Unity version at your own risk. Packages/manifest.json sets "disableProjectUpdate": true, so the editor will not silently upgrade packages, but it will still re-import and rewrite assets.

Clone and open

The repository is private. Clone it with whatever remote URL you were given access to:

git clone <hoseboy remote> hoseboy
cd hoseboy

Open the folder through Unity Hub with 6000.3.6f1. The first import takes a while — the project is around ten thousand tracked files and the library is built from scratch.

Then open Assets/Scenes/demo.unity. That is the only scene with anything in it; SampleScene.unity is the empty template scene.

Packages

From Packages/manifest.json:

Package Version Used for
com.unity.cinemachine 3.1.6 both camera rigs; the free-look rig is Cinemachine 2-style API via the framework
com.unity.inputsystem 1.14.0 all input except the dialogue system's legacy polling
com.unity.postprocessing 3.4.0 post stack
com.unity.toonshader 0.14.1-preview toon shading
com.unity.ide.visualstudio 2.0.23 IDE integration
com.unity.2d.sprite, com.unity.ugui 1.0.0 UI
com.coplaydev.unity-mcp git MCP for Unity — editor automation used by the agent workflow

Rendering is URP, configured under Assets/Settings.

Vendored plugins

Not packages — source dropped into Assets/Plugins:

Ink (inkle ink-Unity 1.1.8), Demigiant (DOTween), CW (LeanTransition), EasyTransitions, PSXShaderKit, PrettyHierarchy, QuickOutline, SimpleMan.

Plus Assets/HelloMarioFramework — a full third-party platformer kit with its own assembly definition. See Player controller.

Assembly layout

There are no assembly definitions for project code. Everything in Assets/Scripts and Assets/Editor compiles into Assembly-CSharp / Assembly-CSharp-Editor. Only the vendored plugins define asmdefs (HelloMarioFramework, Ink-Libraries, InkEditor).

Practical consequences: project code can reference the framework freely, compile times are whole-project, and there is no test assembly — there are no tests.

Root .csproj files and hoseboy.slnx are Unity-generated. Do not edit them; do not commit changes to them.

First run

Press play in demo.unity. You should get the monkey, the free-look camera, and a hose rig that sprays continuously (the jet's sprayWithoutInput debug toggle, since no tank limits it and the spray action is not bound).

What you will not see, because none of it is in the scene: the water gauge, the tank, the arm IK, the true first-person body, screen transitions, or any dialogue. See the roadmap.

Where things live

Assets/
  Art/                  shaders, materials, textures
  Editor/               editor-only utilities (menu items under Tools/)
  HelloMarioFramework/  vendored controller kit — do not edit in place
  Plugins/              vendored third-party source
  Prefabs/Hose/         HoseRig.prefab, WaterBackpack.prefab
  Scenes/               demo.unity  ← the one that matters
  Scripts/              Camera, DialogueSystem, Hose, UI, Utils
  Settings/             URP assets
  Suriyun/              placeholder monkey character
  InputSystem_Actions.inputactions
docs/                   this site
mkdocs.yml