MonkeFrames.Compiler 1.1.0

dotnet add package MonkeFrames.Compiler --version 1.1.0
                    
NuGet\Install-Package MonkeFrames.Compiler -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MonkeFrames.Compiler" Version="1.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MonkeFrames.Compiler" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="MonkeFrames.Compiler" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MonkeFrames.Compiler --version 1.1.0
                    
#r "nuget: MonkeFrames.Compiler, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MonkeFrames.Compiler@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MonkeFrames.Compiler&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=MonkeFrames.Compiler&version=1.1.0
                    
Install as a Cake Tool

MonkeFrames.Compiler

Diagram explaining how the Compiler works

MonkeFrames.Compiler is the backbone to MonkeFrames, responsible for the keyframe class, calculating keyframe transitions, and obviously, compiling the keyframes into a big long list for playback.

MonkeFrames.Compiler can be embedded into any program for free, which makes it a pretty good backbone for other camera mods looking to add keyframe-based camera movement without a large amount of hassle.

Installation

You can pick up a copy of the compiler library (MonkeFrames.Compiler.dll) from the compiler's releases page.

To start using it with your project, go to the Solution Explorer, right click on References, click Add Reference, then move to the Browse tab, click Add, select MonkeFrames.Compiler.dll, then press Ok.

Usage

Create a new project for adding keyframes:

using MonkeFrames.Compiler.Models;

// The "Exporter" field tells other programs where the project was originally exported from.
Exporter myModDetails = new Exporter("myname.mymodname", "Mod display name");

// Projects hold keyframes and metadata. They can be saved and loaded by any mod that uses
// MonkeFrames.Compiler
Project project = new Project("my project", myModDetails);

Add keyframes:

// Assuming you have your project set up already:

Keyframe keyframe = new Keyframe();

// Add your values
keyframe.Position = new Vector3(px, py, pz);
keyframe.Rotation = new Vector3(rx, ry, rz);
keyframe.FieldOfView = 70;

// Change transitions
keyframe.Transition.Effect = TransitionEffect.Linear; // Transition effects
keyframe.Transition.Duration = 6f; // Time it takes (in seconds) to go through the transition

project.Keyframes.Add(keyframe); // Add keyframe to the project

Compile your keyframes:

using MonkeFrames.Compiler;

List<Keyframe> keyframes = project.Build();

Load/save projects:

string projectJson = project.ToJson();

// do whatever yaba yaba

Project savedProject = Project.FromJson(projectJson);

For more information about using MonkeFrames.Compiler, the Discord's a good place to start.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 101 5/19/2026