Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
This post has been wikified, any user with enough reputation can edit it.
avatar image
0
Question by Polak149 · Feb 25, 2015 at 10:45 AM · javascriptasset storestaticaccess

Compile priority - accessing static variables

I'm writing some editor extension to Asset Store, that will generate you pretty lava environment. This lava environment is scripted, so it will interact with objects. One of the scripts (normal, no-editor script written in javascript), called LavaTrigger.js have some static variables, so they can be used by other scripts:

 static var PlayerInLava : boolean;    // info if player is in lava
 static var lavaDeath : boolean;       // info if player died in lava
 static var lavaHeight : float;        // lava mesh height at player position
 static var lavaTransform : Transform; // used to determine lava transform, for other scripts

But! Unity Assets require to put content in the main Assets folder. Referencing to this link http://docs.unity3d.com/Documentation/Manual/ScriptCompileOrderFolders.html scripts in Asset folder are compiled in phase 4. Scripts in Standard Assets are compiled in phase 1. Loot of users are creating their own scripts in Standard Assets, so any try to use those static variables (by script in Standard Assets) from script in Assets folder:

 if (LavaTrigger.lavaDeath)
 {
     //do something
 }

... will end with failure:

 BCE0005: Unknown identifier: 'LavaTrigger'

So, my question is: Do i have to tell every user, that he have to move my LavaTrigger.js to Standard Assets, or there is nice solution to my problem?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by HarshadK · Feb 25, 2015 at 10:48 AM

You can put your LavaTrigger.js file in 'Plugins' folder.

As per Special Folders and Script Compilation Order

Phase 1: Runtime scripts in folders called Standard Assets, Pro Standard Assets and Plugins.

So Plugins will also be executed in phase 1 along with Standard Assets folder.

But you can tell users to set their script execution order if they still come across this error.

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Polak149 · Feb 25, 2015 at 02:54 PM 0
Share

Problem is i would have to create Plugins folder directly in Assets folder:

 Assets/Plugins/LavaTrigger.js 

Path like...

 Assets/some folder/Plugins/LavaTrigger.js

...is not working anymore. I was hoping for some magic piece of code, like @CompileInFirstPass :), but i don't think something like that exist.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

2 People are following this question.

avatar image avatar image

Related Questions

Can't access a javascript static variable from c# script 1 Answer

Is there any way to edit variables inside other scripts without declaring them as static? 1 Answer

Unable to connect to Update Server 1 Answer

how do I create a static Instance in javascript 2 Answers

Using static constants from an outside script 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges