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 /
avatar image
3
Question by Max 2 · Jul 25, 2010 at 11:46 PM · unsafe

Is it impossible to use the code with keyword "unsafe" in C#?

Hi,

Is it impossible to use the code with keyword "unsafe" from C# in Unity3d? I have to use the code with "unsafe". Have anybody idea?

Thanks a lot, Max

Comment
Add comment · Show 3
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 Cyclops · Jul 26, 2010 at 12:51 AM 0
Share

I second @SpikeX's question as to what your goal is - are you trying to use some third-party code in a .dll (which requires Pro)?

avatar image Cyclops · Jul 26, 2010 at 01:27 PM 0
Share

@$$anonymous$$ax, unless you're writing Halo 3, you really don't need to worry about performance yet :) C# (and JS) is compiled before final execution, and runs quite well. Check the performance threads to see.

avatar image Cyclops · Jul 26, 2010 at 05:54 PM 1
Share

@$$anonymous$$ax, also you should checkmark the answer - even if it's not the one you wanted, it is correct. :)

2 Replies

· Add your reply
  • Sort: 
avatar image
8

Answer by bamboo · Nov 19, 2013 at 02:49 PM

Yes. Create a smcs.rsp file (or gmcs.rsp if you are using the full .NET 2.0 profile) in Assets/ with -unsafe in it.

Comment
Add comment · Show 4 · 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 Bunny83 · Nov 19, 2013 at 02:59 PM 0
Share

Are you sure that works? On which platforms have you tested it?

avatar image bamboo · Nov 19, 2013 at 04:49 PM 1
Share

Tested on PC, $$anonymous$$ac & Linux Standalone.

avatar image ibankzero · Feb 19, 2015 at 08:32 AM 0
Share

work in ios and android tested

avatar image vexe · Mar 01, 2015 at 10:30 PM 1
Share

@ibankzero you said tested in ios & android, what did you actually test? did you try to run unsafe code in your game?

avatar image
0

Answer by qJake · Jul 25, 2010 at 11:51 PM

No, you probably can't, since all unsafe code requires the /unsafe compile-time directive, and you can't specify those in Unity.

MSDN:

To compile unsafe code, you must specify the /unsafe compiler option. Unsafe code is not verifiable by the common language runtime.

http://msdn.microsoft.com/en-us/library/chfa2zb8(VS.71).aspx

What purpose would you even have for using unsafe in your game? I'm pretty sure there's another way to do what you're trying to do.

Comment
Add comment · Show 2 · 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 Max 2 · Jul 26, 2010 at 10:08 AM 0
Share

To use pointers. Thus we get a better performance. Example:

{ ... return (double)&value; }

avatar image qJake · Jul 26, 2010 at 06:09 PM 0
Share

I don't think you'll get that much more performance by using pointers, and it's not worth the trouble. Besides, everything in Unity uses floats, which are more efficient (and take up less memory) than doubles. You probably don't want to be using doubles -or- pointers.

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

Method contains unsupported native code 1 Answer

platform dependencies using InteropServices.StructLayout Explicit 1 Answer

About UNSAFE CODE 0 Answers

Does Unity define a Preprocessor Directive for 'UNSAFE'? 0 Answers

Compiler options, unsafe 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