- Home /
Creating a unit/library/module and accessing globally without instantiation
Hi all,
I am in need of creating a "library" that will hold enumeration types and functions that will be used extensively throughout the application, and which I'd like to attach to my gamemaster entity so that I can access those types and functions anytime and from anywhere.
My problem is that, if I create it as monobehavior I need to use "addcomponent" into the gamemaster, and if I create it as a stand alone class, I need to instantiate it with 'new'. Both actions are however senseless, since there's really no constructor to have in such a library.
in c# I would have expected something like using the "using" clause on top, for unityengine, etc., but I haven't found any reference to that. I have found about 'scriptableobject', but seemingly the derived classes need -still- be instantiated (of course being classes, i might add), but then again that's the problem, is there a way to declare types and functions without the need to instantiate a gameobject/component/class which contains them?
I have the suspicion I'm doing something wrong so I'd appreciate any advice.
thanks
Answer by DaveA · Jul 14, 2011 at 05:13 AM
I think if you make it static (and everything in it) you don't need to 'new' it anywhere, but you may need to put it into a Plugins folder (not sure that's required, but I do for organization anyway).
static? hm. let me check on that, thanks.
I think you're right, standing to what I've found on this page: http://forum.unity3d.com/threads/52166-Static-Function It's still not very clear how you 'incorporate' that class into your main program though. Do you declare the class as a variable, or just having the script in your project makes it available?
thanks