Skip to main content
This guide walks through creating a complete Frosty plugin with a custom asset editor.

Prerequisites

  • Visual Studio 2019 or later
  • .NET Framework 4.7.2 SDK
  • Frosty Toolsuite source code or compiled assemblies

Project Setup

1

Create a Class Library Project

Create a new .NET Framework Class Library project targeting .NET Framework 4.7.2:
2

Add References

Reference the required Frosty assemblies:
  • FrostyPlugin.dll - Core plugin functionality
  • FrostySdk.dll - SDK types and managers
  • FrostyCore.dll - Editor controls and base classes
You’ll also need WPF references:
  • PresentationCore
  • PresentationFramework
  • WindowsBase
  • System.Xaml
3

Configure Build Output

Set the output path to Frosty’s Plugins directory:

Plugin Metadata

Define your plugin’s metadata in Properties/AssemblyInfo.cs using assembly-level attributes.

Basic Metadata

These attributes are read by the PluginManager (from ~/workspace/source/FrostyPlugin/Plugin.cs:14-91):

Profile Targeting

Optionally restrict your plugin to specific games:

Creating an Asset Definition

Asset definitions control how assets are displayed and edited. Here’s a real example from ~/workspace/source/Plugins/TexturePlugin/TextureAssetDefinition.cs:

Registering the Asset Definition

Register your asset definition in AssemblyInfo.cs:
The first parameter is the asset type name from the game’s type library. The PluginManager handles registration (from ~/workspace/source/FrostyPlugin/PluginManager.cs:452-483).

Creating a Custom Editor

Custom editors inherit from FrostyAssetEditor. See the Asset Editors guide for details.

Example: Complete Plugin

Here’s the complete MeshSetPlugin registration from ~/workspace/source/Plugins/MeshSetPlugin/Properties/AssemblyInfo.cs:

Building and Testing

1

Build the Project

Build your plugin project. The DLL should output to Plugins/YourPluginName/.
2

Verify Plugin Location

Ensure your plugin DLL is in:
3

Launch Frosty Editor

Start Frosty Editor. Check the log for plugin loading messages.
4

Test Functionality

Verify your plugin features work:
  • Asset definitions appear for the correct asset types
  • Custom editors open when double-clicking assets
  • Export/import options are available

Debugging

Check that:
  • DLL is in the correct Plugins/ subdirectory
  • Target framework is .NET Framework 4.7.2
  • All required assemblies are referenced
  • Assembly attributes are correctly applied
Verify:
  • RegisterAssetDefinition attribute has correct asset type name
  • Asset type exists in the game’s type library
  • Plugin is valid for the current game profile
For debugging:
  1. Set plugin project as startup project
  2. Set FrostyEditor.exe as the external program
  3. Place breakpoints in your code
  4. Press F5 to debug

Common Patterns

Multiple Asset Types

Register multiple definitions for related asset types:

Shared Base Class

Create a base definition for common functionality:

Next Steps

Asset Editors

Create custom asset editor UI

Custom Actions

Add context menu actions