CineOperator — Camera Operator Simulation
Engineering ... Directing ... Built for production Deterministic and frame-rate independent: the same shot at 30 or 240 fps, the same ... Zero per-frame allocations in the camera pipeline.
by Polynest
Price History +
Requirements
- Unity 6.3 (6000.3) or newer.
- Render pipelines: Built-in and URP. The samples are verified in both; sample materials follow the project's pipeline automatically. HDRP is untested.
- No required packages. Optional, compiled only when installed: Universal RP 14+ (rendered depth of field), Timeline 1.6+ (shot-list tracks), Cinemachine 3.0+ (operator and handheld for Cinemachine cameras, and a bridge that runs a whole CineOperator camera inside a Brain).
What is in the package
- 24 components, 8 shareable style profiles (ScriptableObjects) and 12 built-in preset sets.
- 147 runtime scripts and 44 editor scripts, all in Polynest.CineOperator.* namespaces; 20 assembly definitions.
- Full C# source code. No DLLs, no native plugins, no third-party code.
- 20 demo scenes (one per feature, each with an on-screen panel), a basic sample scene, and Timeline and Cinemachine demo scenes as separate packages to import when those packages are installed.
- 759 automated tests (EditMode and PlayMode), compiled only when the Test Framework package is present.
- Documentation in the package: README, Getting Started, a module-by-module reference and an architecture guide.
Engineering
- Deterministic and frame-rate independent: the same seed and the same input produce the same shot at 30 or 240 fps (human timing is simulated in fixed 1/240 s substeps).
- Zero per-frame GC allocations in the camera pipeline, verified by automated allocation tests.
- Non-destructive: a camera moved by a parent, a script or another tool is adopted, never fought; NaN and infinity are rejected before anything reaches the Transform.
- A staged pipeline (Rig, Lens, Aim, Perturbation, Finalize) you can extend with your own modules.
- Works with both input systems; the demo panels use IMGUI.
- Editor tooling: a Camera Director window, custom inspectors with presets and Scene-view gizmos, undoable set-up menus, and an Animation Clip exporter for recorded takes.
Platforms
- Pure C#: no platform-specific code. Built and run as a Windows standalone (Mono) player during verification; other platforms are not specifically tested.
Your camera should look like a person is holding it.
Scripted cameras are perfect, and that is what gives them away. CineOperator replaces mathematically exact tracking with a simulated camera crew. The operator reacts a beat late, pans with the weight of a fluid head, lets the subject drift inside the frame, anticipates, overshoots and corrects — the way real footage feels.
Around the operator stands the rest of the crew: hands on the camera, a lens chosen in millimetres, a focus puller who sometimes misjudges a distance, grips pushing a dolly, a crane arm that flexes, a Steadicam that floats.
You direct. Tell the camera who to film and how the crew works — Reference, Cinema, Documentary, Action or Amateur — and call the shots: a dolly zoom, a crash zoom, a whip pan, a rack focus. Record the take you like and replay it exactly, or lay the whole shot list out on a Timeline.
The crew
- Camera operator — reaction time, dead zone, anticipation, overshoot and correction on a simulated fluid head.
- Handheld — body sway, breathing, hand tremor and the inertia of the camera's weight, from a phone to a heavy cinema package.
- Lens — focal length in millimetres on Full Frame, Super 35, APS-C, Micro Four Thirds or a custom sensor.
- Hand zoom — a person on the zoom ring: late, weighty, a touch past the mark and back.
- Focus and focus puller — follow focus and depth of field computed in diopters; pulled by a motor, or by a person who judges distances by eye.
- Composition — rule of thirds, headroom, eye line, lead room and shot sizes, reached through the lens.
- Rigs — a dolly on a track, a crane, a Steadicam, each moved by a simulated grip or operator.
- Film moves — dolly zoom, crash zoom, whip pan and rack focus.
- Takes — record what the camera did, replay it exactly, blend in and out, export it as an Animation Clip.
Directing
- Crew styles — one choice styles every module of a camera at once, in the editor or at runtime: CineCrew.Apply(camera, CineCrewStyle.Documentary).
- Camera Director window — every camera in your scenes, what it is made of, what is wrong with it (with one-click fixes), and cut / film moves / takes while the game runs.
- Timeline (optional) — take, shot and film-move tracks; scrub the playhead and the recorded shot scrubs with it.
- Cinemachine 3 (optional) — the operator as a Cinemachine Rotation Control and the handheld as its noise, or a whole CineOperator camera running inside a Cinemachine Brain.
- URP depth of field (optional) — the simulated focus rendered with URP's Bokeh depth of field.
Built for production
- Deterministic and frame-rate independent: the same shot at 30 or 240 fps, the same take every time with the same seed.
- Zero per-frame allocations in the camera pipeline.
- Non-destructive: a camera moved by a parent or a script is adopted, not fought. NaN-safe throughout.
- A modular, staged pipeline you can extend with your own modules. Full C# source, namespaces and assembly definitions.
- No required dependencies. The Timeline, Cinemachine and URP integrations compile only when those packages are installed.
- 750+ automated EditMode and PlayMode tests ship with the package.
- 20 demo scenes — one per feature, each with an on-screen panel explaining what to look for — plus Timeline and Cinemachine demo scenes.
Technical details
- Unity 6.3 (6000.3) or newer.
- Render pipelines: Built-in ✓, URP ✓ (rendered depth of field needs URP 14+). HDRP: not tested.
- Optional packages: Timeline 1.6+, Cinemachine 3.0+, Universal RP 14+.
- Full C# source code; runtime, editor, integration, sample and test assemblies (assembly definitions).
- Demo panels use IMGUI and work with either input system.
- Pure C#, no native plugins. Verified in the Editor on Windows and in a Windows standalone (Mono) build.
- Documentation: README, Getting Started, Modules reference and Architecture guide (in the package).