Feature Request
With the new dev log, it was mentioned that AVPro Movie Capture would be added to the game and can be used in worlds. However, it was not stated if it would be allowed for users regardless of worlds.
This feature request is to ask for AVPro Movie Capture support from the client.
This would allow creators to record directly in VRChat without the need for an external software, which can be very useful to capture higher framerate and higher quality video.
---------------
Features/Details
Parts of the feature that I think would be useful:
  • Allow the user to select where the videos are recorded (including network drives if possible)
  • Allow the user to use
    every available codec and setting
    that is on AVPro, even if it requires config file changes or some more manual work to get the settings correct
---------------
Discussion
To provide basis for discussion, I already asked and talked about it on the dev log. momothemonster brought up complications, such as:
> UI changes, codec / resolution / frame-rate options, privacy considerations, disk space considerations, figuring out how to include the mic audio which is not in the local audio mix, and more.
I provided my reply, stating the following:
UI changes:
Assuming the UI was created as a modular system (which I believe it is) I think it should be trivial to include some basic functionality. The UI does not need to be polished, especially if it is a beta/alpha feature that is opt-in.
Codec/Frame-Rate/Resolution options:
I would imagine this is trivial? I mean, based on my experience with ffmpeg, you just need to write a layer to call commands or use an existing API. I would hope that you simply include
all
the available codecs from AVPro and not restrict what we would use. For example, I can see recording to 422 or 4444 ProRes
very
useful, and even possibly writing directly to PNG or raw RGB frames (to pipe into other programs).
Privacy Considerations:
Fair... though also, we already have users that can record their desktop with a variety of methods. I leave shadowplay running all the time as well.
At the very least, would it not be possible to have a blocking system similar to how current blocks happen, except it only triggers when this feature is being utilized by someone? It can be opt-in, where someone needs to enable the feature to be included in recordings, and they can whitelist/blacklist users that they allow to record (default whitelist of course).
Obviously I don't know your systems, but I would hope that you created your game with modularity in mind, where you can easily swap in and out pieces of it as layers. I.E: Independent systems that are not intertwined with others.
Also, wouldn't privacy concerns already need to be a thing for AVPro's usage in worlds? What if someone creates a world and invites people to it, but has systems in place that only they can access and they are able to record users without them knowing? Granted, it seems that was already considered for worlds, but why not develop the privacy feature to work for both users and worlds out of the gate, rather than trying to add it on later?
Disk Space Considerations:
This should not be a concern. The user knows how much space they have on their system. It should not be on VRChat's plate to manage the disk space for the user. Sure, if you want to have warnings or something, but this should not be a complicated part of the feature, if even included. This is a professional tool after all, at least in my eyes.
Mic Audio:
Sure, but I don't see that as necessary. People that are recording in-game footage are probably less worried about capturing audio that then are getting smooth recordings with little overhead directly from the game. People can record audio separately.
---
My point with all this: I am not saying the feature is trivial. What I am saying: Making a barebones, alpha, opt-in feature that just at least allows people to use a
useful tool
is way less work than trying to make it production ready out the gate. I would use this feature, as would many others, especially if it is accompanied with other tools like Cinemachine, enabling users to have higher frame rates and better control while using VRChat on desktop for recording.
I understand project management and scope creep. I am also not saying this needs to be done asap. I just wish that VRChat would lean into its community more and release beta/alpha features that are not polished (even if they exist in that alpha/beta state for a while), rather than trying to guess at a perfect solution and hold of on any possibility of anyone using that feature.
People already had mods for many of the things VRChat lacked. I am glad VRChat has stepped up and implemented many of them, but there are still many features missing, and many other features that would be useful. Most people are okay with janky features, as long as they are presented as janky and not final. They would rather have these half working features than to not have them at all and be disallowed from using a mod to solve their need.