For a mod to be approved on the repository it needs to be ensured that it does not conflict with any of the original game files. This is to ensure that people’s games continue to work properly, and prevent any mods potentially breaking the game after an update has been released.
There are many ways in which a mod could be overwriting content. If you have been sent here by a moderator then you will usually have been told a specific part of the mod that is an issue, but it is always worth checking all the possibilities to ensure you have the best chance of your mod being approved as soon as possible.
Jbeam internal part names need to be unique in BeamNG, and when copying a part to create a modified version of it you should always make sure this has been renamed to something different. This is to prevent your modified version overwriting the original game’s version of the part, which could cause errors or break the vehicle if the original JBeam is updated.
There can also be multiple JBeam parts in a file, and it is always worth checking if you have copied a part from an existng vehicle that there are not any leftover parts underneath the main part that you have edited. For example, when editing an engine, there may be different intakes or internals available in that same JBeam file located below the main engine part that you haven’t modified, and these will need to be removed before submitting the mod for approval.
When adding parts to or modifying an existing vehicle’s meshes, make sure that you are only including your modified mesh objects when exporting the .dae file. These will also need to be renamed to be unique mesh objects that do not share a name and therefore overwrite an original game mesh. This will ensure that nothing on the original vehicle gets broken accidentally, especially if the vehicle is updated in the future.
When swapping parts between vehicles, it is important to note that you cannot just copy and paste a full vehicle model and material file to the other destination folder. These assets are not always cleared from memory when spawning another vehicle, which could potentially break the appearance of that vehicle if it is used in the same session. This frequently leads to reports of vehicle content being broken when it is actually because it has been overwritten by a mod with an outdated copy of those assets that was used in the same session.
To prevent these issues, make sure you only include the mesh objects that you are using in the .dae file, and ensure the mesh object names along with the material names have been renamed to something unique to your vehicle in 3D software.
This also applies to material files, which should only contain the materials your mod is making use of. These should also have their main key, name and mapTo fields renamed to correspond with what the material assigned to the mesh was changed to in the 3D software. This makes sure that your content is unique and does not get in the way of any existing BeamNG content files.
If you find yourself working on a mod that does overwrite existing content you may need to try and find a different way to implement your idea if you would like to be able to upload the mod to the repository still.
For example, any vehicle parts that need to add something to an existing official part may need to instead be implemented as an alternate version of the part with the changes made. While this may be less convenient, it ensures that the vehicle will not be broken if it were to ever be updated in a future game update.
If you cannot find a way to implement your mod without overwriting stock content at all then you may need to consider posting it to the Forums section of the BeamNG site instead of the repository. Mods there do not need to abide by the standards of the repo and therefore more experimental or unstable mods, as well as those replacing parts of the game can be posted there.
Was this article helpful?