Poppa Wheelie Posted December 10 Share Posted December 10 (edited) I just set up Unity in order to do my own IVA editing. More specifically, this setup is for creating new “internals” from existing internals for existing cockpit and command pod parts by adding, removing, and relocating existing props within those internal spaces. I used the step by step guide written by @johnnydope in early 2022. That guide “mostly” worked, but I did have a few issues. And one step is now incorrect (the referenced tool has changed since that post was written). So the procedure written below is a December 2024 update with the latest. The johnnydope post is linked here, for reference. Thanks, Johnny! Spoiler https://forum.kerbalspaceprogram.com/topic/181100-guide-using-unity-to-edit-props-in-iva/#comment-3515677 This process worked for me on a Windows 11 machine, KSP v 1.12.4, December 2024. Unity Setup Guide for IVA Editing Step 1: Download Required Tools Download the following. You need the exact versions listed. Unity Hub Current version, from the website: https://unity.com/download Run the downloaded installer, then register and login Unity 2019.4.18f1 From the website, while logged in with Unity Hub Leave the downloaded installer in your Downloads file for now PartTools_AssetBundles 2019.4.18f1 From: https://forum.kerbalspaceprogram.com/topic/160487-official-parttools/ Run a zip file extraction tool on the downloaded file. This will extract one file. Leave the downloaded zip file, and the extracted file, in your Downloads file for now TextMesh Pro Release 1.0.56 – Unity 2017.3 From: https://archive.org/details/text-mesh-pro-release-1.0.56.2017.3.0b-2-dll-only Leave the downloaded installer in your Downloads file for now ImageMagick Latest version, from the website: https://imagemagick.org/script/download.php Leave the downloaded installer in your Downloads file for now Step 2. Install ImageMagick and Unity Install ImageMagick Run the ImageMagick installer from your Downloads folder If the installer offers you an option to do something like, “Add application to your system path”, select that option If the installer does not offer you that option, or if you’ve already done the install and didn’t select the option (yeah, that was me), then add the imagemagick application to your system path manually (you’ll have to look up how to do this for your system) Close ImageMagick if it is running Install Unity Run the Unity installer from your Downloads folder Note the installed location of Unity Step 3. Unity Hub Setup Open Unity Hub Select Installs from left menu Select Locate, then specify the installed location of Unity Notice that the list should show “2019.4.18f1” Select New Project, then 3D Core Name your project under Project Name, then select Create Project - Unity will now launch Step 4. Unity Config Part 1 From within Unity, select Window from the menu bar, then Package Manager Remove the existing version of TextMeshPro (a version that you do NOT want), by scrolling down the list and finding TextMeshPro, highlighting it, then selecting Remove Allow the un-installation to finish, then close the Package Manager window From the menu bar, select Assets > Import Package > Custom Package Select your downloaded version of TextMesh Pro Release 1.0.56 – Unity 2017.3 When extracted this will be a Unity Package File Select Open, which will open an Import Unity Package window Make sure everything is check marked, then select Import For a second time, select Assets > Import Package > Custom Package After the Import Unity Package window opens, select your PartTools download (the extracted file) Make sure everything is check marked, then select Import Notice a new entry on the menu bar called KSPAssets On the bottom navigation window, go to Assets > Plugins > KSPAssets Highlight KSPAssetCompiler.dll, then look at the right menu Inspector panel, and make sure that the Validate References checkbox is Unchecked Do the same for the KSPAssets.dll (make sure that the checkbox is Unchecked) Close Unity Step 5. KSP Content Setup It took me awhile to figure out what was going on with this step, so let me quickly explain. Hopefully you can avoid my misteps and get this setup right the very first time. You’re going to set up a KSP game instance for the sole purpose of populating the GameData folder of that instance with all of the mods that contain all of the internals and all of the props that you’ll need for your editing. Then you are going to make a copy of that GameData folder, and in that copy you’re going to remove every folder that doesn’t contain internals or props. Unity can’t read all of the stuff you’re going to delete anyway (it threw over 200 errors when I skipped the deleting step). This stripped down copy of GameData will be the source of all internals and props you will use in Unity. So here’s the process: Install a fresh copy of KSP in a folder of your choice, and note the installation directory For this procedure, let’s call this copy of KSP your TEST copy So the GameData folder in this copy is your TEST GameData Add any mods required This includes mods containing the internals or props that you need for your editing This may also include any mods you want to include for testing your edited IVAs Now create a copy of the TEST GameData created in step 5.1 Place this copy of GameData anywhere that makes sense to you and your development process – but do NOT include it in the KSP game instance from step 5.1. You can also name this copy anything you like, or you can leave it named GameData For this procedure, let’s call this copy of GameData your DATA copy (you’ll see why a little later) For the rest of this Unity Setup procedure, you will only be working within this DATA copy of GameData, and all further mentions of GameData refer to this DATA copy In the DATA copy of GameData, delete every folder that does not contain internals or props that you intend to use in your editing Open File Explorer, and navigate to your DATA copy of GameData In the File Explorer address bar, type CMD to get a command prompt window Note that the path showing in the command prompt window should be the location of the DATA copy of your GameData Make sure that you have added ImageMagick to your system path, as mentioned in step 2.1. If you haven’t done this yet, do it now. Then return to this point. (Yes, this is the point at which I figured out that I needed to do this step) Make converted file format copies of your KSP textures for use by Unity by doing this: Copy and paste the following into the command prompt window, then execute it (by hitting Enter). Note that this is slightly different than the text used in the @johnnydope post, or in posts previous to that. FOR /R %f IN (*.dds) DO magick mogrify -verbose -flip -format png "%f" Step 6: Unity Config Part 2 Open Unity Hub, and see your project listed by name Select your project to open it in Unity From the Unity menu bar, select Tools > KSP Part Tools Drag and drop the Part Tools window to the right, beside Inspector (this is a common location for it) Select Set Data Dir, then select the location of your DATA copy of GameData This is why I have referred to this copy of GameData as your DATA copy, because this is where you are pointing Part Tools to as you set this data directory Note that the Spaces and Props menu columns of the KSP Part Tools window are populated If this doesn’t happen, and you get errors in the Console output screen on the lower left, then Unity has found something in your DATA copy of GameData that it cannot read. You’ll need to delete more stuff from the DATA copy of GameData, and try again. OK, one more thought. The reason I suggested referring to the KSP game instance that you set up in step 5.1. as your TEST copy is because you can use that game instance to test the edits you make. That’s it! Good luck! Edited December 10 by Poppa Wheelie Lots of edits, to work around 502 and 503 errors Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.