FANDOM


With gvk's mod  you can make your own mods for the game. It works as a mod loader for other mods.
You can make Texture Packs, Sound Packs, Model Packs, Custom Maps, Custom Missions, Plugins and AI for the bots.

Introduction to modding Edit

Nowadays, gvk's mod allows the community to add their own things to RWBY: Grimm Eclipse. And many are doing so. If you would like to make your own things too you can read this tutorial. Choose the topic you want to learn about and read it.

You might have cool and fancy ideas, but don't aim too high on your first mod. Start small and expand from there.

Distribution of fan made stuff is usually done through the steam modding forum for RWBY: Grimm Eclipse.

Any questions can be directed to the steam user gvk - (to clarify, any question what so ever. "Why won't this texture load", "How do I do this", "My Unity doesn't work", "What is life?!", "Is X possible", "This isn't working, can you help me", "Is there a function for...", "Could you go through this in depth", ...)

How to Package Your Mod Edit

Just so people don't do it in the completely wrong way.

Texture packs / Sound packs When you got your folder with your textures or sounds, then you zip the folder with those changed files. Nothing else, nothing more, just the folder with your changed files.

All the other mods (model, maps, missions, plugins, ... etc) As for stuff other than texture packs and sound packs, you can either zip your folder with your file(s) or just the files themselves.

Texture Packs Edit

How to make your own texture pack:

Tools needed:

  • Some form of image/picture/texture editing program (e.g. Paint.net/Gimp/Photoshop/paint)

To start off, the in-game textures could come in handy but that is completely up to you. Here are download links for the textures:

Start with downloading the common textures, if you don't find the texture you want to change in there then continue to download the other textures. Once downloaded, continue the search.

Find the texture you want to change, e.g. "Weiss_01_PSD" - the model texture for Weiss. Then move the file containing the texture you want to change to your own folder where you will keep the textures for your texture pack (Do not move all textures in there, if so the texture loader will load every single texture which are thousands - you only want the texture loader to load your changed files!). It is good to keep a backup of the original so you can look at it again if needed. The name needs to be the same, else the loader won't know what texture to replace your texture with. The file name works as an identifier for the texture.

Now you can open the file in your image/picture editing program and start editing the texture. Once done be sure to save it as a normal format such as .png so the texture loader can understand the file. When you have changed the textures you want to change, then you can install the texture pack (if you are unsure how to see How To Install Texture Packs ). Note: you cannot change HUD during character select but once playing the level the HUD will be changed.

If you need to change particle color, you can do that as well. In your folder with your changed textures make a file named "ParticleColorData.txt" (a .txt file). In there you can change the particle color through this format: [name]:[r],[g],[b] where [name] is the name of the particle, [r],[g],[b] is the RGB values of the color eg 255,255,255 would be white and 255,0,0 would be red. For particle names see here

If you need help you can download other texture packs and look at them to get a clue or ask in the modding forum.

If you want to add a description to your texture pack, make a file named "description.txt" to your texture pack folder and write stuff in that file. The things you write will popup when you hover over your texture pack in the game.

Tips:

  • You might want to see texture edits directly in the game, to do that you'll need to go to your texture files inside the game directory. They are located at: (Game Install Folder )/RWBY_GE/rwby-ge_Data/TexturePacks/[Texture Pack Name]. Once there you can edit the texture you want to change and save it. Once saved you in game type the command "/reloadTextures" this will reload the texture with the changes you made. (It will only reload textures from that texture pack inside game files, therefore you have to edit your textures there for the change to take place). If you like you can bind that command with "/bind k /reloadTextures" now everytime you press K-key it will reload the textures to see your texture changes directly in the game. 
  • Terrain texture names can be found here
  • There might be multiple textures looking the same, but only one of them is used in the game usually. 
  • For neutral lightning use chat command: /gfx light neutral 

Sound Packs Edit

How to make your own sound pack:

Tools:

  • Optional: Audacity. The only thing you need is the audio/sound files you want to replace the in-game sounds.

Note: .mp3 format is not supported. Some of the formats supported are: .wav and .ogg. The format .OGG (or vorbis) is recommended. You may use your own converter (such as VLC) or (if you want) or use an online tool such as Convertio.co or CloudConvert.

In-game audio files for download here.

This is similar to texture packs, the name works as the audio identifier. So for the audio loader to know what sound to replace it needs the correct name, hence the file name cannot be changed, else it will not load.

You find the audio file that contains the audio you want, move the file to your sound pack folder and replace it with your audio file (same name). Then just install your sound pack and try it out.

Tips:

  • If you wonder what the name is for a sound, use /printSound. It will print the name of the playing sounds in the output_log file. (Notepad++ has reload feature for documents)

Here is an example sound pack.

Model Packs Edit

How to make your own model pack:

This is definitely not as easy as the other resource packs. I suggest to read through all this one time (or two) before starting.

You will need to know some basics about Unity. How to move around in Unity, how to move objects, how Assets window works, prefabs, importing models, and how the hierarchy works (that kind of basics). There are plenty of tutorials on the internet, just do a google search. (Takes less than 30 minutes to learn the very basics.)

