• 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 insub · Nov 22, 2017 at 02:28 AM · type

Does Unity have type system like unreal engine?

Hey guys! I have a question about unity type system.

When I was on my project with unreal engine, I used class type to generate ai actor.

alt text

Here, you can see the Pawn Class type which is kind of class type (not an instance).

And, I want to make an prefab which contains some types.

alt text

I want to make an script, which removes all user given types from gameObject in recursive. But Im not sure about unity serialize system can hold types in prefab.

Is there any way to solve this problem??

Thank you!!

unreal-img.png (25.4 kB)
unity-img.png (17.6 kB)
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
1

Answer by Bunny83 · Nov 22, 2017 at 03:23 AM

You can't really compare those two engines like this. What you have there in Unreal is actually a visual node based scripting tool. This has nothing to do with a type system. Unity doesn't have a visual scripting tool built-in. There are custom solutions which allow things like that. There are many free solutions out there


To answer the question more directly: No, Unity doesn't have a built-in way to serialize just a type. In the actual serialized data of a scene or a prefab each component is actually serialized as "type" reference to a known asset / MonoBehaviour. When the gameobject is deserialized the serialized "types" are actually instantiated as components.


To represent a pure "type reference" in code you need a datatype to hold this information. In .NET / C# we have the System.Type class which is part of the type system and belongs to the reflection system. Each and every type that exists has a corresponding System.Type object which describes the type. However System.Type values can't be serialized by Unity. Since they can't be serialized they can't be edited or displayed in the inspector natively.


Of course you are free to roll your own solution to that problem. Unity provides many editor classes / tools which help you with any kind of extension you want to make. However implementing a generic serialization system for a System.Type references can be quite tricky. If you're not familiar with the Type system of .NET / Mono and reflection it could take a long time to roll a custom solution.

Comment
Add comment · 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

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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

72 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

Related Questions

Servers connection differences/uses 1 Answer

Type in bug in editor 1 Answer

Determine if game object is tyoepf One Prefab 3 Answers

Unity4, resolution-independent typography 1 Answer

Array of Transform[] not correctly typed in Javascript 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