Since I noticed no one has really mapped out and explained all of the developer.exe's features, I'd thought I'd do it myself. I finished the change galaxy menu today, I'll add the rest as I have time.
Tested on Diplomacy 1.21/1.31 against normal/hard AI on a 1v1 map. Most remains accurate for Rebellion.
Basic Information
The Developer.exe is a modding tool that can be found in your main Sins of a Solar Empire folder along with the regular game.exe. There is one for each version of Sins you have, and are named Sins of a Solar Empire [Version] Dev.exe. They are updated automatically with the base game via Impulse or Steam.
Most features of the Developer are accessed through a special menu that is brought up by pressing [ctrl+shift+.]. Their effects are defined below. All the commands should work the same on all versions of Sins, though some features may not be present in all versions.
For Rebellion, the above still holds true, but the install directory is in your steamapp folder. Also the dev.exe has its own mod folder in Rebellion, so for testing mods you must start the dev.exe once to create the mod folder, then move any mods you're working with to the newly created dev mod folder.
Special Features
In addition to the commands that are defined below, the Developer.exe has several built in special features that are always active are a big help with testing mods. These include.
Show Errors and Logging: On starting the Developer.exe for the first time, the game will rewrite your settings file. Your achievements will be okay but most other information, including hot keys, player name, resolution settings etc. all return to default, so make a back up of your user/diplomacyuser files so you paste them back into your App Data Settings folder when you are done. While this is a pain, this will allow the Dev.exe to display any errors it encounter in game right when it encounters them, which is crucial for debugging mods. Also the Dev generates a log of these error messages and tons of other useful info in your AppData debug folder (the log name is displayed on the Dev menu bar). These two features are really the only way to get useful data about crashes, so learn to use them.
Update: As of Rebellion version 1.84, the dev.exe has its own set of setting, camera and UI mapping files. It will no longer override your standard settings file. Earlier versions and expansions will have the dev.exe replace these files.
File reloading: The Dev.exe supports the reloading of several file types in game. This means if you change one of these supported file types in a mod, the game will immediately reload the file with any changes on the spot. For things like entity weapon visual settings, textures and other files where you really have to see the effects in the game engine, this saves you a ton of time that would have been wasting by exiting and relaunching Sins every time you had to make a change. Supported file types include (though there may be others) all entities, textures (though some visuals like tech trees and most UI are only generated at the beginning of the game and thus this doesn't help you), meshes, and string files. Note .manifest files do not reload, so if you need to add an entirely new file you still need to exit the game.
Change Galaxy Menu [a]
Note: Most if not all commands in this menu will result in a desync if used in a multiplayer game. You can still play the game but spawned units and the like will not be visible to the other player. Things like Setup Quick Play and Overrides may work better, but try to have you and your friends apply them at the same time to try and avoid problems.
[a] - Setup Quick Play: Triggers a variety of factors for faster gameplay. All build times are set to zero, planet slots are ignored, all research is given (including artifacts), 1000000 of each resource is given, and game speeds are increased. Essentially a one click trainer mode.
[b] - Overrides Menu: Contains several useful toggle options.
- [a] - All Entities Detected: Toggles the ability to detect all entities regardless of whether you have a unit in the gravity well or not. It also reveals unexplored planets. Good for map testing/analysis.
- [b] - Damage disabled: Prevents any entity from taking damage. Unlike the invulnerability buff units will still attack and use abilities as normal. Good for testing weapon effects or watching long battles.
- [c] - Hyperspace Disabled: Prevents all units from phase jumping to a different planet. Note since it doesn't apply the phase jump disabled buff the AI will still attempt to retreat, but will just sit at the edge of the gravity well instead of jumping. To fix this, just switch active player, disable the AI and give those units a new order.
- [d] - Instant Build times: All ships, structures, upgrades, strikecraft etc. build times are built near instantly.
- [e] - Instant Ability Cooldowns: All ability cooldowns set to zero.
- [f] - No slot Restriction: Structures can be built regardless of planet slot restrictions.
- [g] - Infinite Antimatter: Slightly misleading, it sets all antimatter costs to zero.
- [h] - Max Planet Population: Instantly gives each planet the maximum available population. Note this is not the maximum for that planet overall, but the maximum for that planet population upgrade. For that, use the give all planet upgrades command.
- [i] - Weapons Disabled: This is misleading because it only prevents each ship from firing at any new targets it acquires. Old attack orders will still be carried out and weapons will still fire at other ships that aren't being target. Thus its most useless. Better to just set auto attack off for all ships involved.
[c] - Change Entity Menu: Contains several useful commands that will be applied to a selected entity or entities.
- [a] - Damage: Damages the selected entity. Seems to a certain percent of total hull and/or shields, perhaps 20%. Can be used on planets as well. If the entity's hit points would be set to 0, it is destroyed.
- [b] - Kill: Instantly destroys the selected entity. Cannot be used on planets.
- [c] - Kill All Pirates: Instantly destroyers all pirate ships and defeats the pirate player (thus no more pirate raids). Pirate bases become colonizeable but any pirate structures (like turrets) remain.
- [d] - Spawn Pirate Raid: Instantly triggers a pirate raid if pirates are still active. Useful for testing pirate mods.
- [e] - Colonize Planet: Immediately colonizes the selected planet for your current player.
- [f] - Give Experience: Raises the targeted capitalship's level by one point.
- [g] - Give all planet upgrades: Gives the selected planet all available upgrades. Won't change your capital unless you don't have one.
- [h] - Remove all buffs: Removes all buff effects from the targeted entity. Note passive abilities will just immediately be reapplied.
- [i] - physics drifting testbed: Needs to be used on a fleet, it takes all the ships and sends them back to previous fleet point, where the AI then attempts to rebuild the formation. Good for working out clipping or fleet positioning issues.
- [j] - Change Asteroids: Allows you to change the type of aesthetic asteroids in the particular gravity. You can even set things not possible for that entity type, like an asteroid field within a terran gravity well. Good for cinematic shots.
- [k] - Change Dustclouds: Like change asteroids, allows you to change the aesthetic dust clouds in a gravity well. Not as noticeable however, and sadly rings are not included.
- [l] - RotateEntity: Rotates the selected entity clockwise while you hold the button down. Useful for immobile entities like structures, and can even be used to speed up planet rotation.
[d] - Change Player Menu: Contains several options to manipulate player settings.
- [a] - Change Active Player: Changes which player you are in control of. Rather than selecting a particular player, player 0 will become player 1 etc. and then wrap around each.
- [b] - Change active player isAI: Toggles AI on or off for whatever player you are controlling. Can be used to disable a player momentarily, observe the AI's commands or play with an assistant AI.
- [c] - Change Race: Changes the current player's race in alphabetical order of the player.entity files. While existing units won't be changed, shipyards, research lab etc. seem to carry over. Note this may cause minidumps (especially since you can select the pirates this way) and should be avoided.
- [d] - Change Color: Switches between the various player colors, even if they are already used.
- [e] - Change theme: Switches between the various player symbols, even if they are already used.
- [f] - Change Picture: Switches between the various player pictures for that faction.
- [g] - Give Resources: Gives all players 1000 metal and crystal.
- [h] - Give Credits: Gives all players 1000 credits.
- [i] - Give All research: Give all players all research, except for artifacts.
[e] - Change AI Menu: Options to adjust the AI. Some options and perhaps this whole menu is for Diplomacy only
- [a] AI Disabled - Allows you to disable or enable all AI players.*
- [b] Auto Cast Disabled - Allows you to enable or disable autocast on all entities.*
- [c] Auto Attack Disabled - Enables or Disables auto attack on most units. Units that have manually had this setting changed or have auto attack disabled by default seem unaffected.*
- [d] AI Always Accepts Alliances - Toggle that forces the AI to accept your alliances, regardless of diplomatic status. May not work on locked teams.*
- [e] Give Relationship - Increases your relationship status with all players by 0.1.*
- [f] Take Relationship - Decreases your relationship status with all players by 0.1.*
- [g] Give Envoy Bonus - Increases the envoy bonus relations modifier with all players by 0.5.*
- [h] Give Quest - Not sure what this is, selecting it had no visible effect.
- [i] Send Taunt - Not sure what this is, selecting it had no visible effect.
[f] - Spawn Entity: Allows you to spawn capitalships, frigates, planet bonuses, cannon shells, or debris for a selected player. Options are populated from the player.entity file. Very useful for spawning specific units or fleets to test.
[g] - Single Step: Allows you to move the game by one frame while paused.*
[h] - AutoSingleStepRate: Sets the game to automatically do x amount of single steps while the game is paused. Essentially puts the game in slow motion for low values, begins to look like lag for higher ones.*
[i] - Take Screenshot on singlestep: Toggles whether you want the game to take a screenshot with a manual single step.*
[j] - Change Build Speed: Switches the build speed setting in game.
[k] - Change Culture Speed: Switches the culture rate setting in game.
[l] - Change income rate speed: Switches the income rate setting in game.
[m] - Change Research Speed: Switches the research speed setting in game.
[n] - Change physics Speed: Switches the physics speed option in game.
[o] - Change Fleet Supply Scalar: Switches the fleet supply setting in game.
[p] - Spawn Random Event: Lets you spawn most of the random events if you have the Stellar Phenomenon DLC. Only the Partisans and Open Rebellion events are unavailable, but the new culture flip option in change entity allows you to test that one.
Overlays Menu [b]
Note: All commands in the Overlays section are toggles for windows that show various statistics. Some do overlap and can be difficult to use all at once. I assume it is safe to use these in a multiplayer game.
[a] - Show FPS: Brings up a one line window in the upper left behind the Dev commands window. Displays your frames per second, good for performance testing.
[b] - Show Profiler: Not entirely sure what this is for. Brings up a window in the upper left (behind Show FPS) that says something about nodes, worst time and call count. Since I had zero nodes while testing I was unable to see what it does.
[c] - Show Memory: This gave me a one line window where Show FPS was with a red error message saying "No Memory Info Available". Thus I was unable to figure out what this displays. If this function works on someones machine please leave a post detailing the statistics it displays.
[d] - Show Entity Type Counts: A very useful large window on the middle right that displays the number of each type of entity (stars, frigates, research, abilities, buffs etc.) currently in the game. Can be used for map testing, AI analysis, ability testing, anything where the number of an entity type is important.
[e] - Show Times: A small window in the upper left below show FPS and in front of Show Profiler. It seems to display the number of real and game (non-paused) seconds that have elapsed, as well as something about "Queued Ticks"(?).
[f] - Show Network State: Creates a large menu in the upper left below show FPS and in front of Show Profiler and Show Times. Gives ICO and LAN status, server status, and some statistics about each player like latency, Sim Updates etc. Must have for network/lag troubleshooting.
[g] - Show Commands: Toggles a very large window on the right over the Show Entity Type Counts menu. Seems to count the number of times a large list of commands (Ping, purchase capitalship level etc.) have occurred in the current game.
[h] - Show Client Update Status: No window appeared after enabling this. I suspect it may only work in network/ICO games.*
[i] - Show Effect Status: Brings up a window in the central upper part of the screen that counts the number of all categories of various effects, the number of those effects that have been terminated, and most importantly the memory usage of each category. Useful for identifying which effects types are slowing your mod down.
[j] - Show Particles Status: Brings up a large window in the upper left below FPS and in front of all the previous commands. Shows a lot of statistics about individual particle effects, including which ones are actively being rendered, a count of the current particle and simulation pool, which particles are using the most memory, and the total number of each specific particles both on screen and generated gamewide. Somewhat overlaps show effects status but since the window background is partly transparent they should be useable together.
[k] - Show Bloom Composition Steps: Brings up four red boxes in the upper left screen in front of everything. It seems to be a mini-rendering window that shows just the bloom on your current screen at different resolutions (if you have it enabled). I'm sure its uses are obvious to someone who knows what exactly bloom is and wants to mod it.
[l] - Show Shaders: Brings up a window in the middle right above Entity Type Counts and Commands. It shows all the shaders being used by the game and the "technique" they are being used with.
[m] - Show Direct3D setup: Toggles a menu in the very upper right in front of everything except show shaders. Gives your resolution, device type, and other statistics that would presumably be useful for Direct3D troubleshooting.
[n] - Show Textures: Brings up a large menu starting from the upper left that shows the total amount of loaded textures and the amount of memory they are using. It also shows the "worst textures" that take up the most memory (the Advent Starbase seems to win by a large margin) and some statistics about them. Extremely useful for optimizing textures.
[o] - Show Sounds: Toggles a menu in the upper left hand corner that oddly displays CPU usage as well as sound channel information, the number of sounds currently playing, and the channel and volume of each sound.
[p] - Show Music: Brings up a menu in the upper right behind everything but show entity types and commands. Show the currently playing track, the current action and emotion levels, some statistics that determine these, and the track playing at each location you have visited and how many seconds of each track that have already played. A must have for configuring custom music, or just trying to understand how the music system works.
[q] - Show Entity Create Counts: Brings up a window across the entire left screen that shows the number of each individual entity created so far in the game, starting with the ones that have the most. Note that this can cause an extreme performance decrease (I went from 60 fps to 10) while this is shown, so you should only use it while paused. Very useful for tracking a specific entity in the game.
[r] - Reset Entity Create Count: Okay, this the one thing in this menu that is not a toggleable window. This resets the data shown in Entity Create Counts, so if you are only interested in tracking entities after a certain point in game (or you want to use that tool with a decent fps) this could come in handy.
[s] - Show Market Status: Toggles a menu in the upper right that displays most of the market variables, such as the state, crash and boom threshold of each resource, when the game will check again for a crash/boom etc. If your mod changes the market settings or you are curious to how this system works, you probably want to use this quite a bit.
Entity Info Menu [c]
Again everything in this menu is a toggle, though some change things in game instead of create windows.
[a] - Show Entity Internals: Creates a window in the lower left that displays the internal entity name, owner and other information depending on the entity type, including HP, Mesh, and most importantly all buffs that are effecting the entity. Extremely useful for any entity mod that adds entities, and vital for ability modding.
[b] - Show Spatial Sphere: Creates a blue sphere around the entities with length, width and height axes expanding from the center point of the mesh. I don't think the game uses this internally but may be useful to those having trouble getting their mesh to appear correctly in game.
[c] - Show Bounding Box: Creates a blue box around the selected entities that seems to show the "hit box" the game uses for determining collisions. Good if you are having fleet formation troubles or ships clipping into one another.
[d] - Show Entity Shield: Makes the shield mesh appear for the selected entities if present.
[e] - Show Far Orbit Sphere: Can only be used on a planet or star entity. Creates a blue sphere around the range of the outer boundary of the gravity well.
[f] - Show Movement State: Creates a small window above the selected moveable entities that gives some information about their movement variables. Not entirely sure what they mean at this point.
[g] - Show Movement Path: No noticeable effect.*
[h] - Show formation connections: When used on a group of entities carrying out movement orders, white lines are generated from all other group entities to the central group entity. Seems to indicate what the group centers on.
[i] - Show fleet connections: Same as show formation connections, except with fleets instead of groups.
[j] - Show Physics - Velocity: Creates a small box above selected moveable entities that displays a variety of physics information including speed, distance to move order target, turn rate, distance at which it will start to slow down etc. Also creates a white line to destination and a yellow lines on the various axes when turning.
[k] - Show Physics - Destination: Generates a red line from all selected moveable entities to its destination, which appears as a red sphere. A must have for pathfinding difficulties.
[l] - Show Physics - Other: Generates a dark blue sphere around the entity's center and possibly many other spheres of different colors that change size as the entity moves. I am unsure of what they represent however.*
[m] - Show orders: Creates a small window over the selected entities that display what order type it is carrying out, the internal mission type, auto attack range etc.
[n] - Show Target Lines: Displays a flashing line from the selected entities to their current target, with a small sphere around the targets center. Warning, may cause seizure.
[o] - Show Pre Auto Attack positions: Generates yellow lines from the selected entities to the position they will return to after carrying out an auto attack order. Also may generate a white sphere with groups of entities but I am unsure of what it represents.
[p] - Show Hangar Points: Generates a small red, cyan and green line along each axis with its center at a valid hangar point for the selected entities. Good to ensure your fighters are spawning from the correct positions.
[q] - Show Weapon States: Toggles a window in the upper left that displays the potential and actual DPS of a selected entity, the number of weapon points that can fire in each direction for each weapon, and the total number of targets the entity can fire on and the maximum DPS for each direction. Vital for adjusting weapons.
[r] - Show Weapon Ranges: Creates a red sphere around targeted entities that represents the weapon range of the weapon the entity uses for close in distance. This is useful for seeing how many targets and entity can hit without moving, but doesn't help with fine tuning ships with different weapon ranges for different weapons.
[s] - Show Asteroids: Creates a red dot at the center of each aesthetic asteroid around a selected planet entity. Resource asteroids do not count.
[t] - Show Dust Clouds: Creates multicolored sphere around the area covered by dust clouds for the selected planet/star entity. Note they may be significantly outside of a gravity well so you may need to rotate your camera or zoom out to seem them.
[u] - Show Collision Bubble: Possibly creates a yellow sphere around selected entities. I am unsure of what it represents since it is substantially larger than the collision boxes for those units, it may be the area at which the game will start checking for collisions.*
[v] - Show Point of Approach: Creates red or green cylinders around the selected units extending to a dot of the same color, usually at the destination. I am unsure of exactly what this represents.
[w] - Show Distances: A very useful function that will display red text in the center of the screen that shows the distance between two selected entities.
[x] - Show Entry Vehicle positions: I believe it has something to do with the entry vehicles that appear when you colonize a planet, but I have yet to test.
[y] - Show Entity ID: Creates a small window above the selected entities with their ID number in it. This is unique to each individual entity in each game, and can be used to see if you are looking at say the exact same fighter or not.
[z] - Show Mesh Points: Generates small red, cyan and green lines along each axis with its center at a valid hardpoint (weapons, exhaust, ability, hangar etc.) for the selected entities. Exactly which way these lines go indicates orientation. Useful for getting your hardpoints in the right place or seeing which hardpoints are available for a given mesh.
[A] - Show ShipBuilder Info: Creates a menu on the upper left that displays which each shipyard for a given planet/star entity and any build orders currently queued, among other things.
[B] - ShowClosestAdjacentPlanetInEmpireThatAreColonizeable: Creates a small window at the nearest planet(s) to your empire that don't have a owner with their name inside.
[C] - ShowClosestAdjacentPlanetInEmpireThatAreAttackable: Creates a small window at the nearest planet(s) to your empire that are owned by hostile factions.
[D] - ShowAllThreatenedFrontierPlanetsInEmpire: Creates a small window at all of your planets that have a phase lane connecting to a planet/star entity you don't control. The closest enemy planets to your empire are also displayed.
Player Info Menu [d]
[a] - Show Mission Cue: Causes a window to appear at the top of the screen when looking at an AI player's diplomacy screen (where missions, treaties etc.are at). A bit misleading, it seems to show information about what actions the AI is thinking of taking, rather than information about missions the AI gives to the player. Most important are the priority the AI gives to things like exploring, colonizing, attacking etc., as well as variables that seem to effect this. Very useful insight into how the AI operates.
[b] - Show Fleet Comparison: Displays a window center screen that shows statistics for the entity's fleet broken down by armor type.
[c] - Show Combat State: Toggles a small window in the upper left that displays a sort of threat indicator for the selected entities. I.e. whether there are units nearby, all clear, losing etc.
[d] - Show Economy: Toggles a small window in the center of the screen that displays the credits/resources of the owner of the selected entities. Also shows some variable called "value", but I have no idea what it represents (its not the value of the selected entities).
[e] - Show Spending: Toggles a small window in the upper right that displays information about the AI's current spending when selecting an entity that belongs to that AI player. Human players always seem to have values of zero.
[f] - Show Build List: Toggles a series of windows that displays what the select entity's owner is building, researching etc. Also displays which kind of AI the player is (researcher, economic, aggressive etc.) Very useful for AI analysis.
[g] - Show Research: Seems to show the number of each lab the selected entity's owner has and how many research subjects are queued up.
[h] - Show Diplomacy AI: I got a crash to desktop selecting this option. It seems many of the Diplomacy related options no longer function.
[i] - Show Pirates: Just seems to toggle a small window at the top of the screen that counts the number of pirate raids still in progress.*
Rendering Menu [e]
[a] - change skybox: A command that allows you to specify which skybox to display. Names seem to be populated from the skybox.manifest file and you can select skyboxes that do not normally appear at a given star.
[b] - Show Greenscreen: Toggles a green screen that replaces the skybox/background stars and removes skybox specific lighting. Great for examing textures without interference from extra lighting or for hard core machinima makers who want to edit in their own background.
[c] - Show All Entities: Similar to "All Entities Detected" in the Change Galaxy Overlays menu. However, there are two main differences. First, while you can see all the entities/planets etc., they do not get counted as explored, which means it won't break your scouts on auto explore, but at the same time you won't be able to give move orders to planets you haven't naturally discovered yet. Second is that this command will reveal hidden entities like planet bonuses and artifacts that would normally require exploration upgrades. Also this naturally means the CPUs won't have access to this information for you cheaters out there.
[d] - Force Mesh Visible - Star: When set to true, prevents stars from being hidden by their icon. In other words, no matter how far you zoom out, you'll still see the star mesh rendered instead of the icon. If combined with Force Mesh Visible - Planet, it will force the game to show the galaxy per scale, and if you add in "Other", all objects in the game will render to scale. Great for amazing screenshots, though on maps with lots of objects you can get performance problems.
[e] - Force Mesh Visible - Planet: When set to true, forces planet meshes to always render and disables icons. See Force Mesh Visible Star for more detailed analysis.
[f] - Force Mesh Visible - Other: Forces any entity that is not a planet or star to always render and disables their icon's. See Force Mesh Visible Star for more detailed analysis.
[g] - Show bottom bar: Toggles the menu bar at the bottom of the HUD.
[h] - Show top bar: Removes the top bar of the HUD. Note this does not include the mini underground window.
[i] - Show Chat Window: Toggles the chat window.
[j] - Show Playback Window: Had no effect in game, may need to be in replay mode.*
[k] - Show Linear Path Effects: Generates target lines during at least weapon effects, showing the path of the object. Unsure if the different line colors represent anything.
[l] - Show Elevator connections: Generates white lines between all planet elevators (cities) of a selected planet entity. This roughly corresponds to the path planet traffic follows on the planet.
Windows Menu [f]
[a] - Show Window Areas: Toggles a bunch of multi-colored squares around each window area (usually buttons or HUD display). A lifesaver if you are tweaking the UI but not useful for much else.
[b] - Show Window Status: Toggles a large window on the left that seems to indicate which window areas are in current use, possibly among other things. Debugging tool if one of your buttons doesn't seem to work.
[c] - Show Window Overlay: Toggles a series of green and purple boxes over most of the playing area. Not exactly sure what exactly it is used for.
[d] - Show Window Tab Order: Produced no visible effect.*
[e] - Show Brushes Under Cursor: Toggles a window that displays the name of any brushes (usually icons) you cursor is over in the upper right, as well as some information such as the brushes' pixel box location etc.
[f] - Show Brushes Rendered: Toggles a large window on the right that displays data about the currently loaded brushes.
[g] - Show Frontend Status: Toggles a small window in the upper left that gives some information about "screens", but I'm unsure of what it means exactly.*
[h] - Force Escape Menu Network Status Action: Command that produced no effect in Single player. I suspect you need to be online or on LAN for this to work.*
[i] - Force Show Load Screen: Command that immediately takes you to a load screen. Press i repeatedly to get back to the game.
Camera Menu [G]
[a] - MinDistanceDisabled: Allows you to zoom in all the way to the center point of a model, regardless of the entity mindistance property.
[b] - Show State: Toggles a window in the upper left that displays detailed camera information, including position, number of rendered meshes and planets, etc.
[c] - Show Stored Position: Did not produce any effect, even after saving a camera position. More testing needed.
[d] - Show Zoom Position: Displays colored spheres that seem to indicate where the camera moves towards when you zoom in.
[e] - Store Position: Command that saves the current camera position. Not really sure how to interact with it though.
[f] - Reset Angles: Command that returns the camera to the default angle.
[g] - Shake Camera: Not sure what this did, someone with more 3D experience will need to figure it out.
* - Means I'm reasonably certain of the effect but wasn't able to do a thorough test.