Tools needed:

  • Unity3D 5.4.1  (as the game uses the same engine, version is important)
  • Unity Tool: you'll need this script in "Editor" folder inside Assets. (Make "Editor" folder if you haven't). You need to add a folder “AssetBundle” in Assets inside Unity.

You will need a model to replace the other model with.
In-game models for download here.

If you want animations to work you will also need bones for your model (that is like parts to separate arms from shoulder - it should not be just an immovable lump).

Unity can handle many types of models, and it is easy to import them.
Take a look at their documentation.

Now I suggest you get to know Unity a little, I went over this at the top. Download and import the in-game models. Now, do you want you model with or without animations in the game? (The model loader uses the in-game animations, it is not an animation loader - no custom animations needed)

Without animation
In Unity: Just replace the root name of your model with either of the root names for the in-game models but with a "M_" Like this: M_Bip001 or M_Weiss Root or M_Blake 1 or M_Yang Root.

To continue the tutorial go to "Make a pack from Unity model into RWBY" part below.

With animations
In Unity:

Note: you probably need to pose your model like the game model is posed. (Else animations might be wrongly translated from game to custom model.)

I suggest putting the models next to each other or inside of each other, make one a little transparent so you can easily see how they are posed. Then pose your custom model like the in-game model you downloaded (you don't have to be super precise when posing your model) (if you want, you can re-scale individual parts of your custom model to better fit the in-game model). Once done with the posing, make a copy of your now posed model/gameobject and move the copy somewhere else so you can go back if something goes wrong (do this step - you don't want to redo the stuff). Now put both models at 0,0,0 (so they overlap, you may need to change Y cord a little.)

Now there are two ways of doing this with animations. I recommend the first way (A).

A (recommended way of doing it)
You move each corresponding bone to the bone of the model. Like your model thigh to the model thigh of the original so it becomes a child, begin with the innermost child, eg toes and fingers, and work upward from there.
Like so: Move "Custom Model Left Toe" to "M_Weiss L Toe0" (note that the original model part has M_ in front)
Then move: "Custom Model Left Foot" to "M_Weiss L Foot"
And continue upwards like that, then when you come to the pelvis start with the fingers and then hand and work upward from there.

Make sure the original model bone has a “M_” at the start, if not add it to the name. (No need to rename your custom model part, only the original model parts)

You also need to move every part that is part of your model to the original model. 
(e.g. if you have something like antenna it should also be moved to the original model). 

Here is an example of this.
Here is another example.

- [End of A, go to 'Make a pack from Unity model into RWBY'] -

