meta data for this page
Ingaming Guideline Ropeways - Advanced
In this tutorial you will learn how to ingame a detachable ropeway. If you have no experience in the field of ingaming, then work through the Beginner Guideline first.
Please make sure that Unity 2019.1.14f1 and the Modding SDK are correctly installed!
To edit the datatables it is recommended to download Visual Studio Code.
Chapters in this article:
1. First, you create a folder for your project. To do this, go to the folder in which you installed the Modding SDK. In my case, that's
C:\Desktop\Unity Modding. Next you follow the path
Assets\Mods and create a folder with the name of your project. For example
2. In order to have a better overview, you should create individual subfolders. For example:
3. Perfect. Next you need to copy some scripts from the SDK. The path
Assets\WinterResortSimulator-SDK\DataTables takes you to the datatables.
Then you go to the folders
supports and copy one script each into your project folder. In my case I need the scripts
An explanation of the scripts can be found here.
4. To load your mod you need the
mod.lua, you can find it under the following path:
Assets\WinterResortSimulator-SDK\Template. Copy them and add them to the
5. If you have already textured your 3d models in Blender, you can drag the textures into your
It is important that the files have the same name as in Blender. If this is not the case, the textures won't be displayed on the 3d model.
6. Next, you drag your 3d models into the folder
7. Now you can open Unity. The path
Assets\Mods\Tappenalm\3d models takes you to your 3d models.
8. Select all 3d models and uncheck the boxes
Import Cameras and
Import Lights in the inspector area and check the boxes
Read/Write Enabled and
Generate Collieders. Then click the
Apply button to save the settings.
9. Finally, you drag your 3d models individually onto the
Scene and then drag them to the folder
Tappenalm. Unity will now ask you if you want to create a prefab, just click the button
Prefab Variant and rename the file, in my case to
10. If you double click on one of the prefab files you will open the file. Now you can assign materials with texture to your 3d models. Each step is saved automatically by Unity, and this feature enabled by default.
11. Next, name all the parts of your 3d model correctly, create subfolders if necessary and put everything in a meaningful sequence. This step is not absolutely necessary, but you will have a better overview yourself and players will be able to customize your ropeway more easily with the “Ropeway Customizer” modification (available for download on the steam workshop).
12. The last thing you do is create an assetbundle for your mod. Just click on the assetbundle line in the lower right corner and create a new assetbundle. In my case, I call my assetbundle
It is important that the AssetBundle ends with
Now select the AssetBundle you just created for all other files for your mod.
Perfect, now you are completely set up and you can start with ingaming!
At first, we create the prefab for our carrier. After we done this, we put our Materials on our mesh.
Now write the name of your prefab in the passage called “prefab”:
After we’ve done this, you have to figure out the Index from our suspension like it’s shown in the picture:
Now we will paste the index from our Suspension in the passage
rotXIndex. Important: Parent your 3d model like this:
Now just put the index of your suspension in this passage.
Now, create your door (or bar) animation and put the index of your mesh or empty where you put your animation component on it:
That’s how the animation part in the data table should look right now:
Now we will register the Number Labels in the data table, now it should look like this:
Now, that our carrier are already numbered you must of course still be able to sit in there. For this we Create an Empty and put a Box Collider on it, after you’ve done this, scale the collider and place it. Then crate two other emptys, one of them you call “cam” and the other one “leave”. After that you have to place the empty “cam” as you would like to have your camera for the seat. Now you place the empty “leave” slightly below the seat so that you don't get stuck in the ceiling of the cabin when you get out. Right away it should look like this:
Subsequently we register the Indexes from the seats. For this, we take the parent from the seat and register it right here:
Next, we take the index of the we empty called “cam”, and register it here:
We do the same thing with the “leave” Empty and put it in here:
Afterwards, copy the seats as many times as you need them for a carrier, in this case 6 pieces:
Since we’ve done this, we create two emptys, one of them we call “ExterieurCameraRoot” and the other one “ExterieurCamera” and parent it like this:
Put the Indexes in like this:
Now, you have a working Camera :).
Additional: If you want to have Static Cameras, just create an Empty and call it
ExCam_xy and Place it like this:
That’s how the line in the data table should look like:
Last you have to place the seats for the NPC’s. For this, you create an empty called “skier_xy” and place it where you want your NPC's to sit, as with the seats, you must create as many of these as your carrier can hold. Prent it like this:
The only thing that’s left is to is to register everything in the
mod.lua an create an Asset Bundle!
Congratulations, you ingamed your first carrier! :)
If you want to use the DLC Control put these two lines in your data table:
controlClass = DoppelmayrControl,
cenConform = true, If you want your cableway to be Cen compliant (with Danger Buttons).
cenConform = false, If you don't want your cableway to be Cen conform (with Emergency Stop Buttons).
Structure of the pushbutton
Each pushbutton is a GameObject, which is constructed as follows:
NameOfTheButton, see below = The base of the button. It also contains the animation and the trigger with which the click is caught).
B5P_Button (= Object that is clicked)
ButtonLabel (= The button label):
Structure of the LEDs
Each LED is a GameObject, which is structured as follows: NameOfTheLEDs, see below (= Here is the animation and the trigger with which the click is caught). B5P_Button = Object, to which the game assigns the correct material e.g. red For Gefahraus) ButtonLabel (= The label of the LED):
Structure of the switches
Each switch is a GameObject, which is structured as follows: NameOfSwitch, see below (= The socket of the switch. It also contains the trigger with which the click is caught). B5KRL_Button (= The actual switch) SwitchLabel (= The switch label) And some more rot labels:
Names for Buttons and Switches
|Button (B) & Switch (S) Names||Game Object|
|Control Voltage (S)||ControlOn|
|Driving Direction (S)||Direction|
|Automatic start (S)||AutomaticLaunching|
|Slow Speed (S)||Slow|
|Driving Speed (S)||DrivingSpeed|
|Emergency Stop (B)||SD3|
|Danger Without Fast Conclusion (B)||SD2|
|Danger With Fast Conclusion (B)||SD4|
|Danger 2 (B)||SD5|
|Lamp Test (B)||LampTest|
|Horn acknowledgement (B)||ResetHorn|
|Operating brake Closed||LEDBrakeEBClosed|
|Operation Brake Opened||LEDBrakeEBOpen|
|Safety brake Closed||LEDBrakeSBClosed|
|Control Voltage On||LEDControlsOn|
|Driving speed 0||LEDZeroSpeed|
|Driving out DST without fast closing||LEDSD_2DST|
|Driving out DST with fast closing||LEDSD_4DST|
|Emergency Stop RST||LEDSD_3DST|
|Driving out DST without fast closing||LEDSD_2RST|
|Driving out DST with fast closing||LEDSD_4RST|
At first Create a prefab.
This article is still under development
In case you are facing difficulties, feel free to reach out to our modding community on the official WRS discord server in the