- Home /
Best Practices
Hello all, before I get way to deep in a current project I wanted to ask around and get a feel for the best practices when it comes to a few topics.
To quickly summarize my project I'm going to be initially using Unity as the Login/Launcher/Menu/Pre and Post use Frontend for a larger project. As time goes on I'll be rebuilding the simulation side of the old software in unity and will be using it entirely.
So here are a few things i'm planning on doing with unity and just wanted to make sure I wasn't shooting myself in the foot here.
NOTE: After writing this I decided it would also be a good idea to preface with the fact that everything will be in C#.
It'll be used pretty much 50/50 windows and mac, we use a REST api for all the simulation related data so I was going to write a DLL for handling these calls. The DLL wouldn't have any threading or utilize events to lower the chances of Unity not playing well. I would then in Unity using scripts just communicate through the DLL's with co routines. The only reason i'm moving this layer to a DLL and not just doing it in unity is almost purely for aesthetic reasons. I have OCD and don't like the how un-clean the script management can get in Unity. Personally I think it's because I have a bad habit of creating to many folders and end up having redundant folders like Interface and Menu type stuff.
To launch the simulation I was going to use the Process interface in .NET inside unity co routines that hid the unity window on a scene with nothing rendering while it was running. Then using the exit code to decide what happened simulation side. The simulation stores it's results in a cache folder in the AppData so it would simply read it after the simulation was safely closed so there wouldn't be any conflicts. My main concern here is mac side we use a WineSkin for the simulation and I have yet to experiment or really research to much into how well the 2 will actually play together. If anyone has experience in this matter any information at all would be greatly appreciated.
This last one may be of my own fault but after spending what I feel is a decent amount of time using/learning/experimenting with NGUI I constantly feel that textures and fonts look to murky for my taste's. My thought was to use the built in Unity UI library's and make a very finely tuned theme/rendering method focusing almost entirely on crispness of text on various resolutions.
Sorry for the long post. As I'm sure you guys are tired of dealing with i'm not looking for someone to do my research for me I'm just hoping you guys have run into these roadblocks before and can shed some much needed advice on the best way to go about tackling these issues.
Also on the chance that I end up making my method of rendering text would that be something I should keep in mind for releasing to the Asset Store? I realize NGUI is pretty much the Go to resource on this stuff and It's probably just me missing some key features or not setting it up write that's causing the murkiness but if not I'm sure you guys have stared longingly at your GUI's wishing they look a lot more polished.
Thanks in advance! Justin.
NGUI and countless other libraries are the result of someone doing "3.", you almost always end up having to write a whole new UI system, because Unity's built-in system is absolute crap. Other than that, I can't see any major "flaws" in the direction you're heading towards, although having DLL's simply for organisation is sort of a waste I$$anonymous$$O.
Look into signed distance fields. Not a solution for every case but always worth checking if it would fit at least some of your needs.
Answer by hawksprite · Apr 14, 2014 at 11:17 PM
Thanks to all who gave some input. After talking to some other's I've also come to the decision that DLL's for organizational purposes would be very dumb.
Also the info with signed distance fields was VERY helpful. I have some better rendering methods kind of under way and I'm pretty happy with a solution that's a mix of properly using NGUI and rendering font's on my own accord when I can.
Also for future reference i'll be breaking these down and asking them in separate answers, I think making one in one big bulk limited how accessible the feedback was.
Your answer
Follow this Question
Related Questions
Why can't I build Web Player in Unity while I have no problems with building standalone versions? 2 Answers
How to Make Things Happen the Right Way 1 Answer
Editor GUI: Rendering errors with DX11 0 Answers
Execute native plugins in edit mode? 1 Answer
Who has the brains Player or object to be picked up 1 Answer