A Resonite Mod using Harmony to fix two bugs in the game's photo metadata collection system:
- Incorrect Camera FOV Timing: Captures the precise camera FOV at the exact moment a photo is initiated, preventing default/delayed values from being saved if the user breaks the finger gesture before rendering completes.
- Incorrect TakenGlobal Coordinates: Overwrites
TakenGlobalPositionandTakenGlobalRotationwith the actual camera/view coordinates at the moment the capture starts, instead of the unpositioned photo slot's default coordinates (which resulted in0or user root coordinates).
If ResoniteScreenshotExtensions is also installed/loaded, this mod dynamically patches it at runtime (without static dependencies) to add extra metadata fields:
- Visibility & Occlusion Check: Checks if players are in the camera view and runs raycasts to filter out players hidden behind walls/objects (ignoring triggers, camera slots, and self-avatar colliders).
- Head Bounding Box Scaling: Injects
UI-HeadScaleandUI-IsInViewas separate attributes. - Viewers Compatibility: Keeping the attributes separate means
UI-HeadPositionremains a standard[x; y; z]value, so it doesn't break other XMP metadata viewers. - In-Game Dynamic Variables: Attaches a
DynamicVariableSpacecalledPhotoMetadataon a child slot namedPhotoMetadata_Tagson the photo object itself. Visibility and scale variables are written for each user ID (e.g.PhotoMetadata/<userId>/headScaleandPhotoMetadata/<userId>/isInView) so other in-game tools/mods can read them.
This can be disabled in the mod settings under InjectOcclusion.
- Compile the class library or download the compiled
FixPhotoMetadata.dll. - Move
FixPhotoMetadata.dllinto your Resonite installation'srml_modsfolder (typicallyC:\Program Files (x86)\Steam\steamapps\common\Resonite\rml_mods). - Start the game.