B (discouraged / not recommended way of doing it) 
You name each corresponding bone in Unity like the original model bone is named but with a “M_” at the start (if it already got that you don't need to put it there again). 

Like so: M_[model bone name]

Example: "Custom Model Left Foot" needs to be renamed "M_Weiss L Foot".

- [End of B] -

Make a pack from Unity model into RWBY
You need to do this pack else the model loader will not load your model that you have inside Unity.

Now disable the original model mesh so it is not active and not visible (for Weiss the name is "Weiss Mesh" and that should be disabled). Only your model mesh should be visible. Make sure your object is at 0,0,0. Make a prefab of the object you now got (the object that is the original model but with your model inside). 

Click the prefab, and in the bottom right corner there is a little gray box, add your prefab to an assetbundle. The name of the assetbundle will be the name of the pack. Now, in Unity, at the top tabs, Assets -> Build AssetBundles. Then in your Assetbundle folder (you made earlier) you will find your model pack file, it is a file with no extension with the same name as your assetbundle name. Now you can install your pack (that file in your Assetbundle folder) and use your models in the game. 

Custom Maps Edit

How to make your own map/level for RWBY: Grimm Eclipse:

You will need to know Unity, and how to use it. You don't need to know any code, just how to use Unity - that is how to make a world and such.

Tools needed:

  • Unity3D 5.4.1  (as the game uses the same engine, version is important)

Model tools:
This is optional, but if you want to create you own model:

  • I recommend Blender, of course anything you like works too.

Unity Tool:

  • You need this script in "Editor" folder inside Assets. (make "Editor" folder if you haven't).
  • You need to add a folder “AssetBundle” in Assets inside Unity.

Now you make your scene with all you models, textures and stuff. Once done make sure the scene is saved in Assets. Click the scene, in the bottom right you will see a gray box, Add your scene to a new assetbundle. This new assetbundle must only contain the scene, nothing else! Now in the top of Unity: Assets -> Build AssetBundles. In your Assetbundle folder (you made earlier) you will find your scene/map/level file which is the same as your assetbundle name. You can go ahead and install this file in you ModMaps folder. 

No need to add camera to the level. That is done by the game.

Important:
- All surfaces/objects that the player character should be able to stand on needs to be on layer 8 in Unity. Add layer "Terrain" on User Layer 8. Mark the objects with that layer.
- If grimm should be able to walk in your scene you need a NavMesh
Unity: Window -> Navigation tab. Then click build. (once done you should see some blue areas).
- Image for the map should be named "[assetbundle name]-img" (jpg/png file) and be 1392x835

For Survival mode support: 
Create an empty GameObject named "SurvivalSpawnPoints". All children to that object will be spawn points for the mod. (recommended to only use empty game objects for spawn point). The mod will loop through the positions and use them as spawn points. (The transform of the object represents the position and rotation).

Tip: There are cool tools available to help you making a map.

Map scripts:
Unity does not include any scripts inside your assetbundle file!

Managed programming languages are supported. For example the popular C# language, that I recommend using.

You will have to create a .dll file, in eg Visual Studio, containing the scripts you want to use and inside that dll file add your custom scripts to the game objects. You create a class named "Initializer" in default namespace (that means none), the mod will look for that class and execute the method 'public static void Initialize()'. That method is your starting point, from there you can add and change stuff on your map, such as adding scripts to game objects or adding stuff to the player.

Your code has to be in .NET 3.5 framework, else it will not work since the game uses that version (and the mod will only load that version). Go to your settings in your project and change that. Also, the Assembly name has to be in this format: [scene name]-comp. 

I recommend setting your build output path to your ModMaps folder. 

It could come in handy to reference the dlls UnityEngine and Assembly-CSharp (and UnityEngine.UI), they are located at "[Install folder for RWBY]\RWBY_GE\rwby-ge_Data\Managed\". It is good to reference them right away so you don't get confused later on, when you'll need themYou can use the gvkModAPI dll if you need to access stuff from the game. Make sure every dll you reference is not copied.

Here is an example project.

Custom Missions Edit

How to make your own missions for this game:

You create your missions by programming. (Making a dll file.)

Tools needed:

  • IDE, e.g. Visual Studio for your code.
  • Managed programming languages are supported. For example the popular C# language, that I (gvk) recommend using.

Make a class library project. Your code has to be in .NET 3.5 framework, else it will not work since the game uses that version (and the mod will only load that version). Go to your settings in your project and change that. Assembly name can be whatever you like. I recommend setting your build output path to you Missions folder. 

I suggest starting by referencing the dlls UnityEngine and Assembly-CSharp and UnityEngine.UI, they are located at "[Install folder for RWBY]\RWBY_GE\rwby-ge_Data\Managed\". It is good to reference them right away so you don't get confused later on, when you'll need them. You can use the gvkModAPI dll if you need to access stuff from the game. Make sure every dll you reference is not copied.

You need to reference the gvkMissionsMod.dll located at "[Install folder for RWBY]\RWBY_GE\rwby-ge_Data\Managed\"
Start of by making a class that extends "gvkMissionsMod.MissionsMod.Mission". And make a constructor like this:
public ExampleMission() : base(NAME, DESCRIPTION) { // set name and description for mission
   LevelName = "Emerald_Forest_01"; // sets the level for the mission
}

And then the method "public override System.Collections.IEnumerator Start()" // Executed at mission start.

From there you can do what you want eg, spawn enemies and stuff. Check out the gvkModAPI functions.

Here is an example project.

Plugins Edit

How to make your own plugins for this game:

You create your plugins by programming. (Making a dll file.)

Tools needed:

  • IDE, e.g. Visual Studio for your code.
  • Managed programming languages are supported. For example the popular C# language, that I (gvk) recommend using.

Make a class library project. Your code has to be in .NET 3.5 framework, else it will not work since the game uses that version (and the mod will only load that version). Go to your settings in your project and change that. Assembly name can be whatever you like. I recommend setting your build output path to your Plugins folder. 

I suggest starting by referencing the dlls UnityEngine and Assembly-CSharp and UnityEngine.UI, they are located at "[Install folder for RWBY]\RWBY_GE\rwby-ge_Data\Managed\". It is good to reference them right away so you don't get confused later on, when you'll need them. You can use the gvkModAPI dll if you need to access stuff from the game. Make sure every dll you reference is not copied.

Make a class with a name ending with "Plugin". Make a "public static void Start()" and "public static void Stop()" method. The mod will call these when the plugin is activated and when it is deactivated. Check out the gvkModAPI functions that can help you.

Example project.

gvk can provide another more interesting plugin example if wanted.

Custom Bots (AI) Edit

The bots are programmed in a dll file called rwbyBotAI.dll . This dll file can be replaced, and so replacing the AI. rwbyBotAI.dll can be found in [rwby install directory]\RWBY_GE\rwby-ge_Data\Managed\.

The source code for the dll can be found here It is written in C#. Notes for the project:
.NET framework version: 3.5
Make sure your project is in this version too.
Reference dlls at: [rwby install directory]\RWBY_GE\rwby-ge_Data\Managed\
• UnityEngine.dll
• Assembly-CSharp.dll
• gvkModAPI.dll
Make sure they are not copied: http://imgur.com/GEvYcyJ

The BotAI.cs is the file containing the AI code. Bot.cs is only for getting the bots to work within the game.

You can download and change the code. Once done with your changes then build a new dll. Lastly replace your dll with the rwbyBotAI.dll one in Managed folder.
That is how you can change the AI.

Future support Edit

Shader packs, and maybe animations packs? (not written yet)