UMod-Interface A serializable refernce to a shared game asset which can be used in mod scripts to reference specific shared game assets. Get the serialized guid reference to the assigned game asset. This reference can be set via the inspector using the game assets selection window. Returns a value indicating whether this reference points to a valid game asset. This value will be false when the game asset reference has not been assigned (None). Note that this value will be true for references to game asset that no longer exist (Missing). Return the pre-loaded asset instance. Return the pre-loaded asset instance. Attempts to instatiate the referenced game asset at the specified location. Note that a valid game asset must be selected from the editor. The position to instantiate the game asset instance at The rotation to give to the created instance An object instantiated from the referenced game asset A game asset reference has not been set (Game asset reference is set to '(None')) The referenced game asset could not be resolved at runtime. This usually indicates a problem asset sharing configuration in the game project Attempts to instatiate the referenced game asset at the specified location. Note that a valid game asset must be selected from the editor. The position to instantiate the game asset instance at The rotation to give to the created instance An object instantiated from the referenced game asset A game asset reference has not been set (Game asset reference is set to '(None')) The referenced game asset could not be resolved at runtime. This usually indicates a problem asset sharing configuration in the game project A reference to the interface that allows access to the host that is handling this mod. A reference to the interface that allows access to the loading API. A reference to the interface that allows access to shared game assets. A reference to the interface that allows access to the mod scenes. A reference to the interface that allows access to the mod security permissions at runtime. This is useful for determining whether the mod has permission to perform an action before hand. A reference to the interface that allows data to be stored between sessions. This is useful for storing mod configuration values and then loading them back at a later date. A reference to the interface that allows access to the mod debug API. Common base class for all nodes that offer substitution behaviour at runtime. Event that is triggered when the node script activates allowing the correct replacement asset to be substituted. The name of the prefab to replace this node when loaded. Called at runtime when the node should be linked. The overriding method should restore the state of the node. The value to link against A material node is used to mark which material should be applied to a surface when the material is not available. Called when the asset node should be relinked. The material instance to relink with A prefab node is used to mark the location that a prefab will appear in the scene when the actual prefab is not available. Called when the prefab node is spawned and allows the node to be replaced with the correct game object. The game object prefab that this prefab node is referencing Represents a reference link for a Unity game object. Represents a reference to a mod prefab that is accessed via mod code. This method has been replaced with direct references within the Unity editor. Get the prefab asset that is referenced. Create an instance of the refernced prefab asset. An instantiated unity object Create an instance of the references prefab asset with the specified positon and rotation. The position to create the asset at The orientation to create the asset with Attempts to instantiate an asset with the specified name. The asset will be loaded before instantiation if necessary. The name or path of the asset to instantiate An instantiated object or null if the asset could not be instantiated Attempts to instantiate an asset with the specified name with the given position and rotation. The asset will be loaded before instantiation if necessary. The name or path of the asset to instantiate The position to give the object The rotation to give the object An instantiated asset or null if the asset could not be instantiated Attempts to instantiate an asset with the specified id. The asset will be loaded before instantiation if necessary. The id of the asset to instantiate An instantiated asset or null if the asset could not be instantiated Attempts to instantiate an asset with the specified id with the given position and rotation. The asset will be loaded before instantiation if necessary. The id of the asset to instantiate The position to give the object The rotation to give the object An instantiated object or null if the asset could not be instantiated Attempts to instantiate an asset with the specified name or path as the genric type. The asset will be loaded before instantiation if necessary. The generic type to return the asset as The name or path of the asset to instantiate An instantiated object as the specified generic type or null if the asset could not be instantiated Attempts to instantiate an asset with the specified name or path as the generic type with the given position and rotation. The asset will be loaded before instantiation if necessary. The generic type to return the asset as The name or path of the asset to instantiate The position to give the object The rotation to give the object An instantiated object as the specified generic type or null if the asset could not be instantiated Attempts to instantiate an asset with the specified id as the genric type. The asset will be loaded before instantiation if necessary. The generic type to return the asset as The id of the asset to instantiate An instantiated object as the specified generic type or null if the asset could not be instantiated Attempts to instantiate an asset with the specified id as the generic type with the given position and rotation. The asset will be loaded before instantiation if necessary. The generic type to return the asset as The id of the asset to instantiate The position to give the object The rotation to give the object An instantiated object as the specified genric type or null if the asset could not be instantiated Get the unique id for the mod asset with the specified name or path. Full paths with extensions, relative paths and names are accepted. A relative or full path should be used when there may be one or more assets in the mod with the same name. The name or path of the asset The unique id of the asset or -1 if the asset was not found Checks whether an asset with the specified name or path exists in the mod. Full paths with extensions, relative paths and names are accepted. A relative or full path should be used when there may be one or more assets in the mod with the same name. The name or path of the asset True if the asset exists or false if not Checks wether an asset with the specified name or path with optional array indexing syntax exists in the mod. Full paths with extensions, relative paths and names are accepted all with optional array indexing syntax at the end of the file name. For example: 'myAsset[0]'. The name or path of the asset True if the asset exists or with or without array indexing syntax or false if not Checks whether an asset with the specified id exists in the mod. Asset id's are generated at runtime and can be retrieved using one of the 'Find...' methods. The unique id for the asset True if the asset exists or false if not Gets an array of asset names that are in the mod. Only the asset name will be returned with no extension or path structure. As a result it is possible for multiple entries with the same name to exist which represent identically names assets at different folder levels. An array of asset names Gets an array of asset relative names that are in the mod. A relative name contains the folder structure of the asset relative to the mod export folder without the file extension. An array of asset relative names Attempts to return all assets in the mod. An contains detailed structure information about the asset. An array of representing each asset in the mod or an empty array if no assets are found Attempts to return all assets in the mod that has the specified asset name. Multiple assets with the same name can exist at different folder levels within the mod. An contains detailed structure information about the asset. The name of the asset to search for An array of matching or an empty array if no matches are found The specified name is null or empty Attempts to return all assets in the mod that has the specified asset extension. An contains detailed structure information about the asset. The file extension to find. The extension must begin with a '.', For example: '.prefab' An array of matching or an empty array if no matches are found The specified extension is null, empty or incorrectly formatted Attempts to return all assets that are inside a specific mod sub folder. The specified path should be relative to the mod export folder and should only contain forward slashes '/'. An contains detailed structure information about the asset. The folder path relative to the mod export folder to look in An array of matching or an empty array if no matches are found Attempts to return all assets that are inside the specified mod subfolder and have the specified asset extension. The specified path should be relative to the mod export folder and should only contain forward slashes '/'. An contains detailed structure information about the asset. The folder path relative to the mod export folder to look in The file extension to find. The extension must begin with a '.', for example '.prefab' An array of matching or an empty array if no matches are found The specified extension is null, empty or incorrectly formatted Attempts to find an asset with the specified path or name. Full paths, relative paths and names are accepted however when using a full path the extension must also be specified. An contains detailed structure information about the asset. The path or name of the asset A matching or null if no match was found Attempts to return all assets in the mod that has the specified asset name or the specified asset name plus array indexing syntax. For example: 'myMaterialAsset[0]'. All assets that match the 'myMaterialAsset' name that append the array indexing syntax will be returned. Note that explicit matching asset names with no array indexing syntax will also be returned. Multiple assets with the same name can exist at different folder levels within the mod. The name of the asset to search for An array of matching or an empty array if no matched are found The specified name is null or empty Attempts to find an asset with the specified asset id. Asset id's are generated at runtime and can be retrieved using one of the 'Find...' methods. An contains detailed structure information about the asset. The unique id for the asset A matching or null if no match was found Represents an asset included in a mod. Get the object associated with this asset. This value will try to ensure a valid object is returned which may result in automatic loading of the asset, however this may not be possible if the asset is not alive. Attempts to load this from the mod. When true, if the asset has already been loaded then a cached instance will be returned to avoid reloading The loaded asset The mod that owns the assets has been unloaded Attempts to load this from the mod as the specified generic type. The generic type to load the asset as When true, if the asset has already been loaded then a cached instance will be returned to avoid reloading The loaded asset as the generic type The mod that owns the assets has been unloaded Attempts to load this with all associated sub assets. The main asset will be loaded into and the return value is an array of sub assets. When true, if the assets have already been loaded then a cached array will be returned to avoid reloading the sub assets An array of sub assets for this asset Attempts to load this with all associated sub assets. The main asset will be loaded into and the return value is an array of sub assets. This overload will only return assets that are of the specified generic type such as 'Mesh'. The generic asset type to retrun When true, if the assets have already been loaded then a cached array will be returned to avoid reloading the sub assets An array of sub assets for this asset Attempts to load this from the mod asynchronously. This method returns a object which is yieldable and containg information about the loading progress and status. When true, if the asset has already been loaded then a cached instance will be reused A yieldable object The mod that owns the assets has been unloaded Attempts to load this from the mod asynchronously. This method returns a object which is yieldable and containg information about the loading progress and status. The generic type to load the asset as When true, if the asset has already been loaded than a cached instance will be reused A yieldable object The mod that owns the assets has been unloaded Attempts to load this with all associated sub assets from the mod asynchronously. This method returns a object which is yieldable and containg information about the loading progress and status. The main asset will be loaded into . When true, if the asset has already been loaded than a cached instance will be reused A yieldable object The mod that owns the assets has been unloaded Attempts to load this with all associated sub assets from the mod asynchronously. This method returns a object which is yieldable and containg information about the loading progress and status. The main asset will be loaded into . The generic asset type used to specify which sub asset types to load When true, if the asset has already been loaded than a cached instance will be reused A yieldable object The mod that owns the assets has been unloaded Attempts to load this and then create an instance of the object for use in game. Combines the behaviour of an asset load request and instantiate call into one for ease of use. An instance of the Object class representing the instantiated asset The mod that owns the asset has been unloaded Attempts to load this and then create an instance of the object for use in game. Combines the behaviour of an asset load request and instantiate call into one for ease of use The generic type to instantiate the asset as An instance of the Object class representing the instantiated asset The mod that owns the asset has been unloaded Attempts to load this and then create an instance of the object with the specified position and rotation. Combines the behaviour of an asset load request and instantiate call into one for ease of use The world position to create the object at The initial rotation of the object An instance of the Object class representing the instantiated asset The mod that owns the asset has been unloaded Attempts to load this and then create an instance of the object with the specified position and rotation. Combines the behaviour of an asset load request and instantiate call into one for ease of use The generic type to create the asset as The world position to create the object at The initial rotation of the object An instance of the object class representing the instantiated asset The mod that owns the asset has been unloaded Represents common asset data for assets included in a mod The unique id for this asset. This is guarenteed to be unique during the current session. Id's are not persistent. Get the array indexing value for the mod asset. This value is only set when array indexing syntax is appended to the asset name. For example: 'myMaterialAsset[3]'. In this example the returned value would be '3'. If array indexing syntax is not present in the asset name then a default value of '-1' will be returned. Get the full name of the asset. The full name is defined as the asset path relative the the export project folder including the asset extension, For example: 'assets/examplemod/subfolder/cube.prefab'. Get the relative name of the asset. The relative name is defined as the asset path relative to the mod folder without the asset extension, For example: 'subfolder/cube'. If the asset is not in a sub folder then the value wil be equal to . Get the name of the asset. Get the extension of the asset, For example: '.prefab'. The extension will always begin with a '.'. Check whether this asset is currently loaded. It is possible for a to outlive a mod host in which case the asset it was referencing becomes unavailable. This property will return true if the asset is alive and loadable indicating that the mod host owning the assets is also still loaded. Load requests issued while an asset is not alive will result in a exception being thrown. A reference to the interface that allows access to the host that is handling this mod. A reference to the interface that allows access to the loading API. A reference to the interface that allows access to shared game assets. A reference to the interface that allows access to the mod scenes. A reference to the interface that allows access to the mod security permissions at runtime. This is useful for determining whether the mod has permission to perform an action before hand. A reference to the interface that allows data to be stored between sessions. This is useful for storing mod configuration values and then loading them back at a later date. A reference to the interface that allows access to the mod debug API. Allows primitive data types to be stored persistently inbetween mod loads. This is useful if the mod needs to store settings or other persistent information. Most games will disallow access to System.IO by default and as a result this interface is usually the only way to create persistent data. The interface is designed to mimic Unity's PlayerPres class as close as possible with a couple of extra features. Returns true if there is any data stored for this mod. Enumerates all saved keys for this mod. Clears all saved data for this mod. Checks whether a value exists for the specified key. The key to check for True if the key was found or false if not Save an integer value to the persistent data store. A key identifier that will be used to retreive this value at a later date The integer value to save Save a floating point value to the persistent data store. A key identifier that will be used to retreive this value at a later date The floating point value to save Save a boolean value to the persistent data store. A key identifier that will be used to retreive this value at a later date The boolean value to save Save a string value to the persistent data store. A key identifier that will be used to retreive this value at a later date The string value to save Attempt to load an integer value from the persistent store. The key identifier as given when the data was saved The value to return if the specified key does not exist A loaded integer value or the specified error value if the key was not found Attempts to load a floating point value from the persistent store. The key identifier as given when the data was saved The value to return if the specified key does not exist A loaded floating point value or the specified error value if the key was not found Attempts to load a boolean value from the persistent store. The key identifier as given when the data was saved The value to return if the specified key does not exist A loaded boolean value or the specified error value if the key was not found Attempts to load a string value from the persistent store. The key identifier as given when the data was saved The value to return if the specified key does not exist A loaded string value or the specified error value if the key was not found Represents a reference to another mod that the current mod depends upon. Get the for the reference. Get the for the referenced mod. Get the for the referenced mod. Represents references to other mods that this mod depends upon. Returns true if the current mod references one or more mods. Get the number of mods that the current mod references. Checks whether the current mod references a mod with the specified name. The reference name to search for True if the specified name is referenced by this mod or false if not Attempts to get an array of representing the names of all referenced mods. An array of or an empty array if there are no references Attempts to get an array of representing all referenced mods. A contains runtime information for the referenced mod. An array of or an empty array if there are no references Attempts to find a with the specified name. A contains runtime information for the referenced mod. The name of the reference to search for A if the reference was found or null if not Attempts to find the primary for this mod. The primary reference is useually the first referenced mod. A contains runtime information for the referenced mod. A if there is a primary reference or null if not Represents a special scene asset included in a mod. Load the . Should the scene be additivley loaded into the current scene Load the asyncronously. Should the scene be additivley loaded into the current scene An awaitable object containing progress and status information Interface exposed to the modder for loading scene content from the mod package. Modders may want to make use of this interface if their mod contains scene assets. Returns true if the modder has permission to load scenes from the mod package, otherwise false. Returns the number of scenes that are included in the mod. Get the default for the mod or null if there are no scenes in the mod. Attempts to load a scene with the specified name or path from the mod. Note that if the scene is not found then this method does nothing. You can use before calling this method to ensure that the scene will be loaded. The name or path of the scene to load Should the scene be loaded additivley Attempts to load a scene with the specified name or path from the mod. Note that if the scene is not found then this method does nothing. You can use before calling this method to ensure that the scene will be loaded. The id of the scene to load Should the scene be loaded additivley Attempts to load a scene with the specified name or path from the mod asynchronously. Note that if the scene is not found then this method does nothing. You can use before calling this method to ensure that the scene will be loaded. The name or path of the scene to load Should the scene be loaded additivley An awaitable object containing progress and status information Attempts to load a scene with the specified name or path from the mod asynchronously. Note that if the scene is not found then this method does nothing. You can use before calling this method to ensure that the scene will be loaded. The id of the scene to load Should the scene be loaded additivley An awaitable object containing progress and status information> This attribute should be used by modded code to indicate that a specific class should provide inheritance like behaviour from a game script. The name of the game class to inherit from. The game class should be exposed be the developer and available to modders. Apply the attribute to a class. The name of the game class to inherit from Allows modder to create scripts that inherits from a game script (ModBehaviour). The inheriting class may define trigger methods based on the game's documentaiton as callback methods for game events. Modders should inherit from this class when they require inheritance type behaviour from a game defined script. Call a method with the specified name on the inherited class. The name of the method to call Call a method with the specified name on the inherited class. The name of the method to call A single parameter of any type to pass to the method Call a method with the specified name on the inherited class. The name of the method to call An array of parameters of any type to pass to the method Call a method with the specified name on the inherited class. The name of the method to call A value returned from the method Call a method with the specified name on the inherited class. The name of the method to call A single parameter of any type to pass to the method A value returned from the method Call a method with the specified name on the inherited class. The name of the method to call An array of parameters of any type to pass to the method A value returned from the method Call a method with the specified name on the inherited class. The type of value to return The name of the method to call A value of specified type returned from the method Call a method with the specified name on the inherited class. The type of value to return The name of the method to call A single parameter of any type to pass to the method A value of specified type returned from the method Call a method with the specified name on the inherited class. The type of value to return The name of the method to call An array of parameters of any type to pass to the method A value of specified type returned from the method Basic interface for the UMod api and allows for mod events to raised. Most mod scripts should inherit this class. Event method triggered when the mod has been successfully loaded. Use this method for mod setup code, similar to Unity's Start method. Event method triggered when the mod will be updated. Typically will be the frame rate of the game however excessive time spent in mod methods may result in throttling of this method. Use this method for mod update code, similar to Unity'S Update method Event method triggered just before the mod will be unloaded from the game. Use this method for mod cleanup code, similar to Unity's OnDestroy method. Note that you are not required to unload asset created by this mod as they will be cleaned up automatically. /// Provides the same functionality as the mono behaviour class but adds access to the modding interface for ease of use. Provides similar functionality to the class but also inherits from MonoBehaviour. Modders should inherit from this class to access the uMod API. A reference to the interface that allows access to the host that is handling this mod. You should not access this property from 'Awake'. Instead use 'Start' or 'OnModLoaded'. A reference to the interface that allows access to the loading API. You should not access this property from 'Awake'. Instead use 'Start' or 'OnModLoaded'. A reference to the interface that allows access to shared game assets. A reference to the interface that allows access to the mod scenes. You should not access this property from 'Awake'. Instead use 'Start' or 'OnModLoaded'. A reference to the interface that allows access to the mod security permissions at runtime. This is useful for determining whether the mod has permission to perform an action before hand. You should not access this property from 'Awake'. Instead use 'Start' or 'OnModLoaded'. A reference to the interface that allows data to be stored between sessions. This is useful for storing mod configuration values and then loading them back at a later date. A reference to the interface that allows access to the mod debug API. Event method triggered when the mod has been successfully loaded. Use this method for mod setup code, similar to Unity's Start method. Event method triggered just before the mod will be unloaded from the game. Use this method for mod cleanup code, similar to Unity's OnDestroy method. Note that you are not required to unload asset created by this mod as they will be cleaned up automatically. /// Event method triggered when the mod will be updated. Typically will be the frame rate of the game however excessive time spent in mod methods may result in throttling of this method. Use this method for mod update code, similar to Unity'S Update method Provides a base class for modded scripts that allows access to the uMod API. Modders should inherit from this class when they require access to the uMod API but do not need the behaviour of the MonoBehaviour component. See also for identical functionality with MonoBehaviour base class. A reference to the interface that allows access to the host that is handling this mod. A reference to the interface that allows access to the loading API. A reference to the interface that allows access to shared game assets. A reference to the interface that allows access to the mod scenes. A reference to the interface that allows access to the mod security permissions at runtime. This is useful for determining whether the mod has permission to perform an action before hand. A reference to the interface that allows data to be stored between sessions. This is useful for storing mod configuration values and then loading them back at a later date. A reference to the interface that allows access to the mod debug API. Event method triggered when the mod has been successfully loaded. Use this method for mod setup code, similar to Unity's Start method. Event method triggered just before the mod will be unloaded from the game. Use this method for mod cleanup code, similar to Unity's OnDestroy method. Note that you are not required to unload asset created by this mod as they will be cleaned up automatically. /// Event method triggered when the mod will be updated. Typically will be the frame rate of the game however excessive time spent in mod methods may result in throttling of this method. Use this method for mod update code, similar to Unity'S Update method Interface exposed to the modder for loading content from the mod package. Modders should make use of this interface where the mod type includes asset prefabs. Returns true if the modder has permission to load from the mod package, otherwise false. Returns the number of assets that are included in the mod. Attempts to load an asset with the specified name or path from the mod. Note that this method will simply load the asset without creating an instance. The name or path of the asset to load A reference to the newly loaded object or null if the load failed Attempts to load an asset with the specified id from the mod. Note that this method will simply load the asset without creating an instance. The id of the asset to load A reference to the newly loaded object or null if the load failed Attempts to load an asset with the specified name or path from the mod. Note that this method will simply load the asset without creating an instance. The generic type to return the asset as The name or path of the asset to load A reference to the newly loaded object or null if the load failed Attempts to load an asset with the specified id from the mod. Note that this method will simply load the asset without creating an instance. The generic type to return the asset as The id of the asset to load A reference to the newly loaded object or null if the load failed Attempts to load an asset with the specified name or path from the mod along with all sub assets. The return array represents all sub assets of the specified parent asset. The name or path of the asset whose sub assets should be loaded An array of all sub assets for the specified parent asset Attempts to load an asset with the specified id from the mod along with all sub assets. The return array represents all sub assets of the specfied parent asset. The id of the asset whose sub assets should be loaded An array of all sub assets for the specified parent asset Attempts to load an asset with the specified name or path from the mod along with all sub assets of the specified generic type. The return array represents all sub assets of the specified parent asset The generic type used to determine which type of sub assets should be loaded The name of path of the asset whose sub assets should be loaded An array of all sub assets for the specified parent asset Attempts to load an asset with the specified id from the mod along with all sub assets of the specified generic type. The return array represents all sub assets of the specified parent asset. The generic type used to determine which type of sub assets should be loaded The id of the asset whose sub assets should be loaded An array of all sub assets for the specified parent asset Attempts to load an asset with the specified name or path from the mod asynchronously. Note that this method will simple load the asset without creating an instance. the name or path of the asset to load Attempts to load an asset with the specified id from the mod asynchronously. Note that this method will simple load the asset without creating an instance. The id of the asset to load Attempts to load an asset with the specified name or path from the mod asynchronously. Note that this method will simple load the asset without creating an instance. The generic type to load the asset as The name or path of the asset to load Attempts to load an asset with the specified id from the mod asynchronously. Note that this method will simple load the asset without creating an instance. The generic type to load the asset as The id or the asset to load Attempts to instantiate an asset with the specified name. The asset will be loaded before instantiation if necessary. The name or path of the asset to instantiate An instantiated object or null if the asset could not be instantiated Attempts to instantiate an asset with the specified name with the given position and rotation. The asset will be loaded before instantiation if necessary. The name or path of the asset to instantiate The position to give the object The rotation to give the object An instantiated asset or null if the asset could not be instantiated Attempts to instantiate an asset with the specified id. The asset will be loaded before instantiation if necessary. The id of the asset to instantiate An instantiated asset or null if the asset could not be instantiated Attempts to instantiate an asset with the specified id with the given position and rotation. The asset will be loaded before instantiation if necessary. The id of the asset to instantiate The position to give the object The rotation to give the object An instantiated object or null if the asset could not be instantiated Attempts to instantiate an asset with the specified name or path as the genric type. The asset will be loaded before instantiation if necessary. The generic type to return the asset as The name or path of the asset to instantiate An instantiated object as the specified generic type or null if the asset could not be instantiated Attempts to instantiate an asset with the specified name or path as the generic type with the given position and rotation. The asset will be loaded before instantiation if necessary. The generic type to return the asset as The name or path of the asset to instantiate The position to give the object The rotation to give the object An instantiated object as the specified generic type or null if the asset could not be instantiated Attempts to instantiate an asset with the specified id as the genric type. The asset will be loaded before instantiation if necessary. The generic type to return the asset as The id of the asset to instantiate An instantiated object as the specified generic type or null if the asset could not be instantiated Attempts to instantiate an asset with the specified id as the generic type with the given position and rotation. The asset will be loaded before instantiation if necessary. The generic type to return the asset as The id of the asset to instantiate The position to give the object The rotation to give the object An instantiated object as the specified genric type or null if the asset could not be instantiated The base interface for requesting actions from modded content. This interface is passed to the IMod interface when 'onModLoaded' is called. Request the host to unload the mod and return to its previous state. Destroys all game object in the scene that were created by this mod. Any object that have any mod script components will have the 'OnModUnloaded' event called. Get the security polivy for the mod. Returns true if the modder is allwed to load prefab assets. Returns true if the modder is allowed to load scenes.