Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
CHANGELOG
v3.0.4
- Updated the documentation URL in the README.
- Updated the BepInExPack dependency target version in the manifest.
v3.0.3
- Forced BundleLoader to register LevelContent assets first.
v3.0.2
- Fixed custom level ambiences not working.
v3.0.1
- Fixed getting stuck on the REPOLib loading bundles screen.
v3.0.0
[!IMPORTANT] Almost every mod will need to update to support this version of REPOLib.
- Updated for R.E.P.O. v0.3.0
- REPOLib-Sdk valuable and item mods should work without needing to update.
- All content register method signatures have changed due to
PrefabRefbeing introduced.- You will need to recompile your mods for them to work with this version.
- Deprecated some getter methods in
Valuables,Items,Enemies, andLevelsmodules. - Added support for registering debug chat commands using the
Commandsmodule. - Removed REPOLib command attributes. Use the
Commandsmodule instead. - Removed REPOLib spawn commands since they now exist in vanilla.
- You can now add vanilla valuables to your level valuable presets using
PrefabRefs. - Registering enemies requires you to put your spawn objects in the
EnemyContentScriptableObject. - Registering levels requires you to put your modules in the
LevelContentScriptableObject.
Older Versions
v2.1.0
- Added Upgrades module. (#29)
- Fixed not being able to spawn vanilla network prefabs in singleplayer.
- Made all extension methods and a few other non-module things private.
- Existing mods using these things should still work, but it is recommended that they switch to another solution.
v2.0.1
- Fixed BundleLoader causing an infinite loading screen when loading invalid content.
- Moved documentation to the R.E.P.O. Modding Wiki.
- Added XML documentation for most public API classes, methods, and properties. (#40)
v2.0.0
- Added support for registering levels. (#32)
- Added new async bundle loading system. (#15)
- Added more safety checks when instantiating a network prefab.
- Changed most of the extended logs to use the
Debuglog level, instead ofInfo. (#33) - Split the
DeveloperModeconfig option into two ones:DeveloperModeenables developer-only chat commands.VanillaDeveloperModeenables the vanilla developer keyboard shortcuts.
- Fixed the SpawnEnemy method ignoring the spawnDespawned parameter always spawning enemies not despawned.
- Breaking changes:
- Changed the signature of
BundleLoader.LoadBundle(due to async loading). - Moved
GenericValuablePresetNameandValuablePresetsfromModules.ValuablestoModules.ValuablePresets.
- Changed the signature of
v1.5.0
- Added partial name matching to all spawn commands. (#17)
- Added a new developer mode command
Spawn Enemy.- Usage:
/spawnenemy <name>(/sefor short) - You must enable
DeveloperModemode in the config settings to use developer mode commands. - Note: developer mode commands are host-only!
- Usage:
- Added methods/properties to the Valuables module.
SpawnValuable- Spawn a valuable.AllValuablesandGetValuables- Returns a list of all the valuables registered in the game. (Vanilla and Modded)GetValuableByNameandTryGetValuableByName- Returns a valuable prefab that equals the name.GetValuableThatContainsNameandTryGetValuableThatContainsName- Returns a valuable prefab that contains the name.
- Added methods/properties to the Items module.
SpawnItem- Spawn an item.AllItemsandGetItems- Returns a list of all the items registered in the game. (Vanilla and Modded)GetItemByNameandTryGetItemByName- Returns an item that equals the name.GetItemThatContainsNameandTryGetItemThatContainsName- Returns an item that contains the name.
- Added methods/properties to the Enemies module.
SpawnEnemy- Spawn an enemy.AllEnemiesandGetEnemies- Returns a list of all the enemies registered in the game. (Vanilla and Modded)GetEnemyByNameandTryGetEnemyByName- Returns an EnemySetup that equals the name.GetEnemyThatContainsNameandTryGetEnemyThatContainsName- Returns an EnemySetup that contains the name.
- Added a method to the NetworkPrefabs module.
SpawnNetworkPrefab- Spawn a network prefab by providing a prefab ID.- This method works in both multiplayer and singleplayer.
- Note: this will only spawn registered network prefabs.
- You can now toggle developer mode using the REPOConfig mod.
- You can now register enemy groups if you have already registered that enemy previously.
v1.4.2
- Removed changelog field from the
Modasset. (#14)
REPOLib-Sdk v1.2.0
- Added an
Extra Filesfield to theModasset. (REPOLib-Sdk#7)- You can put your changelog file here.
v1.4.1
- Added
RaiseMasterClienttoREPOLib.Modules.NetworkingEventsclass. - Added
RaiseEventmethod toREPOLib.Modules.NetworkedEventclass.- This method works to call in singleplayer.
v1.4.0
- Added REPOLib as default dependency to the
Modasset. (#11) - Added
REPOLib.Modules.Utilitiesclass that contains a functionpublic static void FixAudioMixerGroups(GameObject prefab);to fix the audio mixer groups on a prefab and their children. (#10) - Registering features (Valuables, Items, Enemies, etc...) will now automatically fix their prefabs audio mixer groups.
- Added
REPOLib.Modules.NetworkedEventclass to easily manage your event codes when usingPhotonNetwork.RaiseEvent();(#12)
v1.3.1
- Added changelog field to the
Modasset. (#9)
v1.3.0
- Added more validation when registering features to prevent conflicts and errors.
- Added support for registering custom chat /commands. (#5)
- Added some built-in developer mode commands:
/spawnvaluable <name>,/spawnitem <name>(/svand/sifor short)- You must enable
DeveloperModemode in the config settings to use developer mode commands. - Note: developer mode commands are host-only!
- You must enable
- Added some built-in developer mode commands:
v1.2.0
- Added support for registering items.
- Added support for registering enemies. (#2)
- Added support for registering features without code using the REPOLib-Sdk. (#3)
- Features now register network prefabs to have their prefabId match the Resources folder structure.
- You can no longer manually pass in a prefabId when registering a valuable.
v1.1.0
- You can now register valuables to specific levels. (#1)
- Valuables Presets:
Valuables - Generic,Valuables - Wizard,Valuables - Manor,Valuables - Arctic
- Valuables Presets:
v1.0.2
- Small improvement to
NetworkPrefabs.cs,Valuables.cs,CustomPrefabPool.cs,LevelValuablesExtension.cs, and other. - Added
public static IReadOnlyList<GameObject> RegisteredValuables { get; }toValuables.cs
v1.0.1
- Updated mod icon.
v1.0.0
- Initial release.