UMod-BuildEngine
Build engine context passed to build processors.
The mod asset path pointing to the folder to export relative to the Unity project.
The mod tools settings used for the build.
The user export settings used for the build.
The target user export profile used to export the mod.
The generated mod identifier.
The registered build scripts.
The registered build assemblies.
The target referenced mods for the build.
The current processor stage.
A collection of CSharp source files registered for the build.
Get the number of source files registered.
Returns true if there are one or more source files registered.
Get an array of source file paths.
Add the specified source file to the build.
The CSharp source file path
True if the source file was added or false if not
Responsible for ensuring that all custom mono behaviours get serialized into mod format and that the Mod Identiy component is present.
Responsible for managing all link behavious that are assigned to prefabs.
These scripts need special treatment as their link references need to be serialized as assets before export.
Responsible for ensuring that all scripts attached to a specific prefab are linked correctly and that the changes to the prefab are applied.
Responsible for ensuring that all scripts in a scene are linked correctly.
Scripts attached to prefab instances are not linked by the scene linker.
A collection of assemblies that are included in the build.
Get the number of assemblies registered.
Returns true if one or more assemblies are registered.
Get an array of assembly entries.
Remove all reistered assemblies.
Add an assembly to the build for export.
The managed assembly data
Is the assembly compiled by uMod
True if the assembly was added to the build
Add assembly debug symbols to the build.
The name of the assembly
The mdb symbol data image
True if the symbols were added or false if not
Add assembly meta data to the build.
The name of the assembly
The .meta data for the assembly image
True if the meta dat was added or false if not
Remove the specfieid assembly entry.
The entry instance to remove
Attempt to find the registered assembly that contains the specified type.
The type to search for
An assembly if found or null
Represents the end status of a build and indicates whether the build was successfuly or not.
An unknown error occurred while performing the build.
A build was attempted with an invalid configuration.
The build succeeded without error.
The build failed.
A value indicating why a folder path is an invalid mod assets path.
The path is valid (No error).
The specified mod folder path is either null or empty.
The specified mod folder could not be found.
The specified mod folder is set to the 'Assets' folder. This is not allowed.
The specified folder does no point to a valid 'Assets' sub folder.
An enum value indicating why the specified output is not valid
The ourput is valid (No error).
The mod name is either null or empty.
The mod version is incorrectly formatted.
Override this class and decorate with the in order to create a custom build asset processor.
The main class for interacting with the uMod build engine.
Use this class to compile a asset directory into mod format for loading at runtime.
An enum value representing the current build processor stage
Build processors are running before scripts have been compiled.
Build processors are running after scripts have been compiled.
An event that is triggered when the build engine requires a mod identifier to be created. You can add a listener to this event in order to manually generate mod identifiers.
Get the build engine log file location.
Start building a mod with the specified export settings.
The export settings to use to build a mod. The settings must incldue atleast one valid and active export profile
A containing information about the build
Run all build engine processors on their target assets.
Should only be called when a build is in progress.
The main build engine sequence.
The build engine cleanup sequence.
This will run after a build regardless of the build result to ensure that the project is returned to its prior state.
Log an exception to the current log output stream.
The exception to log
The build engine exception context
Attempts to validate a mod folder path.
The specified folder must be inside the assets folder in order to be valid.
The folder path to valdiate
True if the specified path is valid or false if not
Attempts to valdiate the specified export profile.
The export profile to validate
True if the specfied export profile is valid or false if not
Get the reason that the specified mod folder is invalid.
The folder path to get the invalid reason for
An indicating why the folder path is not valid
Get the reason that the specified mod export profile is invalid.
The mod export profile to get the invalid reason for
An indicating why the export profile is not valid
Open the build engine log file for reading or writing.
The read or write mod
The file access mode
The build engine log file stream
Represents a build mod that can be accessed in memory.
Contains information used when generating new mods.
The for the new mod.
The full path to the newly created mod folder.
The path relative to the project folder of the newly created mod folder.
The name of the newly created mod.
Helper class responsible for creating new mod folders.
Called when a new mod has been created in the project folder.
Creates a new mod folder in the project folder at the specified path.
The relative or full path to the mod folder
Should the mod be made active in the export settings once created
Should the mod folder be highlighted in the project panel once created
Build a mod with the specified export settings and launch the mod in game when finished.
The active mod export profile of the specified settings will be used to build the mod.
You can load the current export settings for the project by calling 'ExportSettings.Load'.
The specified export settings are null
The specified export settings does not have a valid and active export profile
The mod tools package is corrupt
There was a critical error when build the mod and exporting cannot continue. The exception will contain detailed information
The build engine failed to load or resolve one or more referenced mods while building the active export profile
The export settings that will be used to build the mod
A method that will be called when invalid export settings have been provided
A generated by the build engine
Show a mod tools editor window.
Tools windows must inherit from .
The specified type is null
The specified type does not inherit from
The type of the window to show
Force the build engine to reimport reference mod assemblies for the active export profile.
Create an instance of the shared game asset with the specified guid.
You can also specify a target game object which may be required for assets such as materials or textures.
For prefab shared assets the target object will become the parent object.
The mod tools package is corrupt
The specified asset guid does not exist
The target game object which will act as the parent or container object depending upon the shared asset type. Specifying null is allowed for shared assets which are of type
The guid of the shared asset to create an instance of
Attempt to get the shared asset information for an asset with the specified name.
The name of the asset to search for as displayed in the game assets window
The shared asset information if found or an invalid object if not
True if a matching shared asset was found or false if not
Get a value indicating whether a shared game asset with the specified asset guid exists in the mod tools package.
The mod tools package is corrupt.
The unique guid of the shared game asset
True if the mod tools package contains a shared game asset with the specified guid or false if not
Get the type of a shared game asset with the specified guid.
Game assets can only be types derived from UnityEngine.Object.
The mod tools package is corrupt
The specified asset guid does not exist
The unique guid of the shared game asset to retrieve the type of
A of the shared game asset with the specified guid
Get an array of asset guids which represent all available game assets which are available to the modder.
All shared game assets are referenced via unique guids which are relinked when the mod scene is loaded in game.
The mod tools package is corrupt
An array of shared game asset guids
Responsible for managing reference assemblies for the active export profile.
Attempts to load all assembly references required by the active export profile.
Generated by the compiler and represents the loaded assembly.
Gets the raw bytes of the assembly ready for output to the file system.
Gets the loaded assembly ready for reflection.
Gets the name of the compiled assembly as specified (Or generated).
Attempt to write the compiled assembly to the file system.
The filepath to save the file to
True if the write is successful
Allows the user to specify the name and version used when compiling.
The name of the ouput assembly.
The .Net framework version to target when compiling, Default is v3.5 (Unity Compatibly).
Create an instance of the output info wusing the specified name and version
The name of the assembly
The .Net framework version to use when compiling
The current state of the compiler and compilation task.
The compile failed. Check the compile output for more details.
The compile was successful.
The compiler is currently not performing any action and is waiting for a task.
The compiler is currently compiling.
There was no source code provided to the compiler.
Contains contextual data for the build engine compiler.
The compile statis of the active compiler service.
The compiler report generated by the last compile request.
The compiler result generated by the last compile request.
The compiler status as a result of the last build.
The compiler log for the last build.
The compiled assembly generated by the last build.
Common files and extensions used during builds.
Contains the errors and warnings generated by the compiler duing a build.
Get the compile log as a full string value for easy output.
A string collection representing all of the compile warnings.
A string collection representing all of the compile errors.
The number of warnings this log contains.
The number of errors this log contains.
Returns true if there are 1 or more warnings in the last compile.
Returns true if there are 1 or more errors in the last compile
Adds a compiler warning to the .
The warning message
The warning code
Adds a compiler error to the
The error message
The error code
Clears all errors and warnings from the current log.
The main class used to compile C# assembles using the specified info classes to pass source files and references to the compiler.
Begin compiling using the specified source info.
Information that specifies the source files to compile
Information that determines how the assembly will be compiled
Begin compiling the specified project file.
The project file containing source and reference information
Information that determines how the assembly will be compiled
Allows the source files and project references to be passed to the compiler without relying on a project file.
All the source files for this source info.
All the references for this source info.
All the define symbols for the source.
Create a new source info from a collection of source file paths.
A collection of strings representing paths to C# source files
Create a new source info from a collection of source file paths with specified project references.
A collection of strings representing paths to C# source files
A collection of project references
Create a new source info by searching the specified directory for C# source files.
The directory info representing the directory to search
When true, source files in child directories will also be added
Create a new source info by searching the specified directory for C# source files. also adds the specified project references.
The directory info representing the directory to search
A collection of project references
When true, source files in child directories will also be added
Add a source file to the collection of filed to be compiled.
A full path to the C# source file
Add a source file to the collection of files to be compiled.
The full path to the C# source file
When true the compiler will ensure that the file exists
Add a reference to the collection of project references.
The string path or name representing the reference, For example: 'System'
Adds a project wide define symbol.
he define symbol to add. For example, 'DEBUG'.
Represents a C# project file containing source files and references.
The name of the assembly as specified in the project.
All source files associated with this project file.
All references associated with the project.
All the compilation define symbols for the project. For example, 'DEBUG'.
Create and parse the C# project file located at the specified path.
The path to the project file
Helper class used to locate project files within a directory.
Attempts to locate a project file that contains the specified key words and does not contain the specified exclusions.
The directory to search for the project file, Top level only
An array of string values that must be present in the file name
An array of string values that cannot be present in the file name
Parses microsoft visual studio project files
The version of the core UMod build engine for compatibility with the host.
The major version for the uMod build engine.
The minor version for the uMod build engine.
The revision version for the uMod build engine.