CommonLibF4.NET.SDK 0.0.3

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package CommonLibF4.NET.SDK --version 0.0.3
                    
NuGet\Install-Package CommonLibF4.NET.SDK -Version 0.0.3
                    
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="CommonLibF4.NET.SDK" Version="0.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CommonLibF4.NET.SDK" Version="0.0.3" />
                    
Directory.Packages.props
<PackageReference Include="CommonLibF4.NET.SDK" />
                    
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 CommonLibF4.NET.SDK --version 0.0.3
                    
#r "nuget: CommonLibF4.NET.SDK, 0.0.3"
                    
#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 CommonLibF4.NET.SDK@0.0.3
                    
#: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=CommonLibF4.NET.SDK&version=0.0.3
                    
Install as a Cake Addin
#tool nuget:?package=CommonLibF4.NET.SDK&version=0.0.3
                    
Install as a Cake Tool

CommonLibF4.NET.SDK

C# contracts for independent CommonLibF4.NET managed mods. Requires .NET 10; plugins run in Windows x64 Fallout 4 with the matching framework.

Implement a plugin by deriving from FalloutPlugin:

using CommonLibF4.NET.SDK;

public sealed class MyMod : FalloutPlugin
{
    public override void OnLoad() => Logger.Info("Hello from MyMod!");

    public override void OnGameLoaded()
    {
        GameThread.Queue(() => Player.AddItem(Forms.Caps, 1000));
    }
}

The loader calls OnLoad at startup, once per process, with no game-thread or game-data-ready guarantee. OnGameLoaded is called after loading, with no game-thread guarantee. Queue game-affine operations. Use GameThread.Queue to marshal game-affine work, and Player, Form, Events, Input, Serialization and Logger static facades for capabilities. OnUpdate and UI.Notification are not implemented in this preview.

Use SDK 0.3.0-preview.1 with <ClnSingleFile>true</ClnSingleFile> to package a mod as build/Data/F4SE/Plugins/CLN/MyMod.dll. Keep development outputs in bin/obj or .artifacts. Metadata remains authored in plugin.json and is embedded into the DLL; [FalloutPlugin] is the fallback. Neutral managed dependencies are embedded automatically. Native and satellite DLL dependencies are rejected by this packaging mode.

Reference this package with ExcludeAssets="runtime"; the framework embeds and shares the SDK, so mods do not distribute a separate SDK DLL. Use a .NET 10 x64 class library. Dependent work and completion logs belong inside the queued callback.

The separate CommonLibF4.NET.Templates package provides the clf4mod template with these settings. Runtime and SDK are embedded inside the native CommonLibF4.NET.dll and loaded without extraction. End users still need installed .NET Runtime 10.0 x64 (at least the framework's pinned patch). In-game acceptance of this hosting path remains pending. Building or testing these packages does not publish them to NuGet.org.

See LICENSE and EXCEPTIONS included in the package for licensing terms.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

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
0.3.0-preview-1 88 9/7/2026
0.2.0-preview-3 91 9/6/2026
0.2.0-preview-1 91 9/6/2026
0.0.3 93 9/6/2026
0.0.2 93 9/6/2026
0.0.1 101 9/6/2026