Script Inspector 3 - World's Fastest IDE for Unity

Hey @Artaani , I have some good news and some bad news for you - see below:

Yes, it’s very easy… A color scheme editor? :face_with_spiral_eyes: Well, sure… it looks like this:
3496751--278609--ThemeEditor.png
:wink:
Color schemes are defined as C# scripts that look like that one above. So if you’d like to add a new scheme, you’d duplicate one of those scripts, give it a name and edit the color values. Changes are applied on save (and after compile, which gets triggered on save automatically with Si3 default settings).

Yes, kind of - see how the Monokai color theme looks like in Si3
3496751--278608--Monokai.png
You see, the “void” type keyword is colored same as the other type keywords or type names. Did you want “void” only to be in same color as “public”, while “int” or “string” etc. to be same color as other types? Well, that’s doable, but currently, there’s one color for built-in types (including “void”), and one color for each of the five different .Net type types (reference types, value types, interfaces, enums, and delegates). Most of the existing themes use the same color for keywords and built-in types, only Monokai is an exception, but you can change that easy as you like it.

Hmm, here you’ll get disappointed - Si3 doesn’t pick those comments up currently. This is because of the way how Si3 works - it doesn’t parse and analyze all the source files, but only the ones that have been modified and not yet saved and compiled. That’s one of the reasons why it’s incredibly fast… Anyway, I plan to add that feature (just needs to very be well thought out to not affect the speed) and it’s good that you mentioned you’d like to see regular comments as well and not only the comments in XML Docs format - I’ll keep that in mind.

Well, I’ll send you a copy now - go check it out yourself and let me know what you think about it :wink:

3 Likes

Wow! Amazing! Thanks you very much for detailed reply!

2 Likes

Thanks @Fattie for updating your review and for your awesomeness! :sunglasses:

3499615--278913--Fattie.png
But it seems like you’re still using the older version. Take the latest and enjoy even faster Si3 with improvements and some bug fixes :wink:

