Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 /
avatar image
0
Question by Khena_B · Apr 11, 2017 at 01:52 PM · arrayscript.list

List of scripts?

Hey,

Instead of having multiple scripts as components for an object, is it possible to have a master script component that can hold a list of other scripts, or an array of scripts?

Comment
Add comment · Show 4
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 Khena_B · Apr 11, 2017 at 02:01 PM 0
Share

Something like that?

alt text

master-script.jpg (75.7 kB)
avatar image tanoshimi · Apr 11, 2017 at 02:22 PM 0
Share

Yes, certainly. But it's unclear what value you're expecting that to add?

avatar image Khena_B tanoshimi · Apr 11, 2017 at 02:26 PM 0
Share

I just want to sort my scripts, so that ins$$anonymous$$d of having let's say 10 ability scripts on my player i'd have an "abilities" script with slots to add all my ability scripts.

I expect the same result, it's just for sorting purpose and easy enabling/disabling by ID

avatar image tanoshimi Khena_B · Apr 11, 2017 at 03:00 PM 0
Share

I'm still not sure I get it.... component scripts attached to a gameobject can already be sorted and enabled/disabled. Not sure how creating another component with a list of those components helps.

2 Replies

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by estevan95 · Apr 11, 2017 at 02:29 PM

Yeah. To do so, Double Jump and Dash should inherit from Ability. With every script inheriting from Ability, you can create a list of Abilities.

class Ability : MonoBehaviour

class Dash : Ability

Comment
Add comment · Show 3 · 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 Khena_B · Apr 11, 2017 at 02:46 PM 0
Share

It seems to work but i can only drag scripts that are already components into the array, not scripts from my project folders? Therefore it's useless?

avatar image tanoshimi Khena_B · Apr 11, 2017 at 02:58 PM 0
Share

That's correct - component references need to be an instance of a class, not a class itself.

avatar image Khena_B tanoshimi · Apr 11, 2017 at 03:00 PM 0
Share

Thanks, i guess i'll try to find another way to manage my abilities

avatar image
1

Answer by FortisVenaliter · Apr 11, 2017 at 05:00 PM

You could store a string array of Class names. It wouldn't give you the drag and drop functionality, or the strict type validation, but it would allow you to add components on demand. Define the array:

 public String[] AbilityTypeNames;

You could then do something like this at runtime:

 Type abilityType = Type.GetType(AbilityTypeNames[i]);
 Ability newAbility = (Ability)gameObject.AddComponent(abilityType);

That would allow you to define the ability classes without instances and spawn the instances as needed at runtime.

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 Khena_B · Apr 11, 2017 at 05:05 PM 0
Share

Thanks, i'll give this a try, i just wish there was a proper ability system tutorial, like how do every FPS games handle unlocking new weapons and having the player choose from the unlocked weapons using the 1-9 keys

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

77 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

how can i check if there is a blanc spot in my list 3 Answers

A node in a childnode? 1 Answer

Storing instances of a script in a list. 0 Answers

Looping through Button Array and checking for OnClick 0 Answers

Sorting a list by distance to an object? 1 Answer


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