30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # Getting started
 | ||
|  | 
 | ||
|  | To use Unity Mathematics, add `using Unity.Mathematics` to your code: | ||
|  | 
 | ||
|  | ```C# | ||
|  | using static Unity.Mathematics.math; | ||
|  | namespace MyNamespace | ||
|  | { | ||
|  |     using Unity.Mathematics; | ||
|  |      | ||
|  |     ... | ||
|  |     var v1 = float3(1,2,3); | ||
|  |     var v2 = float3(4,5,6); | ||
|  |     v1 = normalize(v1); | ||
|  |     v2 = normalize(v2); | ||
|  |     var v3 = dot(v1, v2); | ||
|  |     ... | ||
|  | } | ||
|  | ``` | ||
|  | 
 | ||
|  | ## Naming convention
 | ||
|  | 
 | ||
|  | In C# `int` and `float` are built-in types. The Burst compiler extends this set of built-in types to also include vectors, matrices, and quaternions. These types are built-in because the Burst compiler already has implementations of these types, and so can use them to generate better code than for custom types. | ||
|  | 
 | ||
|  | To signify that these types are built-in their type names are in all lower case. The operators on these built-in types in [`Unity.Mathematics.math`](xref:Unity.Mathematics.math) are intrinsics and are always in lower case. | ||
|  | 
 | ||
|  | There are no plans to extend the set of intrinsic types beyond the current set of vectors (`typeN`), matrices (`typeNxN`) and quaternions (`quaternion`). | ||
|  | 
 | ||
|  | This convention has the added benefit of making the library highly compatible with shader code and makes porting or sharing code between the two almost frictionless. |