@Kishore0115 Not sure what the exact plan is yet with mobile and Planet Studio. Downloading new planets and systems should be supported on mobile though, as long as the device can handle the memory and processing requirements of those planets.
That looks like an old laptop with some old integrated video. You can try updating your graphics drivers if they are out of date. Its possible that it might not meet our minimum requirement of needing DirectX 11 support...
@OldCoach 2019.2.3 is the correct one on the archive page. I'd recommend using the Unity hub option. If not that, use the Unity installer. You need the build components for Mac, but you don't need the Unity editor for Mac. The Mac components are needed so that when the mod is built, it can build the Mac specific stuff that allows SR2 players on Mac to use your mod.
Sorry to hear you are having trouble. After the issue occurs again, can you provide us with your game's log file (via pastebin.com or dropbox or something similar)?
The game log file should be located here:
%USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\player.log
@Hypr Have you tried getting the element by its type, rather than the generic XmlElement? Depends on the type you are working with, but try something like this: GetElementById<TMPro.TMP_InputField>
@Feluxution Are you getting any errors in the log? Did you try downloading the full project zip at the end of this post, checking whether it works, and comparing with yours to see what (if anything) is different?
I'd recommend voting on the bug report related to auto-staging. Voting on stuff helps us prioritize our work, focusing on the features & bug fixes the community is most interested in seeing.
@SoccerFox586 @NoIDontWanna @TitanIncorporated @Revolt
99% of the game is done in C# since we are using Unity. I've done a tiny bit of Java for some Android specific stuff and I've done a small bit of C++ for some of our noise library stuff. I believe Andrew has used some .NET for a small utility working with screenshots on Windows. The website is all ASP.NET and Javascript I believe.
That being said... On mobile, we use Unity's IL2CPP technology when building the game, which basically translates all that C# code into C++. IL2CPP is the only option for 64-bit builds on mobile, which both app stores have now made as a requirement. Unfortunately due to this, we can no longer support mods on mobile like we used to with SimplePlanes on Android.
Right-click on the game in your library and select 'Properties'. On the 'Local Files' tab, click the 'Browse Local Files' button. It should open the folder where SR2 is installed. Run SimpleRockets2.exe to launch the game without Steam.
Depends on where your code is running and what you need. If you are working with a PartModifierScript, there may be a few options. It is a MonoBehaviour, so you can always use OnDestroyed or OnDisabled. There is an overrideable method, OnPartDestroyed, that I believe gets called if the part is destroyed/blown-up in game, despite the game object potentially hanging around (deactivated) for a while. There is also an OnDisposed method, can't remember the exact context in which it gets called.
So %USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\ exists but the Settings.xml file does not? If you don't have any craft or saved games you care about saving, you could try deleting that whole folder: %USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\
Sorry to hear you are having trouble. After the issue occurs again, can you provide us with your game's log file (via pastebin.com or dropbox or something similar)?
The game log file should be located here:
%USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\output_log.txt
@ruivaz I am really sorry for the delay... I've been out of the office. Can you try deleting the following file and see if the game will then load properly?
Sorry to hear you are having trouble. After the issue occurs again, can you provide us with your game's log file (via pastebin.com or dropbox or something similar)?
The game log file should be located here:
%USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\output_log.txt
@Hypr Those are not magic strings, its just part of the API for the game. Stuff like altitude data can be found on the FlightData class of the player's CraftScript. For example...
@NoName101 More details? Are you trying to make a custom detacher? Existing detacher not working with a custom engine? Do you have a link to the mod and an example craft that demonstrates the problem?
@Adraesh I'm not sure... Is it possible its not been created yet? Maybe trying to early in the first frame or something? Or has another error been thrown first which is causing a cascade of errors?
@Adraesh
Yes, sorry... forgot to mention that detail. I was hooking into SceneLoaded in the OnModInitialized() method.
I went ahead and posted some of my testing code on pastebin. Its not a complete picture but maybe it could help a bit. Let me know if you have any more questions.
1. In this particular test case, I hooked into the SceneLoaded event: Game.Instance.SceneManager.SceneLoaded. We also have some UI specific events on Game.Instance.UserInterface such as OnUserInterfaceLoading and OnUserInterfaceLoaded.
2. This is a little tricky. There are a few ways to investigate the game object hierarchy. We ship the XML UIs with the mod tools for reference. I believe any "name" attribute value in the UI XML will be used for the game object name of the UI element. Another other option, though tedious, would be to use the dev console. Open up the dev console (no keybinding by default), type "Help" then click on the entry that pops up. The help text should explain a bit on how to use it, but basically, you can search through the game object hierarchy using forwards slashes and game object names. You can also use it to find components on each of these game objects. Another option would be to just write some code in your mod that you can execute to dump the current game object hierarchy to the log or an external file.
3. The new UI component will be added as the last child under the specified parent, however, you can set the parent order using SetSiblingIndex on the transform. I did something similar in the test case from which I pulled the example code below. I used this line following the creation of the menuButtonScript: menuButtonScript.transform.SetAsFirstSibling();
The (XmlLayoutController) cast should be ok, but I wouldn't think it would be necessary. In my case, the MainMenuModButtonScript was a custom MonoBehaviour that I wrote, so the OnLayoutRebuilt() that I called could have been named anything or taken any parameter I wanted.
@Adraesh Debugging is tricky, especially UI. I don't have any great advice... If the DesignerUIController is causing you trouble, you could use your own controller. Here is some quick code I wrote to add a new button to the main menu, with the button being made up from the UI XML in "SR2TestMod/Xml/MainMenuModButton" and the controller being the "MainMenuModButtonScript" class. The "GameMenu" transform lookup is to find the parent transform for the new UI.
var menuButtonScript = Game.Instance.UserInterface.BuildUserInterfaceFromResource<MainMenuModButtonScript>(
"SR2TestMod/Xml/MainMenuModButton",
(s, c) => s.OnLayoutRebuilt(c.XmlLayout),
Game.Instance.UserInterface.Transform.Find("GameMenu"));
edit: looks like the website messed up my formatting...
@Mrmaraunet Those stack traces look like they errors are coming from Unity's code, not ours. No idea what is causing it. That prefab you posted definitely looks corrupted. I've not seen that happen before...
@swope All the level related interfaces and base classes should be in the ModApi I believe. I think the only change that would be needed to properly support this is a way to register the level with the game's level manager (which could easily be done now with a little bit of reflection). Its never been tested though. We had proper support for custom levels in the SimplePlanes mod tools and I don't know if anybody ever took advantage of it... If its something people would like for SR2 though, I can certainly look into proper support for it.
@Mrmaraunet stack traces help tell you where the error is coming from. A couple of those errors you posted look like the first line of a stack trace. That might be all there is, but if there are additional lines directly below, it might help narrow down the source and possibly the cause.
Andrew is very busy right now.. I talked to him a couple days ago about this. I'm going to see what can be done about making the procedural rocket engine stuff easier for mods to integrate with. Its not going to happen this week though. Might take some time and some changes on our end. Probably won't make the 0.7.2 release, but maybe we can have it ready for the 0.7.3 release.
@pedro16797 I am a little less concerned with conflicts (with part modifiers) since the 0.7.2.1 update as I have started prefixing the custom part modifiers with the mod name in the XML.
@Brields95 People are welcome to try and port mods between the two, but it will be more involved than copying/pasting files, as so much as changed with SR2 since SP.
@JastroOne1 Great work on ESS! I look forward to seeing it uploaded.
4.7 years ago@Kishore0115 Not sure what the exact plan is yet with mobile and Planet Studio. Downloading new planets and systems should be supported on mobile though, as long as the device can handle the memory and processing requirements of those planets.
4.7 years agoIt takes what it needs when it needs it
+2 4.7 years agoThat looks like an old laptop with some old integrated video. You can try updating your graphics drivers if they are out of date. Its possible that it might not meet our minimum requirement of needing DirectX 11 support...
4.7 years agoWhat device are you running on?
4.8 years ago@OldCoach 2019.2.3 is the correct one on the archive page. I'd recommend using the Unity hub option. If not that, use the Unity installer. You need the build components for Mac, but you don't need the Unity editor for Mac. The Mac components are needed so that when the mod is built, it can build the Mac specific stuff that allows SR2 players on Mac to use your mod.
4.8 years agoSorry to hear you are having trouble. After the issue occurs again, can you provide us with your game's log file (via pastebin.com or dropbox or something similar)?
The game log file should be located here:
4.8 years ago%USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\player.log
Wow! Looks amazing guys, keep up the good work!
4.9 years ago@Hypr Have you tried getting the element by its type, rather than the generic XmlElement? Depends on the type you are working with, but try something like this: GetElementById<TMPro.TMP_InputField>
4.9 years agoTry downloading and installing the Microsoft Visual C++ Redistributable for Visual Studio 2017. Direct link: https://aka.ms/vs/15/release/vc_redist.x64.exe.
4.9 years ago@Feluxution Are you getting any errors in the log? Did you try downloading the full project zip at the end of this post, checking whether it works, and comparing with yours to see what (if anything) is different?
+1 5.0 years agoI'd recommend voting on the bug report related to auto-staging. Voting on stuff helps us prioritize our work, focusing on the features & bug fixes the community is most interested in seeing.
5.0 years ago@SoccerFox586 @NoIDontWanna @TitanIncorporated @Revolt
https://www.simplerockets.com/Feedback/View/4jm79u/Auto-staging-needs-improvement
99% of the game is done in C# since we are using Unity. I've done a tiny bit of Java for some Android specific stuff and I've done a small bit of C++ for some of our noise library stuff. I believe Andrew has used some .NET for a small utility working with screenshots on Windows. The website is all ASP.NET and Javascript I believe.
+7 5.0 years agoThat being said... On mobile, we use Unity's IL2CPP technology when building the game, which basically translates all that C# code into C++. IL2CPP is the only option for 64-bit builds on mobile, which both app stores have now made as a requirement. Unfortunately due to this, we can no longer support mods on mobile like we used to with SimplePlanes on Android.
If you have an easily reproducible scenario, please upload it as a bug report with any steps necessary on how to reproduce the issue.
5.1 years agoDid you try running the game as an Administrator?
5.1 years agoYou guys are doing an amazing job!
+2 5.1 years agoCan you access SimpleRockets.com on this same computer outside of the game? Can you access it via the Steam overlay browser while in game?
5.1 years agoRight-click on the game in your library and select 'Properties'. On the 'Local Files' tab, click the 'Browse Local Files' button. It should open the folder where SR2 is installed. Run SimpleRockets2.exe to launch the game without Steam.
+1 5.1 years agoAlso try launching the game without using Steam, see if that makes a difference. If not, try doing the same thing but running it as an administrator.
5.1 years agoIf you do a Debug.Log in the awake and/or start methods of your script, can you find them in your log file (or see them in the dev console?)
5.1 years agoCan you access SimpleRockets.com on this same computer outside of the game? Can you access it via the Steam overlay browser while in game?
5.1 years agoAre you running any anti-virus or firewall software?
5.1 years agoAre you running any anti-virus or firewall software?
5.1 years agoAfter the issue occurs again, can you provide us with your game's log file (via pastebin.com or dropbox or something similar)?
The game log file should be located here:
%USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\player.log
When not warping, regular Unity physics are used, so if you want to modify velocity, you could add force to the parts associated Rigidbody.
+1 5.1 years agoDepends on where your code is running and what you need. If you are working with a PartModifierScript, there may be a few options. It is a MonoBehaviour, so you can always use OnDestroyed or OnDisabled. There is an overrideable method, OnPartDestroyed, that I believe gets called if the part is destroyed/blown-up in game, despite the game object potentially hanging around (deactivated) for a while. There is also an OnDisposed method, can't remember the exact context in which it gets called.
+1 5.1 years ago@Dogfish5550 Sorry, that link doesn't work. Looks like it expired maybe?
5.1 years agoSo %USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\ exists but the Settings.xml file does not? If you don't have any craft or saved games you care about saving, you could try deleting that whole folder: %USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\
5.1 years agoTry deleting your Settings.xml file and launching the game again.
5.1 years ago%USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\Settings.xml
Sorry to hear you are having trouble. After the issue occurs again, can you provide us with your game's log file (via pastebin.com or dropbox or something similar)?
5.1 years agoThe game log file should be located here:
%USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\output_log.txt
@GongJiTianZhuZhuYiLianMengDang No mod support on mobile unfortunately, sorry.
5.3 years ago@ruivaz I am really sorry for the delay... I've been out of the office. Can you try deleting the following file and see if the game will then load properly?
%USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\ControlInputData.xml
5.3 years agoSorry to hear you are having trouble. After the issue occurs again, can you provide us with your game's log file (via pastebin.com or dropbox or something similar)?
The game log file should be located here:
5.3 years ago%USERPROFILE%\AppData\LocalLow\Jundroo\SimpleRockets 2\output_log.txt
@Hypr Those are not magic strings, its just part of the API for the game. Stuff like altitude data can be found on the FlightData class of the player's CraftScript. For example...
+1 5.3 years agoThe crashing should hopefully be fixed in the current release (version 0.7.3.2).
5.4 years ago@pedro16797 Thank you for the reminder. I completely forgot.
5.4 years ago@NoName101 More details? Are you trying to make a custom detacher? Existing detacher not working with a custom engine? Do you have a link to the mod and an example craft that demonstrates the problem?
5.4 years ago@Adraesh I'm not sure... Is it possible its not been created yet? Maybe trying to early in the first frame or something? Or has another error been thrown first which is causing a cascade of errors?
5.4 years ago@Adraesh
5.4 years agoYes, sorry... forgot to mention that detail. I was hooking into SceneLoaded in the OnModInitialized() method.
I went ahead and posted some of my testing code on pastebin. Its not a complete picture but maybe it could help a bit. Let me know if you have any more questions.
Assets.Scripts.Mod
Assets.Scripts.Ui.MainMenuModButtonScript
Assets.Scripts.Ui.ModTestDialogScript
MainMenuModButton.xml
ModTestDialog.xml
@Adraesh
5.4 years ago1. In this particular test case, I hooked into the SceneLoaded event:
Game.Instance.SceneManager.SceneLoaded
. We also have some UI specific events onGame.Instance.UserInterface
such asOnUserInterfaceLoading
andOnUserInterfaceLoaded
.2. This is a little tricky. There are a few ways to investigate the game object hierarchy. We ship the XML UIs with the mod tools for reference. I believe any "name" attribute value in the UI XML will be used for the game object name of the UI element. Another other option, though tedious, would be to use the dev console. Open up the dev console (no keybinding by default), type "Help" then click on the entry that pops up. The help text should explain a bit on how to use it, but basically, you can search through the game object hierarchy using forwards slashes and game object names. You can also use it to find components on each of these game objects. Another option would be to just write some code in your mod that you can execute to dump the current game object hierarchy to the log or an external file.
3. The new UI component will be added as the last child under the specified parent, however, you can set the parent order using SetSiblingIndex on the transform. I did something similar in the test case from which I pulled the example code below. I used this line following the creation of the menuButtonScript:
menuButtonScript.transform.SetAsFirstSibling();
The (XmlLayoutController) cast should be ok, but I wouldn't think it would be necessary. In my case, the MainMenuModButtonScript was a custom MonoBehaviour that I wrote, so the OnLayoutRebuilt() that I called could have been named anything or taken any parameter I wanted.
@Adraesh Debugging is tricky, especially UI. I don't have any great advice... If the DesignerUIController is causing you trouble, you could use your own controller. Here is some quick code I wrote to add a new button to the main menu, with the button being made up from the UI XML in "SR2TestMod/Xml/MainMenuModButton" and the controller being the "MainMenuModButtonScript" class. The "GameMenu" transform lookup is to find the parent transform for the new UI.
var menuButtonScript = Game.Instance.UserInterface.BuildUserInterfaceFromResource<MainMenuModButtonScript>(
"SR2TestMod/Xml/MainMenuModButton",
(s, c) => s.OnLayoutRebuilt(c.XmlLayout),
Game.Instance.UserInterface.Transform.Find("GameMenu"));
edit: looks like the website messed up my formatting...
+1 5.4 years ago@Adraesh Not sure what is going wrong, but if you would like to zip up and send me your mod project, I'd be happy to take a look.
5.4 years ago@Mrmaraunet Those stack traces look like they errors are coming from Unity's code, not ours. No idea what is causing it. That prefab you posted definitely looks corrupted. I've not seen that happen before...
5.4 years ago@swope All the level related interfaces and base classes should be in the ModApi I believe. I think the only change that would be needed to properly support this is a way to register the level with the game's level manager (which could easily be done now with a little bit of reflection). Its never been tested though. We had proper support for custom levels in the SimplePlanes mod tools and I don't know if anybody ever took advantage of it... If its something people would like for SR2 though, I can certainly look into proper support for it.
+1 5.4 years ago@Mrmaraunet stack traces help tell you where the error is coming from. A couple of those errors you posted look like the first line of a stack trace. That might be all there is, but if there are additional lines directly below, it might help narrow down the source and possibly the cause.
5.4 years agoI assume you are using Unity 2018.3.8f1? If there are any stack traces to go along with those errors, please post those as well.
5.4 years ago@MartianSoil Yes, Mono is required. Mod support will not work with IL2CPP
5.4 years ago@MarioG I was hoping we could put something in place so that you could leverage the existing stock exhausts.
+1 5.4 years agoAndrew is very busy right now.. I talked to him a couple days ago about this. I'm going to see what can be done about making the procedural rocket engine stuff easier for mods to integrate with. Its not going to happen this week though. Might take some time and some changes on our end. Probably won't make the 0.7.2 release, but maybe we can have it ready for the 0.7.3 release.
+3 5.4 years ago@pedro16797 I am a little less concerned with conflicts (with part modifiers) since the 0.7.2.1 update as I have started prefixing the custom part modifiers with the mod name in the XML.
5.4 years ago@Brields95 People are welcome to try and port mods between the two, but it will be more involved than copying/pasting files, as so much as changed with SR2 since SP.
5.4 years ago