Difference between revisions of "Modding Tutorials"
Jump to navigation
Jump to search
(Add extra information around the limit exceeded error on uploading to the steam workshop that comes up a lot and a note on non-steam versions) |
m (Add links to new pages) |
||
Line 79: | Line 79: | ||
#* [[Modding Tutorials/GrammarResolver|Grammar Resolver]] - PAWN_objective, PAWN_possessive? Find out what it all means here. | #* [[Modding Tutorials/GrammarResolver|Grammar Resolver]] - PAWN_objective, PAWN_possessive? Find out what it all means here. | ||
#* [https://github.com/Mehni/ExampleJob/wiki ExampleJob] - Mehni's top to bottom breakdown of Jobs. | #* [https://github.com/Mehni/ExampleJob/wiki ExampleJob] - Mehni's top to bottom breakdown of Jobs. | ||
+ | #* [[Modding_Tutorials/ConfigErrors|Config Errors]] - Provide configuration issues to the user on startup. | ||
+ | #* [[Modding Tutorials/DebugActions|Debug Actions]] - Call methods from the debug menu | ||
# [https://www.arp242.net/rimworld-mod-linux.html Getting started with RimWorld modding on Linux] | # [https://www.arp242.net/rimworld-mod-linux.html Getting started with RimWorld modding on Linux] | ||
Revision as of 13:01, 3 September 2022
|
This is the table of contents for the modding tutorial. Here, you'll learn step by step how to create mods of gradually increasing complexity.
In light of little official documentation, most of the knowledge here was gained by experience, trial-and-error, decompiling and learning from the source. Keep in mind that RimWorld is a big game that underwent substantial code changes during its alphas. While most of this wiki was updated for 1.0, some information you find may be outdated.
What's a mod?
A mod is a folder containing data the game reads/loads. Mods can add, remove or alter the content of other mods (including the Core mod) in the broadest sense of the word. For more info, see also Modding.
Introduction to modding
- First Steps and Some Links
- Essence of Modding
- Exploring the Folder Structure
- Mod Folder Structure
- Recommended Software
- Modding Troubleshooting Tips and Guides
General modding
Must-knows
Steam Workshop Specifics
- If you want to upload your mod to the Steam Workshop you must own the game on Steam. Owning it on Epic or GoG etc is not enough, both Steam and Tynan have confirmed this.
- Your Preview.png must be under 1MB to upload to the Steam Workshop otherwise you will see "Error : Limit Exceeded"
XML tutorials
- XML File Structure
- Introduction to XML Defs
- In-depth XML Def tutorials
- ThingDef explained
- Weapons_Guns.xml explained. Slightly dated.
- PatchOperations, replace specific xml elements of core files while keeping the rest untampered. Uses xpath.
C# tutorials
- Setting up
- Hello World
- Decompiling Source Code
- Writing Custom Code
- Linking XML and C#
- Alter Code at Runtime with Harmony - this is a best practice for modifying game code, replacing C# code injection to reduce Mod Conflicts
- The wonderful things you will want to do with C#
- Useful things:
- Mod settings - Add settings to your mod
- Def mod extensions - Add (custom) fields to Defs
- Custom Comp Classes - A quick overview of what types of Comps there are, and what they're suited for.
- ThingComp - Learn all there is to know about ThingComps.
- Components - GameComponents, WorldComponents, and MapComponents
- Introduction to Def Classes
- Using Harmony to optionally patch other mods for the sake of compatibility
- TweakValues - Change values on the fly (handy for quick iteration!)
- ExposeData - Save stuff
- The big ass list of useful classes - A non-exhaustive list of classes you'll use most
- Grammar Resolver - PAWN_objective, PAWN_possessive? Find out what it all means here.
- ExampleJob - Mehni's top to bottom breakdown of Jobs.
- Config Errors - Provide configuration issues to the user on startup.
- Debug Actions - Call methods from the debug menu
- Getting started with RimWorld modding on Linux
Art Tutorials
- Artstyle - Officially unofficial guide to RimWorld's Artstyle
- Ekksu's guide to creating RimWorld animals
- ChickenPlucker's guide to creating apparel
- Seraphile's guide to masks
Examples
- RimWorld 1.3: XML Mod Creation
- Assembly Modding
- The Plague Gun tutorial originally by Jecrell, updated to 1.1+.
Dangerously Outdated
- Modding Tutorials/Smelter
- Modding Tutorials/Items
- Modding Tutorials/Weapons
- Modding Tutorials/Furniture
- The Plague Gun based on the Plague Gun tutorial by Jecrell, updated for 1.0. Thread.