I love VRChat’s photo camera tools, especially the Spout feature itself. However, there’s a major limitation for creators who need precise, repeatable camera setups:
For an average user that doesn’t have experience with UdonSharp, the only way to set camera position, rotation, and especially FOV is to physically move it by hand and eyeball the results. There are no numeric input fields or the ability to read the exact values currently being used.
For creators working in stationary or studio-like environments, this becomes a serious workflow problem. Without precision control, it’s extremely difficult (or impossible) to:
- maintain consistent framing between recordings or sessions.
- align virtual sets or UI elements accurately.
- match prior camera takes.
- create machinima shots with continuity.
- frame 3D streaming layouts/setups.
- power-users who need cinema-style camera repeatability.
Some worlds offer custom camera override features/triggers (like MMD worlds) but I am uncertain how they exactly do it.
My Goals
I’m trying to frame a 16:9 layout mesh with the correct position and FOV, ensuring the mesh fits perfectly in view without cropping or revealing anything outside the border. Here’s the idea demonstrated in Blender.
Initially I hoped to export the camera from Blender as a positional reference, but that turned out to be unusable for VRChat’s camera tool in practice.
Here’s a rough example of the end-result. I’m trying to frame the blue mesh, but keep the red mesh out of view.
What I Already Tried
As I mentioned earlier, I have no experience with UdonSharp. I just know how limited it is in terms of what features it exposes. Still, I have attempted to access the photo camera’s parameters by setting and/or reading them by using generated code, but with no success, even with the documentation.
My Current Solutions
The current way of achieving my goal is to make my own world, and setting the spawn point of the player so it is centered relatively to the layout mesh I want to capture. From there, I have to adjust the distance and height between the mesh and the spawn in the Unity editor, until the maximum FOV setting in the camera tool frames the mesh perfectly. Which I am still doing as of writing this.
Feature Requests
It would solve the problem if we had one or more of the following:
- Numeric input fields for: Position, Rotation, and Field of View.
- Ability to save & recall presets/bookmarks.
These changes would greatly improve workflows for VTubers, educators, filmmakers, photographers, and anyone who wants stable cinematic results. We have all these neat new features like Dolly, so what if we made the overall camera tools more accessible with this request? For any VRChat staff that reads this, thanks for potentially considering these features.
Even if this feature gets implemented in the future or not, what are the best workarounds out there?