Excuse me, How I can show/hide code in a region? (I mean #region “bra bra” to #endregion)

Thank you, and so hype developer.

1 Like

Hi @AthrunVLokiz ! You mean code folding? I’m sorry my friend, but that feature hasn’t been finished yet. It was postponed for a later release in favor of the Rename Refactoring, and these both were delayed because of need for urgent fixes and updates for compatibility with the recent changes in Unity… I’ll continue working on code folding once I finish the rename refactoring :-\

2 Likes

Yes. Don’t worry, I will waiting for that is coming. I understand very well that fixing bugs or refactoring is more important than facilitating. But I never had problems with your assets. :smile: (Actually, I would like to reward you)

1 Like

Oh, okay! :slight_smile: Cool! Thanks! The best reward would be a nice review :slight_smile: that always makes my day, sometimes even keeps me high for a week :wink:

Of course, I will review soon. I decided to review any asset when it was really used in my project. However, for this asset is excluded. (This is better than bad or ridiculous review when trouble with any assets, even didn’t really use it. That’s fair for me.)

So sorry for the long message. XD

For my review let time a bit to me, my English still not good enough.
Look forward to my stars. :star::star::star::star::star: for asset And :star::star::star:__​:star::star: for support and friendly__

2 Likes

Hey @dsafew , did you have a chance to check the fix I sent you? Cheers! :slight_smile:

A thank you!

This asset helps me learn Unity, use Unity and progress faster.

One of today’s many examples, and a short story.

I sometimes write code in Rider, then edit it in your fantastic Script Editor 3, using it as the missing editor in Unity. Because Unity is DEARLY missing an inbuilt text editor.

Rider seems to know what I should be doing, most of the time. Which helps, because I mostly don’t know what I’m doing.

Sometimes Rider misses things. But your wonderful little-editor-that-could catches them.

Here, I tried to put a float where a Vector2 is required. Rider missed this, Si3 did not.

Script Editor 3, showing me the error of my ways:

and here’s Rider…
only worried that I’m not using the forceFactored variable:

So, to you: Thank YOU!!!

2 Likes

I am the person who wrote you an email recently about this and other things. Why is setting syntax colors so arduous? Couldn’t you use the built-in Unity/Inspector tools for color picking to provide a better color scheme editor?
Also, what fonts are delivered with SI3? Can I use my own font? I tried a lot of fonts throughout the years and settled on Fira Mono. Do I have to give that one up when I use SI3?

1 Like

To add a font: https://discussions.unity.com/t/512085 page-28#post-2886960

1 Like

If you would like help editing your final text, from a native English speaker who is a professional writer, I would be glad to assist you. I am not connected with @Flipbookee at all, just another satisfied customer like you, so there is no conflict of interest. Please send me a PM if my assistance would be useful. :slight_smile:

I have also seen other assets receive non-English reviews. You could post a review that is in both your native language and in English, one above the other.

3 Likes

Wow! FiraMono looks gorgeous inside Unity, even at smaller font sizes :slight_smile:

This is FiraMono-Medium: (click on it to see it full size)
3504905--279571--FiraMono-Medium.png

Thanks @Bradamante ! This will be included with the next update :sunglasses:

Sorry about editing color themes in code - I guess I didn’t think someone would complain about that. Yeah, a visual editor would make much more sense… However, I’ll have to somehow find time to add that feature. I have a full time job and I can only work on Si3 in my free time. And there are already a bunch of high priority features on my todo list, so adding a visual editor for color themes is a bit less likely to come soon. Until then, you’re free to edit them in the script files. :wink: (and of course, share screenshots and your color theme scripts here)

1 Like

Question: When I change the font or the color schemes by hand, do those changes survive an asset upgrade?

Spiekermann knows what he is doing :slight_smile: Careful with the legal side though. Fira Sans and Mono are a free download, but he designed it for Firefox OS, so I am not sure if one can just use this font freely.

Well I made my own color schemes in the past (for MonoDevelop, BBEdit etc) so I guess I will convert those to SI3 - should I start to use it.

1 Like

Holy crap, if you are maintaining this asset in your CST (Copious Spare Time), I’m…speechless.

Would you consider contributed code that stores the color settings in a Scriptable Object, if I had time to crank it out? Or do you currently store your settings some other way? I did some pretty complicated editor tricks in Magic Markers, so I think I could do a credible job at this, but I don’t want to invest the time if you are averse to the concept. :slight_smile:

1 Like

Added color schemes survive updates, but if you just modify the existing ones those changes will be overwritten. But you can make a copy of an existing scheme and then modify that instead. When @syscrusher finds time to put these in ScriptableObject assets, these scripts will be not needed anymore, but it will be similar - modified existing schemes won’t survive an update and added new schemes will survive.

Added font assets survive, of course, only the line that lists the font file name won’t (which is unnecessary and I should change that to build that array by scanning file names in the Fonts folder).

I had a quick look at the license before downloading the fonts and I think I saw something like “can be embedded in commercial software”. I’ll check more carefully, of course, before doing that…

Ah cool! Can we see them? :slight_smile: Can I use them in Si3 (if they look nice and cool)?

MonoDevelop saves its color schemes in human readable files (not sure what was that, xml or maybe json) from where it’s easier to copy the exact same color value and paste that value in a script. :slight_smile: Either that, or we could ask @syscrusher to write an importer for MonoDevelop color scheme files :wink: (just kidding, I could probably write that faster than you).

Well yeah, but I’m not alone! I also have you guys next to me, helping me to find bugs, sometimes even fix them for me, and (believe it or not) sometimes add a new feature here and there! :sunglasses:

Yay! :slight_smile: Of course, scriptable objects would work perfectly for a single project and they can be copied around to other projects as well. The need for copying them on a single machine is not so cool (they could go in EditorPrefs instead), but the ability to copy those assets to another machine is awesome! And also, it would make it easy to share a color scheme with others. :sunglasses:

Thanks for the offer to give me a hand with this! Great if you can help me, but don’t worry if you are short with time - I can do that as well.

1 Like

I named it “Bluevion” since I based it on MonoDevelop’s “Oblivion” (on macOS: Library/MonoDevelop-Unity-5.0/HighlightingSchemes/BluevionStyle.json). I tried to emulate TextWrangler’s/BBEdit’s blue/white/orange style, so it’s blue and white letters with orange accents.

{
   "name":"Bluevion",
   "version":"1.0",
   "originator":"Xamarin Inc. (http://xamarin.com)",
   "baseScheme":"Oblivion",
   "colors":[
   ],
   "text":[
       {"name": "Plain Text", "fore":"#EEEEEE", "back":"#101A1A" },
       {"name": "Selected Text", "fore":"#333333", "back":"#79CCFF" },
       {"name": "Selected Text(Inactive)", "fore":"#EEEEEC", "back":"#555753" },
       {"name": "Line Numbers", "fore":"#CCCCCC", "back":"#111111" },
       {"name": "Punctuation", "fore":"#FF99FB" },
       {"name": "Punctuation(Brackets)", "fore":"#FF9930" },
       {"name": "Comment(Line)", "fore":"#AAAAAA" },
       {"name": "Comment Tag", "fore":"#888A85", "back":"#FBE746", "weight":"Bold" },
       {"name": "String", "fore":"#FCC7FC" },
       {"name": "Number", "fore":"#00E3ED" },
       {"name": "Preprocessor", "fore":"#719DCF", "style":"Italic" },
       {"name": "Preprocessor(Region Name)", "fore":"#719DCF", "style":"Italic" },
       {"name": "Xml Text", "fore":"#D0D5CB" },
       {"name": "Tooltip Text", "fore":"#D0D5CB", "back":"#555753" },
       {"name": "Keyword(Access)", "fore":"#A3E8FF", "weight":"Bold" },
       {"name": "Keyword(Type)", "fore":"#00F3FF" },
       {"name": "Keyword(Operator)", "fore":"#00F3FF", "weight":"Bold" },
       {"name": "Keyword(Selection)", "fore":"#A3EAFF", "weight":"Bold" },
       {"name": "Keyword(Iteration)", "fore":"#00C3FF", "weight":"Bold" },
       {"name": "Keyword(Jump)", "fore":"#B3ECFF", "weight":"Bold" },
       {"name": "Keyword(Context)", "fore":"#9AE7FF", "weight":"Bold" },
       {"name": "Keyword(Exception)", "fore":"#00C3FF", "weight":"Bold" },
       {"name": "Keyword(Modifiers)", "fore":"#00BBFF", "weight":"Bold" },
       {"name": "Keyword(Constants)", "fore":"#FF9930" },
       {"name": "Keyword(Namespace)", "fore":"#99E9FF", "weight":"Bold" },
       {"name": "Keyword(Property)", "fore":"#B2EEFF", "weight":"Bold" },
       {"name": "Keyword(Declaration)", "fore":"#C4FAF8", "weight":"Bold" },
       {"name": "Keyword(Parameter)", "fore":"#B2EEFF", "weight":"Bold" },
       {"name": "Keyword(Operator Declaration)", "fore":"#A3ECFF", "weight":"Bold" },
       {"name": "Keyword(Other)", "fore":"#AFEEFF", "weight":"Bold" },
       {"name": "User Types", "fore":"#93CCCC" },
       {"name": "User Types(Enums)", "fore":"#93CCCC" },
       {"name": "User Types(Interfaces)", "fore":"#93CCCC" },
       {"name": "User Types(Delegates)", "fore":"#93CCCC" },
       {"name": "User Types(Value types)", "fore":"#93CCCC" },
       {"name": "User Types(Type parameters)", "fore":"#93CCCC" },
       {"name": "User Field Usage", "fore":"#DDEEFF" },
       {"name": "User Field Declaration", "fore":"#FFFFFF" },
       {"name": "User Property Usage", "fore":"#99F6FF" },
       {"name": "User Property Declaration", "fore":"#FFFFFF" },
       {"name": "User Event Usage", "fore":"#FBC7FB" },
       {"name": "User Event Declaration", "fore":"#FBC7FB" },
       {"name": "User Method Usage", "fore":"#FFFFFF" },
       {"name": "User Method Declaration", "fore":"#FFFFFF" },
       {"name": "User Parameter Usage", "fore":"#FFFFFF" },
       {"name": "User Parameter Declaration", "fore":"#FBC7FB" },
       {"name": "User Variable Usage", "fore":"#FFFFFF" },
       {"name": "User Variable Declaration", "fore":"#FBC7FB" },
       {"name": "Syntax Error", "fore":"#EF2828" },
       {"name": "String Format Items", "fore":"#CC66CB" },
       {"name": "Diff Line(Changed)", "fore":"#AD7FA7" },
       {"name": "Diff Header", "fore":"#89E230", "weight":"Bold" },
       {"name": "Diff Header(Old)", "fore":"#89E230", "weight":"Bold" },
       {"name": "Diff Location", "fore":"#89E230", "weight":"Bold" },
       {"name": "Html Attribute Name", "fore":"#D0D5CB" },
       {"name": "Razor Code", "fore":"#D0D5CB", "back":"#202424" },
       {"name": "Css Keyword", "fore":"#AD7FA7", "weight":"Bold" }
   ]
}
1 Like

Good morning, @Flipbookee . I have a couple of points for discussion I wanted to raise for your consideration.

  • I’ve been experimenting casually with the Scriptable Render Pipeline in Unity 2018.1. As you know, Unity has added the Shader Graph extension to edit shader files. To keep SI3 from conflicting with Shader Graph, I changed my SI3 preferences to have it not be the default for shader files. In some cases, I’ve found that this change causes SI3 to not open C# files, and VisualStudio comes up instead on a double-click. I can’t reliably replicate this yet but wanted to see if you have any insight.
  • Last night, Unity ate itself because I deleted some C# scripts that were part of an art asset. There was an error indicating an index out of range for an editor window (which was odd, because the C# code I deleted was just animation management for the art asset, with no custom editor extensions involved). I couldn’t get SI3 to come back, even after restarting Unity and even though there were no C# compiler errors in the console log. I finally solved the problem by deleting and re-importing SI3, something that I’ve had to do before.

I don’t think #2 indicates anything wrong with SI3 itself, but rather is a symptom of the way Unity connects to editor extensions, that makes it unstable when Unity’s window manager gets confused. I mention it here because I’m wondering if assembly definition for SI3 in the newer Unity versions could help prevent this. Any thoughts?

1 Like